<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF143%3AKDE</id>
		<title>LXF143:KDE - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF143%3AKDE"/>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;action=history"/>
		<updated>2026-05-14T03:44:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.11.1</generator>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14285&amp;oldid=prev</id>
		<title>Crazy Rebel: /* ''KDevelop'' 4.2 */</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14285&amp;oldid=prev"/>
				<updated>2012-08-16T09:02:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;''KDevelop'' 4.2&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 09:02, 16 августа 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 88:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 88:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Заголовок=Скорая помощь|Содержание=''KDevelop'' бу­дет ра­бо­тать со все­ми по­след­ни­ми вер­сия­ми KDE API ме­ж­ду 4.2 и 4.6. Он так­же бу­дет ра­бо­тать с шаб­ло­на­ми ''PHP'', соз­дан­ны­ми ''KappTemplate''.|Ширина=200px}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Заголовок=Скорая помощь|Содержание=''KDevelop'' бу­дет ра­бо­тать со все­ми по­след­ни­ми вер­сия­ми KDE API ме­ж­ду 4.2 и 4.6. Он так­же бу­дет ра­бо­тать с шаб­ло­на­ми ''PHP'', соз­дан­ны­ми ''KappTemplate''.|Ширина=200px}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;L&lt;/del&gt;[[Изображение:&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;XF143_86_2&lt;/del&gt;.jpg|''KDevelop'' 4.2]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;LXF143_86_2&lt;/ins&gt;.jpg|''KDevelop'' 4.2]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14284&amp;oldid=prev</id>
		<title>Crazy Rebel: /* Ранние сбор­ки */</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14284&amp;oldid=prev"/>
				<updated>2012-08-16T09:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Ранние сбор­ки&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 09:02, 16 августа 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;По­сле ком­пи­ля­ции ''KDevelop'' еще не зна­ет, где най­ти ис­пол­няе­мый файл. На­жми­те '''F9''' или на­жми­те на кноп­ку '''Execute''' (Вы­полнить) и вы­бе­ри­те свой про­ект из спи­ска – обыч­но это вто­рой про­ект из двух пред­ло­жен­ных. Щелкните на плю­си­ке, что­бы из­менить на­строй­ки про­ек­та, и вы­бе­ри­те дво­ич­ный файл из вы­па­даю­ще­го спи­ска '''Project Target''' [Цель про­ек­та]. Ес­ли он не по­яв­ля­ет­ся, вве­ди­те его рас­по­ло­жение вруч­ную в ви­де appname '''/src/appname'''. На­жми­те '''Apply''' [Применить], и файл дол­жен за­пустить­ся. Ес­ли вам по­на­до­бит­ся вер­нуть­ся в это ок­но, восполь­зуй­тесь пунк­том '''Configure Launch Configuration''' [На­строй­ка кон­фи­гу­ра­ции за­пуска] ме­ню '''Run''' [За­пуск]. На эк­ране поя­вит­ся ок­но при­ло­жения, а на панели вы­во­да ''KDevelop'' бу­дут ото­бра­жать­ся все ошиб­ки вы­полнения. Ес­ли все ра­бо­та­ет и вы до­воль­ны, за­крой­те при­ло­жение.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;По­сле ком­пи­ля­ции ''KDevelop'' еще не зна­ет, где най­ти ис­пол­няе­мый файл. На­жми­те '''F9''' или на­жми­те на кноп­ку '''Execute''' (Вы­полнить) и вы­бе­ри­те свой про­ект из спи­ска – обыч­но это вто­рой про­ект из двух пред­ло­жен­ных. Щелкните на плю­си­ке, что­бы из­менить на­строй­ки про­ек­та, и вы­бе­ри­те дво­ич­ный файл из вы­па­даю­ще­го спи­ска '''Project Target''' [Цель про­ек­та]. Ес­ли он не по­яв­ля­ет­ся, вве­ди­те его рас­по­ло­жение вруч­ную в ви­де appname '''/src/appname'''. На­жми­те '''Apply''' [Применить], и файл дол­жен за­пустить­ся. Ес­ли вам по­на­до­бит­ся вер­нуть­ся в это ок­но, восполь­зуй­тесь пунк­том '''Configure Launch Configuration''' [На­строй­ка кон­фи­гу­ра­ции за­пуска] ме­ню '''Run''' [За­пуск]. На эк­ране поя­вит­ся ок­но при­ло­жения, а на панели вы­во­да ''KDevelop'' бу­дут ото­бра­жать­ся все ошиб­ки вы­полнения. Ес­ли все ра­бо­та­ет и вы до­воль­ны, за­крой­те при­ло­жение.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Содержание=[[Изображение:LXF143_86_1.jpg|&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;300p&lt;/del&gt;]]&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;x &lt;/del&gt;Пе­ред за­пус­ком про­ек­та, по­стро­ен­но­го ''KDevelop'', со­об­щи­те сре­де раз­ра­бот­ки, где на­хо­дит­ся ис­пол­няе­мый файл.|Ширина=300px}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Содержание=[[Изображение:LXF143_86_1.jpg|&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;300px&lt;/ins&gt;]] Пе­ред за­пус­ком про­ек­та, по­стро­ен­но­го ''KDevelop'', со­об­щи­те сре­де раз­ра­бот­ки, где на­хо­дит­ся ис­пол­няе­мый файл.|Ширина=300px}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь по­ра до­ба­вить немно­го сво­его функ­цио­на­ла. Са­мое боль­шое раз­ли­чие ме­ж­ду ''KDevelop'' и ''Qt Creator'' в том, что в пер­вом нет встро­ен­но­го ди­зайнера ин­тер­фей­сов. Это бы­ло бы про­бле­мой, так как в лю­бой ува­жаю­щей се­бя сре­де раз­ра­бот­ки ныне обя­зан быть ре­дак­тор ин­тер­фей­сов в том или ином ви­де. К сча­стью, на по­мощь при­хо­дит дру­гое сто­роннее при­ло­жение. На сей раз это поч­тен­ный ''Qt Designer'', са­мо­стоя­тель­ная вер­сия то­го же ди­зайнера, что в ''Qt Creator''. Он уже дол­жен быть уста­нов­лен как часть па­ке­тов раз­ра­бот­чи­ка ''Qt'', ис­поль­зуе­мых в KDE 4, и его мож­но от­крыть, за­пустив ис­пол­няе­мый файл ''designer-qt4''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь по­ра до­ба­вить немно­го сво­его функ­цио­на­ла. Са­мое боль­шое раз­ли­чие ме­ж­ду ''KDevelop'' и ''Qt Creator'' в том, что в пер­вом нет встро­ен­но­го ди­зайнера ин­тер­фей­сов. Это бы­ло бы про­бле­мой, так как в лю­бой ува­жаю­щей се­бя сре­де раз­ра­бот­ки ныне обя­зан быть ре­дак­тор ин­тер­фей­сов в том или ином ви­де. К сча­стью, на по­мощь при­хо­дит дру­гое сто­роннее при­ло­жение. На сей раз это поч­тен­ный ''Qt Designer'', са­мо­стоя­тель­ная вер­сия то­го же ди­зайнера, что в ''Qt Creator''. Он уже дол­жен быть уста­нов­лен как часть па­ке­тов раз­ра­бот­чи­ка ''Qt'', ис­поль­зуе­мых в KDE 4, и его мож­но от­крыть, за­пустив ис­пол­няе­мый файл ''designer-qt4''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14279&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF143:KDE&amp;diff=14279&amp;oldid=prev"/>
				<updated>2012-08-16T08:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: '''Hardcore Linux''' Проверьте себя на крутом проекте для продвинутых пользователей [[Категория:Учебники]]&lt;br /&gt;
&lt;br /&gt;
==''KDevelop'': Сре­да для разработки==&lt;br /&gt;
&lt;br /&gt;
: '''Грэм Мор­ри­сон''' объ­е­ди­ня­ет два са­мых го­ря­чих ре­ли­за из ми­ра KDE с ''Qt'', что­бы соз­дать сияю­щий но­виз­ной тек­сто­вый ре­дак­тор.&lt;br /&gt;
&lt;br /&gt;
''KDevelop'' – сре­да раз­ра­бот­ки при­ло­жений KDE. Она сто­ит на двух стол­пах KDE – ''C++'' и API ''Qt'', но в ней мож­но пи­сать про­грам­мы и на дру­гих язы­ках, вклю­чая ''PHP''. Впро­чем, вас мо­жет уди­вить, что мы сно­ва к ней вер­ну­лись – ведь в [[LXF134:Review3|LXF134]] мы до­воль­но рез­ко вы­ска­за­лись о толь­ко что вы­шед­шем пер­вом ре­ли­зе ''KDevelop'' 4.0, и осно­вания у нас на это бы­ли. Так что же из­менилось?&lt;br /&gt;
&lt;br /&gt;
Ну, на тот мо­мент ''Qt Creator'', но­вая «род­ная» сре­да раз­ра­бот­ки для про­грам­ми­стов ''Qt'', остав­ля­ла ''KDevelop'' да­ле­ко по­за­ди. Имея без­оши­боч­ную кор­рек­цию син­так­си­са, встро­ен­ную до­ку­мен­та­цию и встро­ен­ный же ди­зайнер поль­зо­ва­тель­ских ин­тер­фей­сов, ''Creator'' так­же пре­достав­ля­ла луч­ший спо­соб по­лу­чить и по­следние ре­ли­зы ''Qt'', и сре­ду раз­ра­бот­ки кросс­плат­фор­мен­ных про­ек­тов. Да и пре­достав­ля­ет. Од­на­ко за два по­следних ре­ли­за ''KDevelop'' вы­росла в пол­но­цен­ную аль­тер­на­ти­ву, осо­бен­но для раз­ра­бот­чи­ков KDE, и ес­ли вы еще не слы­ша­ли о но­вых воз­мож­но­стях и улуч­шениях ста­биль­но­сти в вер­сии 4.2, са­мое вре­мя с ни-ми по­зна­ко­мить­ся.&lt;br /&gt;
&lt;br /&gt;
===Пре­иму­ще­ст­ва ''KDevelop'' 4.2===&lt;br /&gt;
&lt;br /&gt;
С ''KDevelop'' 4.2 мож­но соз­да­вать при­ло­жения в сре­де раз­ра­бот­ки, ко­то­рая понима­ет до­бав­ки KDE к API ''Qt''. Здесь так­же есть удоб­ная он­лайн-справ­ка, под­свет­ка син­так­си­са и воз­мож­ность управ­ления сис­те­мой сбор­ки ''cmake. KDevelop'' 4.2 и KDE 4.6 вы­шли од­но­вре­мен­но, а зна­чит, ''KDevelop'' – един­ст­вен­ная ныне сре­да раз­ра­бот­ки, вклю­чаю­щая все воз­мож­но­сти KDE 4.6 по умол­чанию. Но на­чи­нать с ней ра­бо­ту непро­сто, осо­бен­но ес­ли вы из­ба­ло­ва­ны под­держ­кой для но­вич­ков от ''Qt Creator''. Мы по­ка­жем, что, одо­лев несколь­ко «ле­жа­чих по­ли­цей­ских», с соб­ст­вен­ной сре­дой раз­ра­бот­ки KDE мож­но ра­бо­тать так же про­дук­тив­но, как со сре­дой от Nokia. Разница – в под­хо­дах к но­во­му про­ек­ту.&lt;br /&gt;
&lt;br /&gt;
===Сис­тем­ные тре­бо­вания===&lt;br /&gt;
&lt;br /&gt;
Что­бы ком­пи­ли­ро­вать про­грам­мы в ''KDevelop'', нуж­на сре­да раз­ра­бот­ки. Так­же вам по­на­до­бят­ся биб­лио­те­ки раз­ра­бот­чи­ка KDE (па­ке­ты с рас­ши­рением DEV) и все их за­ви­си­мо­сти. Чет­вер­тое по­ко­ление KDE тре­бу­ет до­полнить ста­рый ин­ст­ру­мен­та­рий ''make'' ути­ли­той ''cmake'', по­это­му уста­но­ви­те и ее. Для про­вер­ки, что ''cmake'' уста­нов­ле­на и ра­бо­та­ет, на­бе­ри­те ''cmake'' в команд­ной стро­ке, и то же са­мое сто­ит по­про­бо­вать сде­лать с па­ке­том ис­ход­ных ко­дов KDE 4, что­бы убе­дить­ся, что все уста­нов­ле­но и го­то­во к сбор­ке. За­гру­зи­те, на­при­мер, по­след­нюю вер­сию ''Amarok'' и ском­пи­ли­руй­те ее с по­мо­щью ''cmake''.&lt;br /&gt;
&lt;br /&gt;
По­кон­чив с на­строй­кой сис­те­мы, за­пускай­те ''KDevelop''. На фоне ''Qt Creator'' он вы­гля­дит го­лым: есть толь­ко про­стой мас­тер за­пуска и, в от­ли­чие от ''Creator'', вспо­мо­га­тель­ных средств для на­ча­ла но­во­го про­ек­та ма­ло. Для раз­ра­бот­чи­ков KDE чис­ло шаб­ло­нов про­ек­тов, вклю­чен­ных в ''KDevelop'', рав­но ну­лю. Здесь да­же нель­зя на­ско­ро соз­дать стар­то­вый про­ект в ка­че­­ст­ве от­прав­ной точ­ки.&lt;br /&gt;
&lt;br /&gt;
Од­на­ко не все по­те­ря­но: вам не при­дет­ся на­би­рать ка­ж­дую строч­ку про­стой про­грам­мы KDE вруч­ную, что­бы по­лу­чить ба­зо­вый шаб­лон и за­ста­вить его ра­бо­тать. Эту ра­бо­ту за вас сде­ла­ет од­на из ути­лит KDE, и бла­го­да­ря вол­шеб­ст­ву ''cmake'' вы смо­же­те им­пор­ти­ро­вать на­чаль­ную струк­ту­ру про­ек­та в ''KDevelop'' с той же лег­ко­стью, как ес­ли бы про­ект был соз­дан внут­ри са­мой сре­ды. Итак, соз­дай­те се­бе ко­пию ''KAppTemplate'', мас­те­ра за­пуска, ко­то­ро­го  нет в ''KDevelop''. Луч­ше восполь­зуй­тесь вер­си­ей из ре­по­зи­то­рия па­ке­тов сво­его ди­ст­ри­бу­ти­ва, а не той, что в Ин­тернете, по­то­му что до­маш­ная страница про­ек­та не об­нов­ля­лась несколь­ко лет.&lt;br /&gt;
&lt;br /&gt;
Ра­зо­брать­ся в са­мом при­ло­жении очень лег­ко. Са­мый важ­ный шаг – вто­рой: тут вы за­дае­те тип соз­да­вае­мо­го про­ек­та. В на­шем ре­ли­зе пе­ре­чис­ле­ны 10 раз­лич­ных ти­пов про­ек­тов KDE, от мо­ду­лей рас­ши­рения ''Konqueror'' до ап­пле­тов ''Plasma''. Тот, что нам ин­те­ре­сен – '''KDE 4 GUI Application''', ба­зо­вый шаб­лон для боль­шин­ст­ва стан­дарт­ных при­ло­жений KDE. За­дай­те имя про­ек­та и за­тем, на треть­ем ша­ге, соз­дай­те фай­лы и со­храните их в но­вый ка­та­лог.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF143_85_1.jpg|300px]] ''KappTemplate'' сгенерирует вам львиную долю кода стартового проекта. Сме­ло пи­ши­те раз­ра­бот­чи­кам бла­го­дар­ст­вен­ные пись­ма…|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Те­перь им­пор­ти­руй­те этот про­ект в сре­ду ''KDevelop''. За­крой­те мас­тер за­пуска ''KDevelop'', ес­ли он поя­вил­ся, и вы­бе­ри­те '''Open/Import Project''' [От­крыть/Им­пор­ти­ро­вать Про­ект] в ме­ню '''Project''' [Проект]. С по­мо­щью кноп­ки вы­бо­ра фай­лов най­ди­те ка­та­лог све­же­соз­дан­но­го про­ек­та и вы­бе­ри­те файл '''CMakeLists.txt''', ко­то­рый сгенери­ро­вал­ся в корневом ка­та­ло­ге про­ек­та root. Ес­ли вы не ви­ди­те его, убе­ди­тесь, что тек­сто­вые фай­лы есть в фильт­ре, и на­жми­те на кноп­ку '''Next''' [Далее]. Этот файл со­дер­жит все за­ви­си­мо­сти про­ек­та, и ''KDevelop'' су­ме­ет пре­об­ра­зо­вать этот про­ект в свой соб­ст­вен­ный фор­мат. На по­следнем эта­пе, им­пор­те, убе­ди­тесь, что в ка­че­­ст­ве сис­те­мы сбор­ки ['''Build System'''] вы­бран '''CMake Pro­ject Manager''', и на­жми­те на кноп­ку '''Finish''' [Конец]. Поя­вит­ся дру­гое ок­но, где нуж­но бу­дет ука­зать рас­по­ло­жение фай­лов ''cmake'', но ес­ли они уже на­строе­ны, зна­чения этих по­лей мож­но не ме­нять.&lt;br /&gt;
&lt;br /&gt;
===Ранние сбор­ки===&lt;br /&gt;
&lt;br /&gt;
Внешний вид ''KDevelop'' со вре­мен треть­ей вер­сии серь­ез­но пе­ре­де­лан, и хо­тя эк­ран, как пра­ви­ло, за­полнен до­воль­но плот­но, в основ­ных об­лас­тях ок­на ра­зо­брать­ся лег­ко, ес­ли вам слу­ча­лось иметь де­ло с дру­гой сре­дой раз­ра­бот­ки. На­при­мер, сле­ва на­хо­дят­ся фай­лы про­ек­та и клас­сы, со­дер­жа­щие­ся в этих фай­лах. Так­же мож­но от­крыть сра­зу несколь­ко про­ек­тов, по­это­му пе­ред ком­пи­ля­ци­ей сто­ит убе­дить­ся, что вы­бран вер­ный про­ект и его рас­по­ло­жение ука­за­но пра­виль­но. Спра­ва вы най­де­те окош­ко для про­смот­ра шаб­ло­нов ко­да, точнее, неболь­ших час­то ис­поль­зуе­мых фраг­мен­тов ко­да. На­при­мер, мож­но занести ту­да опе­ра­тор ‘'''for'''’ или ‘'''if'''’ и встав­лять их в те­ку­щую по­зи­цию кур­со­ра одним на­жа­ти­ем кноп­ки, а не на­би­рать эти кон­ст­рук­ции вруч­ную с рис­ком до­пустить ошиб­ки. Шаб­ло­ны мож­но да­же от­сор­ти­ро­вать по ка­те­го­рии: на­при­мер, по язы­ку про­грам­ми­ро­вания. Этот ком­понент взят из мо­ду­ля рас­ши­рения ''Kate'', пре­достав­ляю­ще­го те же воз­мож­но­сти.&lt;br /&gt;
&lt;br /&gt;
Пре­ж­де чем дви­гать­ся даль­ше, ском­пи­ли­руй­те но­вый про­ект, что­бы убе­дить­ся, что все ра­бо­та­ет. Для это­го на­жми­те '''F8''' или кноп­ку '''Build Selection''' [Ском­пи­ли­ро­вать вы­бран­ный про­ект] на панели ин­ст­ру­мен­тов, пред­ва­ри­тель­но убе­див­шись, что в де­ре­ве про­ек­тов ['''Projects'''] выбран корневой ка­та­лог про­ек­та. Когда начнет­ся про­цесс ком­пи­ля­ции, вы уви­ди­те, что панель вы­во­да внизу из­менилась, и те­перь на ней вы­во­дит­ся ре­зуль­тат ра­бо­ты ко­ман­ды ''cmake''. Там ото­бра­жа­ют­ся об­на­ру­жен­ные ошиб­ки, и ес­ли они вы­зва­ны непра­виль­ным ко­дом, мож­но щелк­нуть по ним и попаcть в со­от­вет­ст­вую­щую стро­ку фай­ла ис­ход­но­го ко­да. Это стан­дарт­ная прак­ти­ка в сре­дах раз­ра­бот­ки, по­доб­ных ''KDevelop'', но так как ника­ко­го ко­да мы еще не на­пи­са­ли, про­блем быть не долж­но.&lt;br /&gt;
&lt;br /&gt;
По­сле ком­пи­ля­ции ''KDevelop'' еще не зна­ет, где най­ти ис­пол­няе­мый файл. На­жми­те '''F9''' или на­жми­те на кноп­ку '''Execute''' (Вы­полнить) и вы­бе­ри­те свой про­ект из спи­ска – обыч­но это вто­рой про­ект из двух пред­ло­жен­ных. Щелкните на плю­си­ке, что­бы из­менить на­строй­ки про­ек­та, и вы­бе­ри­те дво­ич­ный файл из вы­па­даю­ще­го спи­ска '''Project Target''' [Цель про­ек­та]. Ес­ли он не по­яв­ля­ет­ся, вве­ди­те его рас­по­ло­жение вруч­ную в ви­де appname '''/src/appname'''. На­жми­те '''Apply''' [Применить], и файл дол­жен за­пустить­ся. Ес­ли вам по­на­до­бит­ся вер­нуть­ся в это ок­но, восполь­зуй­тесь пунк­том '''Configure Launch Configuration''' [На­строй­ка кон­фи­гу­ра­ции за­пуска] ме­ню '''Run''' [За­пуск]. На эк­ране поя­вит­ся ок­но при­ло­жения, а на панели вы­во­да ''KDevelop'' бу­дут ото­бра­жать­ся все ошиб­ки вы­полнения. Ес­ли все ра­бо­та­ет и вы до­воль­ны, за­крой­те при­ло­жение.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF143_86_1.jpg|300p]]x Пе­ред за­пус­ком про­ек­та, по­стро­ен­но­го ''KDevelop'', со­об­щи­те сре­де раз­ра­бот­ки, где на­хо­дит­ся ис­пол­няе­мый файл.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Те­перь по­ра до­ба­вить немно­го сво­его функ­цио­на­ла. Са­мое боль­шое раз­ли­чие ме­ж­ду ''KDevelop'' и ''Qt Creator'' в том, что в пер­вом нет встро­ен­но­го ди­зайнера ин­тер­фей­сов. Это бы­ло бы про­бле­мой, так как в лю­бой ува­жаю­щей се­бя сре­де раз­ра­бот­ки ныне обя­зан быть ре­дак­тор ин­тер­фей­сов в том или ином ви­де. К сча­стью, на по­мощь при­хо­дит дру­гое сто­роннее при­ло­жение. На сей раз это поч­тен­ный ''Qt Designer'', са­мо­стоя­тель­ная вер­сия то­го же ди­зайнера, что в ''Qt Creator''. Он уже дол­жен быть уста­нов­лен как часть па­ке­тов раз­ра­бот­чи­ка ''Qt'', ис­поль­зуе­мых в KDE 4, и его мож­но от­крыть, за­пустив ис­пол­няе­мый файл ''designer-qt4''.&lt;br /&gt;
&lt;br /&gt;
По су­ти, ''Qt Designer'' – это тот же са­мый ком­понент ''Qt Creator'', но в этой вер­сии вы долж­ны най­ти не толь­ко спи­сок вид­же­тов ''Qt'', но и вид­же­ты KDE. Они пе­ре­чис­ле­ны на боль­шой панели сле­ва, и с ее по­мо­щью вид­же­ты мож­но до­ба­вить в ок­на сво­ей про­грам­мы. У на­ше­го при­ло­жения-шаб­ло­на уже есть ин­тер­фейс, и, к сча­стью, он не же­ст­ко за­шит в ис­ход­ных фай­лах, а ис­поль­зу­ет фор­мат фай­ла ''Qt Designer'' – UI. Что­бы за­гру­зить этот файл, про­пусти­те мас­тер соз­дания но­вой фор­мы, по­яв­ляю­щий­ся при пер­вом за­пуске при­ло­жения, и че­рез ме­ню '''Open''' [От­крыть] пе­рей­ди­те в ка­та­лог с ис­ход­ным ко­дом про­ек­та '''src'''. В нем на­хо­дят­ся две фор­мы UI – од­на для ок­на при­ло­жения и од­на для диа­ло­га на­стро­ек ['''Preferences''']. Нам ин­те­ре­сен файл глав­но­го ок­на при­ло­жения '''appview_base.ui'''.&lt;br /&gt;
&lt;br /&gt;
За­гру­зив этот файл, вы долж­ны уви­деть нечто по­хо­жее на вы­пол­няю­щую­ся про­грам­му. Ок­но со­сто­ит из един­ст­вен­ной мет­ки внут­ри чер­но­го квад­ра­та, безо вся­кой иронии го­во­ря­щей ''‘hello, world’''. В от­ли­чие от окон­ча­тель­ной вер­сии про­грам­мы, вы не уви­ди­те в этом окне ме­ню и панель ин­ст­ру­мен­тов. Оба эти эле­мен­та до­бав­ля­ют­ся поз­же в ис­ход­ном ко­де про­ек­та. Мы убе­рем вид­жет мет­ки и за­меним его чем-нибудь бо­лее функ­цио­наль­ным. Для это­го ак­ку­рат­но вы­де­ли­те его мы­шью и на­жми­те кла­ви­шу '''Delete'''. При­ят­но то, что в пол­ном вид­же­тов ''Designer'' мож­но сво­бод­но пе­ре­тас­ки­вать вид­же­ты в свое при­ло­жение и уда­лять их от­ту­да, не бес­по­ко­ясь об ис­ход­ном ко­де. На­при­мер, мож­но до­ба­вить но­вый вид­жет ''KDE WebKit'', мгно­вен­но на­де­лив свое при­ло­жение са­мым со­вре­мен­ным web-ин­тер­фей­сом, или до­ба­вить спи­сок про­цес­сов из спи­ска вид­же­тов ''KSysGuard''. По­сле до­бав­ления в ис­ход­ный код про­ек­та ин­фор­ма­ции о за­го­ло­воч­ных фай­лах оба вид­же­та бу­дут ра­бо­тать без вся­ких до­полнитель­ных дей­ст­вий.&lt;br /&gt;
&lt;br /&gt;
Од­на­ко в на­шем про­ек­те мы за­меним вид­жет мет­ки вид­же­том ''KRichTextEdit''. Он де­ла­ет имен­но то, о чем вы по­ду­ма­ли, пре­достав­ляя поль­зо­ва­те­лю панель ре­дак­ти­ро­вания тек­ста с за­дан­ны­ми шриф­том, раз­ме­ром, вы­де­лением жир­ным и кур­си­вом. Впро­чем, он не по­зво­ля­ет из­ме­нять эти па­ра­мет­ры, чем мы и зай­мем­ся да­лее.&lt;br /&gt;
&lt;br /&gt;
===Сиг­на­лы и сло­ты===&lt;br /&gt;
&lt;br /&gt;
Со­храните свою ра­бо­ту в ''Qt Designer'' и вернитесь в ''KDevelop''. Пре­ж­де чем пе­ре­ком­пи­ли­ро­вать при­ло­жение, что­бы уви­деть на­ши из­менения в ин­тер­фей­се, нуж­но уб­рать все сле­ды мет­ки, ко­то­рую мы унич­то­жи­ли в ''Designer''. Их мож­но най­ти в фай­лах '''appview.cpp''' (ко всем ис­поль­зуе­мым здесь име­нам фай­лов спе­ре­ди нуж­но до­ба­вить на­звание про­ек­та). Най­ди­те две стро­ки, ссы­лаю­щие­ся на вид­жет '''kcfg_sillyLabel''', ко­то­рый мы уда­ли­ли с фор­мы. За­ком­мен­ти­руй­те их, до­ба­вив в на­ча­ле стро­ки '''//''' , или уда­ли­те. Ес­ли те­перь ском­пи­ли­ро­вать и за­пустить про­ект, вы уви­ди­те, что на мес­те мет­ки поя­ви­лось ок­но тек­сто­во­го ре­дак­то­ра, и в него мож­но вве­сти текст. Щелк­нув на нем пра­вой кноп­кой мы­ши, вы так­же смо­же­те ско­пи­ро­вать, вы­ре­зать и вста­вить текст, а так­же вы­&lt;br /&gt;
полнить спе­ци­фич­ные для KDE за­да­чи, та­кие как пе­ре­вод и про­вер­ку ор­фо­гра­фии. Они за­ви­сят от ис­поль­зуе­мой уста­нов­ки KDE, но по­яв­ля­ют­ся в про­грам­ме са­ми.&lt;br /&gt;
&lt;br /&gt;
Однако са­ми не по­яв­ля­ют­ся воз­мож­но­сти, обя­зан­ные быть в при­лич­ном тек­сто­вом ре­дак­то­ре – а имен­но, вы­де­ление тек­ста жир­ным и кур­си­вом и воз­мож­ность из­ме­нять стиль шриф­та. В ре­дак­то­ре есть этот функ­цио­нал, но ожи­да­ет­ся, что ин­тер­фейс реа­ли­зу­ют са­ми раз­ра­бот­чи­ки. И в ''Qt'', и в KDE это оз­на­ча­ет ра­бо­ту с сиг­на­ла­ми и сло­та­ми. С их по­мо­щью ком­понен­ты в обо­их сре­дах взаи­мо­дей­ст­ву­ют друг с дру­гом, об­ра­зуя нечто вро­де тру­бо­про­во­да. На­при­мер, один от­прав­ля­ет сиг­нал, ти­па на­жа­тия кноп­ки, а дру­гой принима­ет это дей­ст­вие и от­прав­ля­ет его в слот, та­кой как вы­де­ление вы­бран­но­го фраг­мен­та жир­ным шриф­том в тек­сто­вом ре­дак­то­ре. В ре­зуль­та­те боль­шин­ст­во при­ло­жений в KDE и ''Qt'' со­сто­ят из се­ти со­единений со­бы­тий с фраг­мен­та­ми ко­да, ко­то­рые их об­ра­ба­ты­ва­ют, и опи­сание сиг­на­лов и сло­тов ка­ж­до­го вид­же­та занима­ет боль­шую часть до­ку­мен­та­ции API обо­их сред.&lt;br /&gt;
&lt;br /&gt;
Мы до­ба­вим кноп­ку на панель ин­ст­ру­мен­тов и восполь­зу­ем­ся сиг­на­лом «на­жа­то» ['''pressed'''] этой кноп­ки для ак­ти­ва­ции од­ной из функ­ций фор­ма­ти­ро­вания в тек­сто­вом ре­дак­то­ре. Панели ин­ст­ру­мен­тов и ме­ню в KDE об­ра­ба­ты­ва­ют­ся не так, как дру­гие эле­мен­ты ин­тер­фей­са, по­это­му их не вид­но в ''Designer''. Так про­ис­хо­дит по­то­му, что они на­зы­ва­ют­ся дей­ст­вия­ми, а не вид­же­та­ми; их мож­но лег­ко до­ба­вить, пе­ре­мес­тить и из­менить их на­строй­ки. Имен­но по­это­му, на­при­мер, поч­ти во всех при­ло­жениях KDE есть лег­ко на­страи­вае­мая панель ин­ст­ру­мен­тов. Рас­по­ло­жение ико­нок на панели ин­ст­ру­мен­тов мож­но най­ти в основ­ном фай­ле на­строй­ки при­ло­жения, и по­сле то­го как ути­ли­та KDE уста­нов­ле­на, этот файл бу­дет на­хо­дить­ся в глав­ном ка­та­ло­ге с кон­фи­гу­ра­ци­ей KDE, ко­то­рый за­ви­сит от ди­ст­ри­бу­ти­ва. Из ''KDevelop'' этот файл мож­но от­крыть с по­мо­щью двой­но­го щелч­ка на фай­ле '''RC''' в окне '''Project'''.&lt;br /&gt;
&lt;br /&gt;
В этом фай­ле уже есть запись для дей­ст­вия пунк­та ме­ню Move, и мы за­меним ее, соз­дав вме­сто нее дей­ст­вие '''Bold'''. Нам по­тре­бу­ет­ся из­менить имя по­ля на '''bold''', и текст то­же на '''Bold''', но са­мая важ­ная часть это­го фай­ла – по­ле дей­ст­вия. По­че­му? По­то­му, что на это по­ле на­прав­ле­на ссыл­ка на код из фай­ла на­строй­ки. По­это­му вам нуж­но соз­дать имя дей­ст­вия, ко­то­рое мы так­же до­ба­вим и в при­ло­жение – пусть это бу­дет '''makeBold'''. Со­храните файл и от­крой­те глав­ный ис­ход­ный файл про­ек­та ('''appname.cpp''').&lt;br /&gt;
&lt;br /&gt;
===Ме­тод в дей­ст­вии===&lt;br /&gt;
&lt;br /&gt;
Сиг­на­лы и сло­ты для ка­ж­до­го дей­ст­вия за­да­ют­ся в ме­то­де '''setupActions'''; это са­мый верхний блок ко­да в фай­ле. В нем бу­дет на­хо­дить­ся един­ст­вен­ное дей­ст­вие дли­ной в три стро­ки ко­да, на­звание ко­то­ро­го на­чи­на­ет­ся с '''KAction'''. Мы из­меним его так, что вме­сто него бу­дет ис­поль­зо­вать­ся дей­ст­вие '''Bold'''. Стро­ка '''KIcon''' в пер­вой строч­ке – ссыл­ка на изо­бра­жение, ис­поль­зу­емое для икон­ки. В KDE есть мно­же­ст­во стан­дарт­ных изо­бра­жений для ико­нок, и, к сча­стью, сре­ди них есть од­но для обо­зна­чения вы­де­ления тек­ста. Оно на­зы­ва­ет­ся '''format-text-bold'''. Сле­дую­щую стро­ку в той же са­мой стро­чке нуж­но за­менить на '''bold'''. Это текст, ко­то­рый мы уви­дим в при­ло­жении, и он по­ме­щен внутрь функ­ции '''i18n''', так что пе­ре­во­дчи­ки смо­гут лег­ко ло­ка­ли­зо­вать текст. Этой же схе­мой сле­ду­ет поль­зо­вать­ся для лю­бой стро­ки, ко­то­рую ви­дит поль­зо­ва­тель.&lt;br /&gt;
&lt;br /&gt;
В стро­ке, сле­дую­щей за '''KAction''', обе стро­ки нуж­но за­менить на '''bold''', и пер­вая ис­поль­зу­ет­ся для свя­зи это­го дей­ст­вия с на­званием пунк­та ме­ню в кон­фи­гу­ра­ци­он­ном фай­ле. На­конец, в по­следней стро­ке кон­фи­гу­ра­ции мы за­да­ем сиг­нал и слот, и она долж­на вы­гля­деть сле­дую­щим об­ра­зом:&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF143_87_1.jpg|300px]] После до­бав­ле­ния но­во­го дей­ст­вия Bold в ва­ше при­ло­же­ние по­тре­бу­ет­ся до­ба­вить функ­цию на па­нель ин­ст­ру­мен­тов с по­мо­щью внут­рен­ней ути­ли­ты кон­фи­гу­ра­ции.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;&lt;br /&gt;
 connect(bold, SIGNAL(triggered(bool)), m_view, SLOT(setBold()));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Она свя­зы­ва­ет сиг­нал, от­прав­ляе­мый пунк­том ме­ню '''bold''', со сло­том '''setBold''' в при­ло­жении. Прав­да, мы еще не соз­да­ли слот '''setBold'''. Как вы ви­ди­те из вы­зо­ва функ­ции '''connect''', при­ло­жение ожи­да­ет, что этот слот бу­дет на­хо­дить­ся в объ­ек­те '''m_view''', и это свя­за­но с ко­дом в за­го­ло­воч­ном фай­ле '''appname_view''' и ис­ход­ных фай­лах. Сна­ча­ла от­крой­те за­го­ло­воч­ный файл и до­бавь­те ди­рек­ти­ву '''#include “krichtextwidget.h”''' к спи­ску ди­рек­тив в на­ча­ле фай­ла, а ме­тод '''void setBold()'''; — в раз­дел при­ват­ных сло­тов это­го ме­то­да. Эта функ­ция бу­дет при­емником на­ше­го сиг­на­ла, и те­перь нуж­но до­ба­вить код об­ра­бот­ки вхо­дя­ще­го сиг­на­ла в глав­ный файл '''CCP'''. От­крой­те файл '''view.cpp''' и соз­дай­те в нем сле­дую­щую функ­цию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;&lt;br /&gt;
 void appnameView::setBold()&lt;br /&gt;
 { ui_appnameview_base.krichtextwidget-&amp;gt;setTextBold(true);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ав­то­до­полнение ко­да по­мо­жет вам при пе­ре­име­но­вании фай­лов при­ло­жения сво­его про­ек­та, а так­же при по­ис­ке ме­то­да '''bold''' в вид­же­те тек­сто­во­го ре­дак­то­ра. Вот и все, что необ­хо­ди­мо для то­го, что­бы тек­сто­вый ре­дак­тор за­ра­бо­тал, и вы ви­ди­те, как лег­ко до­ба­вить в та­кой ре­дак­тор все осталь­ные необ­хо­ди­мые функ­ции.&lt;br /&gt;
&lt;br /&gt;
Впро­чем, по­сле ком­пи­ля­ции и за­пуска при­ло­жения вас ждет раз­оча­ро­вание: в панели ин­ст­ру­мен­тов нет ни сле­да но­вой икон­ки. Де­ло в том, что дей­ст­вие-то мы до­ба­ви­ли, но не вста­ви­ли его в кон­фи­гу­ра­цию панели ин­ст­ру­мен­тов. Щелк­нув на панели ин­ст­ру­мен­тов пра­вой кноп­кой мы­ши и вы­брать пункт ме­ню '''Configure Toolbars''' [На­стро­ить панели ин­ст­ру­мен­тов], вы уви­ди­те, что в спи­ске сле­ва есть дей­ст­вие '''Bold'''. Вы­брав это дей­ст­вие и щелк­нув по стрел­ке впра­во, мож­но пе­ре­мес­тить его на ак­тив­ную панель ин­ст­ру­мен­тов.&lt;br /&gt;
&lt;br /&gt;
По вы­хо­ду из это­го ок­на на панели ин­ст­ру­мен­тов поя­вит­ся на­ша кноп­ка, и ее на­жа­тие сде­ла­ет вы­де­лен­ный текст жир­ным. Ес­ли вы хо­ти­те, что­бы икон­ка бы­ла в на­ча­ле панели ин­ст­ру­мен­тов, за­крой­те про­грам­му и взгляните на файл '''appui.rc''', ко­то­рый на­хо­дит­ся в ва­шем до­машнем ка­та­ло­ге в ка­та­ло­ге '''.kde/share/appname'''. Это со­хранен­ное со­стояние ва­ше­го при­ло­жения, и его мож­но ско­пи­ро­вать в ка­та­лог с ис­пол­няе­мым фай­лом при­ло­жения, тем са­мым за­дав на­строй­ки и рас­по­ло­жение ком­понен­тов при­ло­жения.&lt;br /&gt;
&lt;br /&gt;
Конеч­но, что­бы от ва­ше­го при­ло­жения был прок, нуж­но сде­лать еще очень мно­го, но с по­мо­щью рас­смот­рен­ных на­ми прие­мов до­бав­ление но­во­го функ­цио­на­ла (да­же неотъ­ем­ле­мой функ­ции со­хранения) не долж­но пред­став­лять для вас осо­бых труд­но­стей. В вид­же­те ре­дак­то­ра так­же есть ме­тод '''textOrHtml''', ко­то­рый вы­ве­дет HTML-код для ре­дак­ти­руе­мо­го фай­ла, а уж пе­ре­слать его во внешний файл неслож­но. Про­сто поль­зуй­тесь до­ку­мен­та­ци­ей и под­свет­кой син­так­си­са ''KDevelop'' и со­об­щи­те нам о сво­их ус­пе­хах.&lt;br /&gt;
&lt;br /&gt;
===''KDevelop'' 4.2===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=''KDevelop'' бу­дет ра­бо­тать со все­ми по­след­ни­ми вер­сия­ми KDE API ме­ж­ду 4.2 и 4.6. Он так­же бу­дет ра­бо­тать с шаб­ло­на­ми ''PHP'', соз­дан­ны­ми ''KappTemplate''.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
L[[Изображение:XF143_86_2.jpg|''KDevelop'' 4.2]]&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>