<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Milianw&amp;feedformat=atom</id>
		<title>KDE TechBase - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/api.php?action=feedcontributions&amp;user=Milianw&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Special:Contributions/Milianw"/>
		<updated>2013-05-21T10:13:55Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/QMLJS</id>
		<title>Projects/KDevelop4/QMLJS</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/QMLJS"/>
				<updated>2013-01-26T14:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= JavaScript =&lt;br /&gt;
&lt;br /&gt;
== support objects ==&lt;br /&gt;
&lt;br /&gt;
Currently something like &amp;quot;foo.bar.asdf&amp;quot; is not supported properly. We look for each identifier on its own instead of first looking for foo, then inside foo's internal context for bar and so forth. This is especially required for proper use building. But for declarations as well, e.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// constructor&lt;br /&gt;
function MyObj() {&lt;br /&gt;
  // method&lt;br /&gt;
  this.foo = function() {};&lt;br /&gt;
  // property&lt;br /&gt;
  this.asdf = 42;&lt;br /&gt;
}&lt;br /&gt;
// alternative way to declare method&lt;br /&gt;
MyObj.prototype.bar = function() {};&lt;br /&gt;
&lt;br /&gt;
// this is how you'd use it:&lt;br /&gt;
var obj = new MyObj;&lt;br /&gt;
obj.asdf++;&lt;br /&gt;
obj.foo();&lt;br /&gt;
obj.bar();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also e.g. this document showing three ways to declare &amp;quot;classes&amp;quot; in JavaScript: http://www.phpied.com/3-ways-to-define-a-javascript-class/&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
For better static analysis we should parse and extract information of JSDoc-formatted comments: http://en.wikipedia.org/wiki/JSDoc&lt;br /&gt;
&lt;br /&gt;
We should eventually write a documentation plugin. Maybe we could generalize the php-docs plugin to be extensible for arbitrary URLs / languages. For JavaScript this seems to be a good page for English developers: https://developer.mozilla.org/en-US/docs/JavaScript/Reference  While this is a good one for German developers: http://de.selfhtml.org/javascript/objekte/&lt;br /&gt;
&lt;br /&gt;
Generally, we'll need something similar to PHP's phpfunctions.php file to specify the default JavaScript browser API. It should be extensible by arbitrary files that specify non-browser APIs, e.g. for Kate scripting. Comments could come from JSDoc.&lt;br /&gt;
&lt;br /&gt;
= QML =&lt;br /&gt;
&lt;br /&gt;
== binary plugin support ==&lt;br /&gt;
&lt;br /&gt;
We should look at how QtCreator/QML figures out what API a plugin provides. We'll also need to be able to setup custom QML import paths probably.&lt;br /&gt;
&lt;br /&gt;
== project-specific API ==&lt;br /&gt;
&lt;br /&gt;
If one works on a project that creates its own QML plugin we should be able to figure that out somehow using the project builder and the C++ language plugin. Then we could deduce the API directly from the C++ DUChain information.&lt;br /&gt;
&lt;br /&gt;
== documentation ==&lt;br /&gt;
&lt;br /&gt;
I hope that we could make use of the QtHelp plugin for default QML types and should add proper support for DoxyQML for additional static analysis opportunities for custom QML types. http://agateau.com/2013/01/14/introducing-doxyqml/&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/QMLJS</id>
		<title>Projects/KDevelop4/QMLJS</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/QMLJS"/>
				<updated>2013-01-26T13:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;= JavaScript = == Documentation ==  For better static analysis we should parse and extract information of JSDoc-formatted comments: http://en.wikipedia.org/wiki/JSDoc  We shou...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= JavaScript =&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
For better static analysis we should parse and extract information of JSDoc-formatted comments: http://en.wikipedia.org/wiki/JSDoc&lt;br /&gt;
&lt;br /&gt;
We should eventually write a documentation plugin. Maybe we could generalize the php-docs plugin to be extensible for arbitrary URLs / languages. For JavaScript this seems to be a good page for English developers: https://developer.mozilla.org/en-US/docs/JavaScript/Reference  While this is a good one for German developers: http://de.selfhtml.org/javascript/objekte/&lt;br /&gt;
&lt;br /&gt;
Generally, we'll need something similar to PHP's phpfunctions.php file to specify the default JavaScript browser API. It should be extensible by arbitrary files that specify non-browser APIs, e.g. for Kate scripting. Comments could come from JSDoc.&lt;br /&gt;
&lt;br /&gt;
= QML =&lt;br /&gt;
&lt;br /&gt;
== binary plugin support ==&lt;br /&gt;
&lt;br /&gt;
We should look at how QtCreator/QML figures out what API a plugin provides. We'll also need to be able to setup custom QML import paths probably.&lt;br /&gt;
&lt;br /&gt;
== project-specific API ==&lt;br /&gt;
&lt;br /&gt;
If one works on a project that creates its own QML plugin we should be able to figure that out somehow using the project builder and the C++ language plugin. Then we could deduce the API directly from the C++ DUChain information.&lt;br /&gt;
&lt;br /&gt;
== documentation ==&lt;br /&gt;
&lt;br /&gt;
I hope that we could make use of the QtHelp plugin for default QML types and should add proper support for DoxyQML for additional static analysis opportunities for custom QML types. http://agateau.com/2013/01/14/introducing-doxyqml/&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2013-01-26T13:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Development Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
* [[Projects/KDevelop4/KDevPlatformPluginExample]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/CodingStyle]]&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;br /&gt;
* [[Projects/KDevelop4/RandomTODO]]&lt;br /&gt;
* [[Projects/KDevelop4/Ruby]]&lt;br /&gt;
* [[Projects/KDevelop4/QMLJS]]&lt;br /&gt;
* [[Projects/KDevelop4/DUChainIdentities]]&lt;br /&gt;
&lt;br /&gt;
= Templates for Code Generation =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Project_template_specification|Project template specification]]&lt;br /&gt;
* [[Projects/KDevelop4/File_template_specification|Source file template specification]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/4.3]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/DUChainIdentities</id>
		<title>Projects/KDevelop4/DUChainIdentities</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/DUChainIdentities"/>
				<updated>2013-01-25T21:23:37Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Identity values used by various plugins for their Declarations and Types.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category&lt;br /&gt;
!ID&lt;br /&gt;
!Use&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 1 || &amp;lt;tt&amp;gt;DUChainBase&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 2 || &amp;lt;tt&amp;gt;DUContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 4 || &amp;lt;tt&amp;gt;TopDUContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 6 || &amp;lt;tt&amp;gt;AliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 7 || &amp;lt;tt&amp;gt;Declaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 9 || &amp;lt;tt&amp;gt;ClassMemberDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 10 || &amp;lt;tt&amp;gt;ForwardDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 11 || &amp;lt;tt&amp;gt;ParsingEnvironmentFile&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 12 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 13 || &amp;lt;tt&amp;gt;NamespaceAliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 14 || &amp;lt;tt&amp;gt;ClassFunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 15 || &amp;lt;tt&amp;gt;Problem&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 17 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 18 || &amp;lt;tt&amp;gt;TemplateParameterDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 21 || &amp;lt;tt&amp;gt;FunctionDefinition&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 42 || &amp;lt;tt&amp;gt;MethodDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 43 || &amp;lt;tt&amp;gt;RubyDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;RubyNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 44 || &amp;lt;tt&amp;gt;ModuleDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 45 || &amp;lt;tt&amp;gt;RubyDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;RubyTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 47 || &amp;lt;tt&amp;gt;VariableDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 52 || &amp;lt;tt&amp;gt;CppDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;CppNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 53 || &amp;lt;tt&amp;gt;PhpDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PhpNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 54 || &amp;lt;tt&amp;gt;CppDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;CppTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 55 || &amp;lt;tt&amp;gt;PhpDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PhpTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 56 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;AliasDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 57 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;Declaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 59 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassMemberDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 60 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ForwardDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 62 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;FunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 64 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassFunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 67 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 68 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 71 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;FunctionDefinition&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 73 || &amp;lt;tt&amp;gt;EnvironmentFile&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 74 || &amp;lt;tt&amp;gt;QtFunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 75 || &amp;lt;tt&amp;gt;QPropertyDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  80 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ConstantDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  81 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ClassDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  83 || &amp;lt;tt&amp;gt;VariableDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  84 || &amp;lt;tt&amp;gt;ClassMethodDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  85 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  86 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  87 || &amp;lt;tt&amp;gt;NamespaceDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  88 || &amp;lt;tt&amp;gt;NamespaceAliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| XML || 90 || &amp;lt;tt&amp;gt;ElementDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| XML || 91 || &amp;lt;tt&amp;gt;ImportDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 100 || &amp;lt;tt&amp;gt;PythonDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PythonTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Python || 101 || &amp;lt;tt&amp;gt;PythonDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PythonNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 124 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;QtFunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 125 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 126 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 127 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ClassFunctionDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Types&lt;br /&gt;
!Category&lt;br /&gt;
!ID&lt;br /&gt;
!Use&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 1 || &amp;lt;tt&amp;gt;AbstractType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 2 || &amp;lt;tt&amp;gt;IntegralType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 3 || &amp;lt;tt&amp;gt;PointerType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 4 || &amp;lt;tt&amp;gt;ReferenceType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 5 || &amp;lt;tt&amp;gt;FunctionType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 6 || &amp;lt;tt&amp;gt;StructureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 7 || &amp;lt;tt&amp;gt;ArrayType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 8 || &amp;lt;tt&amp;gt;DelayedType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 9 || &amp;lt;tt&amp;gt;TypeAliasType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 14 || &amp;lt;tt&amp;gt;ConstantIntegralType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 18 || &amp;lt;tt&amp;gt;CppClassType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 20 || &amp;lt;tt&amp;gt;EnumeratorType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 21 || &amp;lt;tt&amp;gt;EnumerationType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 23 || &amp;lt;tt&amp;gt;CppTemplateParameterType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 39 || &amp;lt;tt&amp;gt;UnsureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 41 || &amp;lt;tt&amp;gt;ClassType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 42 || &amp;lt;tt&amp;gt;PtrToMemberType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 50 || &amp;lt;tt&amp;gt;IntegralTypeExtended&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 51 || &amp;lt;tt&amp;gt;StructureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 59 || &amp;lt;tt&amp;gt;IndexedContainer&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 60 || &amp;lt;tt&amp;gt;IntegralTypeExtended&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 61 || &amp;lt;tt&amp;gt;VariableLengthContainer&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 62 || &amp;lt;tt&amp;gt;HintedType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 63 || &amp;lt;tt&amp;gt;UnsureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/DUChainIdentities</id>
		<title>Projects/KDevelop4/DUChainIdentities</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/DUChainIdentities"/>
				<updated>2013-01-25T21:21:09Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of Identity values used by various plugins for their Declarations and Types.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category&lt;br /&gt;
!ID&lt;br /&gt;
!Use&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 1 || &amp;lt;tt&amp;gt;DUChainBase&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 2 || &amp;lt;tt&amp;gt;DUContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 4 || &amp;lt;tt&amp;gt;TopDUContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 6 || &amp;lt;tt&amp;gt;AliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 7 || &amp;lt;tt&amp;gt;Declaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 9 || &amp;lt;tt&amp;gt;ClassMemberDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 10 || &amp;lt;tt&amp;gt;ForwardDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 11 || &amp;lt;tt&amp;gt;ParsingEnvironmentFile&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 12 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 13 || &amp;lt;tt&amp;gt;NamespaceAliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 14 || &amp;lt;tt&amp;gt;ClassFunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 15 || &amp;lt;tt&amp;gt;Problem&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 16 || &amp;lt;tt&amp;gt;MissingDeclarationProblem&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 17 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 18 || &amp;lt;tt&amp;gt;TemplateParameterDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 21 || &amp;lt;tt&amp;gt;FunctionDefinition&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 42 || &amp;lt;tt&amp;gt;MethodDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 43 || &amp;lt;tt&amp;gt;RubyDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;RubyNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 44 || &amp;lt;tt&amp;gt;ModuleDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 45 || &amp;lt;tt&amp;gt;RubyDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;RubyTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 47 || &amp;lt;tt&amp;gt;VariableDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 52 || &amp;lt;tt&amp;gt;CppDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;CppNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 53 || &amp;lt;tt&amp;gt;PhpDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PhpNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 54 || &amp;lt;tt&amp;gt;CppDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;CppTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 55 || &amp;lt;tt&amp;gt;PhpDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PhpTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 56 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;AliasDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 57 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;Declaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 59 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassMemberDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 60 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ForwardDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 62 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;FunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 64 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassFunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 67 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 68 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;ClassDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 71 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;FunctionDefinition&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 73 || &amp;lt;tt&amp;gt;EnvironmentFile&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 74 || &amp;lt;tt&amp;gt;QtFunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 75 || &amp;lt;tt&amp;gt;QPropertyDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  80 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ConstantDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  81 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ClassDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  83 || &amp;lt;tt&amp;gt;VariableDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  84 || &amp;lt;tt&amp;gt;ClassMethodDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  85 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  86 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  87 || &amp;lt;tt&amp;gt;NamespaceDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP ||  88 || &amp;lt;tt&amp;gt;NamespaceAliasDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| XML || 90 || &amp;lt;tt&amp;gt;ElementDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| XML || 91 || &amp;lt;tt&amp;gt;ImportDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 100 || &amp;lt;tt&amp;gt;PythonDUContext&amp;lt;TopDUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PythonTopDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Python || 101 || &amp;lt;tt&amp;gt;PythonDUContext&amp;lt;DUContext&amp;gt;&amp;lt;/tt&amp;gt; (aka &amp;lt;tt&amp;gt;PythonNormalDUContext&amp;lt;/tt&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 124 || &amp;lt;tt&amp;gt;SpecialTemplateDeclaration&amp;lt;QtFunctionDeclaration&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 125 || &amp;lt;tt&amp;gt;ClassDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 126 || &amp;lt;tt&amp;gt;FunctionDeclaration&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 127 || &amp;lt;tt&amp;gt;&amp;lt;s&amp;gt;ClassFunctionDeclaration&amp;lt;/s&amp;gt;&amp;lt;/tt&amp;gt; (not used anymore)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Types&lt;br /&gt;
!Category&lt;br /&gt;
!ID&lt;br /&gt;
!Use&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 1 || &amp;lt;tt&amp;gt;AbstractType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 2 || &amp;lt;tt&amp;gt;IntegralType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 3 || &amp;lt;tt&amp;gt;PointerType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 4 || &amp;lt;tt&amp;gt;ReferenceType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 5 || &amp;lt;tt&amp;gt;FunctionType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 6 || &amp;lt;tt&amp;gt;StructureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 7 || &amp;lt;tt&amp;gt;ArrayType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 8 || &amp;lt;tt&amp;gt;DelayedType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 9 || &amp;lt;tt&amp;gt;TypeAliasType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 14 || &amp;lt;tt&amp;gt;ConstantIntegralType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 18 || &amp;lt;tt&amp;gt;CppClassType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 20 || &amp;lt;tt&amp;gt;EnumeratorType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 21 || &amp;lt;tt&amp;gt;EnumerationType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 23 || &amp;lt;tt&amp;gt;CppTemplateParameterType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Platform || 39 || &amp;lt;tt&amp;gt;UnsureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Ruby || 41 || &amp;lt;tt&amp;gt;ClassType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| C++ || 42 || &amp;lt;tt&amp;gt;PtrToMemberType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 50 || &amp;lt;tt&amp;gt;IntegralTypeExtended&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PHP || 51 || &amp;lt;tt&amp;gt;StructureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 59 || &amp;lt;tt&amp;gt;IndexedContainer&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 60 || &amp;lt;tt&amp;gt;IntegralTypeExtended&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 61 || &amp;lt;tt&amp;gt;VariableLengthContainer&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 62 || &amp;lt;tt&amp;gt;HintedType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Python || 63 || &amp;lt;tt&amp;gt;UnsureType&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2013-01-23T00:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
* [[Projects/KDevelop4/KDevPlatformPluginExample]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/CodingStyle]]&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;br /&gt;
* [[Projects/KDevelop4/RandomTODO]]&lt;br /&gt;
* [[Projects/KDevelop4/Ruby]]&lt;br /&gt;
* [[Projects/KDevelop4/DUChainIdentities]]&lt;br /&gt;
&lt;br /&gt;
= Templates for Code Generation =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Project_template_specification|Project template specification]]&lt;br /&gt;
* [[Projects/KDevelop4/File_template_specification|Source file template specification]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/4.3]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/RandomTODO</id>
		<title>Projects/KDevelop4/RandomTODO</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/RandomTODO"/>
				<updated>2012-12-25T04:48:22Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optimize Shared-Pointer Usage =&lt;br /&gt;
&lt;br /&gt;
So far our API and codebase passes shared pointers by value. This should be made const&amp;amp; to optimize the superflous refcounting in such cases. This was also mentioned in one of the talks here: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012 I (milian) will try to find out which one it was if anyone doubts the above statement.&lt;br /&gt;
&lt;br /&gt;
= Prevent .kdevduchain leakage =&lt;br /&gt;
&lt;br /&gt;
Some unit tests, maybe even temporary sessions in general, allocate a .kdevduchain session cache but never clean that up, leading to a huge mess there... It should also be tested whether this can happen if users create temporary sessions for debugging (&amp;quot;kdevelop -d ...&amp;quot;). And of course it must be asserted that the cache gets removed when a session gets removed.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; See Ivan's branch&lt;br /&gt;
&lt;br /&gt;
= Refactor Project Filtering =&lt;br /&gt;
&lt;br /&gt;
Centralize filtering of project files, share code between managers. Take generic-manager as basis.&lt;br /&gt;
&lt;br /&gt;
= Optimize C++ Preprocessor+Lexer =&lt;br /&gt;
&lt;br /&gt;
Instead of using IndexedString for string interning, use a thread local class which achieves the same without the QMutex overhead. Only convert to IndexedString when using the strings in the DUChain.&lt;br /&gt;
&lt;br /&gt;
= Refactor ParseJob to use a Stream API =&lt;br /&gt;
&lt;br /&gt;
Instead of the monolithic QString/QByteArray in ParseJob::Contents we should have some API that yields the contents on a line-by-line basis. This would be especially good for files that are read from disk. For files that are open in the editor though we'll have to see what to do. Probably copying a QVector&amp;lt;QString&amp;gt; would be good there, since Kate stores the strings also on a line-by-line basis - this could potentially share some memory then.&lt;br /&gt;
&lt;br /&gt;
= Optimize ItemRepositories =&lt;br /&gt;
&lt;br /&gt;
Redo what I did for the IndexedString item repository for the other repository. This includes:&lt;br /&gt;
&lt;br /&gt;
- use fast hash methods (no RunningHash, investigate hashlittle, ...)&lt;br /&gt;
- no recursive mutex locking&lt;br /&gt;
- no superfluous type conversions (like const char* &amp;lt;-&amp;gt; QString or similar) &lt;br /&gt;
&lt;br /&gt;
= Reduce C++ AST sizes =&lt;br /&gt;
&lt;br /&gt;
Many of the AST nodes are quite large and/or very often instantiated. Especially UnqualifiedNameAST and NameAST are memory hogs. Either use more specialized AST nodes or use unions to reduce the memory size.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/File_template_specification</id>
		<title>Projects/KDevelop4/File template specification</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/File_template_specification"/>
				<updated>2012-11-28T00:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Construction }}&lt;br /&gt;
&lt;br /&gt;
=== Template language ===&lt;br /&gt;
&lt;br /&gt;
Source filj templates use the [http://grantlee.org Grantlee] library for rendering templates. It has more features than KMacroExpander, the most important being loops and the ability to expose custom data types from C++ code to templates. The use of Grantlee makes templates more powerful, but also more difficult to write. &lt;br /&gt;
&lt;br /&gt;
For information regarding Grantlee templates in general, refer to its [http://www.grantlee.org/apidox/pages.html documentation]. Since Grantlee's template language is based on Django's, it might be useful to read the [https://docs.djangoproject.com/en/1.1/topics/templates/ Django template documentation] as well.&lt;br /&gt;
&lt;br /&gt;
=== Example template template ===&lt;br /&gt;
&lt;br /&gt;
There is a project template that creates a new project consisting of a single '''KDevelop''' class template. You can use it by starting a new project, choosing &amp;lt;menuchoice&amp;gt;Get More Templates...&amp;lt;/menuchoice&amp;gt; and installing [http://kde-files.org/content/show.php/?content=152234 this one]. Proceeding to create a project using this template will create an example class template. &lt;br /&gt;
&lt;br /&gt;
=== File structure ===&lt;br /&gt;
&lt;br /&gt;
Like [[Development/KDevelop/Project_template_specification|project templates]], file templates are compressed directories, and they too contain a special description file and any number of content files. It is recommended that the description file has a &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; extension instead of &amp;lt;tt&amp;gt;.kdevtemplate&amp;lt;/tt&amp;gt;, although both are supported. &lt;br /&gt;
&lt;br /&gt;
Unlike with project templates, not all files from the archive are copied to the output directory. Because Grantlee supports template inheritance and inclusions, file templates may contain helper files that only serve for convenience and produce no actual output. The actual output files have to be specified in the template description.&lt;br /&gt;
&lt;br /&gt;
=== Description file format ===&lt;br /&gt;
&lt;br /&gt;
The template descriptions files are normal &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; files. They must contain a &amp;lt;tt&amp;gt;General&amp;lt;/tt&amp;gt; section, as well as one section for each output file. In most cases, the template will have two output files for C++ classes and one output file for other languages. However, using separate user interface files and/or a shared d-pointer hierarchy can cause a class to need more files. Templates in '''KDevelop''' allow any number of output files. &lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
An example description for a template with three output files is below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
Name=Private Pointer&lt;br /&gt;
Comment=C++ Class with a private D-pointer&lt;br /&gt;
Category=C++/Basic&lt;br /&gt;
Type=Class&lt;br /&gt;
Language=C++&lt;br /&gt;
Files=Header,PrivateHeader,Implementation&lt;br /&gt;
OptionsFile=options.kcfg&lt;br /&gt;
&lt;br /&gt;
[Header]&lt;br /&gt;
Name=Public Header&lt;br /&gt;
File=class.h&lt;br /&gt;
OutputFile={{ name }}.h&lt;br /&gt;
&lt;br /&gt;
[PrivateHeader]&lt;br /&gt;
Name=Private Header&lt;br /&gt;
File=class_p.h&lt;br /&gt;
OutputFile={{ name }}_p.h&lt;br /&gt;
&lt;br /&gt;
[Implementation]&lt;br /&gt;
Name=Implementation&lt;br /&gt;
File=class.cpp&lt;br /&gt;
OutputFile={{ name }}.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Comment&amp;lt;/tt&amp;gt; entries are the same as in other &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; files and can be translated.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Category&amp;lt;/tt&amp;gt; is used for grouping when showing a list of templates to the user. It should contain at least two levels, separated by slashes. The default templates use the following format: &amp;lt;tt&amp;gt;Language/Framework&amp;lt;/tt&amp;gt;, e.g. &amp;lt;tt&amp;gt;C++/Qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Type&amp;lt;/tt&amp;gt; is optional and can be either &amp;lt;tt&amp;gt;Class&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Test&amp;lt;/tt&amp;gt;. In both cases the wizard will add some additional configuration pages and variables.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Language&amp;lt;/tt&amp;gt; is optional and can reference a KDevelop language plugin by it's &amp;lt;tt&amp;gt;X-KDevelop-Language&amp;lt;/tt&amp;gt; identifier. When given, the language plugin will be asked to create a class helper, otherwise a default class helper will be chosen.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;OptionsFile&amp;lt;/tt&amp;gt; entry is optional, using it specifies configuration options for this template. For more information about template options, see [[Projects/KDevelop4/Class_template_specification#Custom_options|Custom options]].&lt;br /&gt;
&lt;br /&gt;
A class template description file may also contain an entry with key &amp;lt;tt&amp;gt;BaseClasses&amp;lt;/tt&amp;gt;. It is only used for class templates, and any clases specified in this way are added by default to the inheritance list for the new class. The user can still remove those base classes, or add them manually, so this entry is entirely optional, it only makes things easier for the user. It accepts a list of inheritance statements, separated by commas, like so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
; Example for a Qt object&lt;br /&gt;
BaseClasses=public QObject&lt;br /&gt;
; Example for a KDevelop plugin that implements an interface&lt;br /&gt;
BaseClasses=public KDevelop::IPlugin,public KDevelop::IBasicVersionControl&lt;br /&gt;
; Example for a Python new-style class&lt;br /&gt;
BaseClasses=object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Output files ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Files&amp;lt;/tt&amp;gt; entry specifies template output files. It is a list of strings, where each element is the same as a name of a group in the description file. The corresponding group has three required entries&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; is the user visible file name. It can be translated. &lt;br /&gt;
* &amp;lt;tt&amp;gt;File&amp;lt;/tt&amp;gt; is the path to the input file within the template archive&lt;br /&gt;
* &amp;lt;tt&amp;gt;OutputFile&amp;lt;/tt&amp;gt; is the suggested output file name. The actual name can be set by the user, but this is the default value. It will be converted to lowercase if needed, so don't do in here.&lt;br /&gt;
&lt;br /&gt;
The description file above results in a dialog page such as this&lt;br /&gt;
&lt;br /&gt;
[[File:KDevelop-template-output-files-dialog.png|center|alt=KDevelop template output files dialog|Assistant page for template output files]]&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
&lt;br /&gt;
==== Generic ====&lt;br /&gt;
The following variables are passed to all templates, regardless of their type&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|license&lt;br /&gt;
|String&lt;br /&gt;
|The license header without any comment characters. It can be split into multiple lines. &lt;br /&gt;
|One of the headers listed in [http://techbase.kde.org/Policies/Licensing_Policy KDE Licensing Policy]&lt;br /&gt;
|-&lt;br /&gt;
|output_file_foo&lt;br /&gt;
|String&lt;br /&gt;
|The relative path to the output file with identifier &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt;&lt;br /&gt;
|mynewclass.h&lt;br /&gt;
|-&lt;br /&gt;
|output_file_foo_absolute&lt;br /&gt;
|String&lt;br /&gt;
|The absolute path to the output file &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt;&lt;br /&gt;
|/home/user/projects/myproject/mynewclass.h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additionally, values of any [http://techbase.kde.org/Projects/KDevelop4/File_template_specification#Custom_options custom options] exposed by the template are passed as variables.&lt;br /&gt;
&lt;br /&gt;
==== Classes ====&lt;br /&gt;
The following variables are passed to &amp;lt;tt&amp;gt;Class&amp;lt;/tt&amp;gt; templates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|String&lt;br /&gt;
|Class name without namespaces &lt;br /&gt;
|Example&lt;br /&gt;
|-&lt;br /&gt;
|identifier&lt;br /&gt;
|String&lt;br /&gt;
|The full identifier of the new class, which is composed of namespaces and class name&lt;br /&gt;
|MyProject::Utilities::Example&lt;br /&gt;
|-&lt;br /&gt;
|namespaces&lt;br /&gt;
|StringList&lt;br /&gt;
|List of nested namespaces in which the class is declared&lt;br /&gt;
|[MyProject, Utilities]&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|ClassDescription&lt;br /&gt;
|An object containing the class name, base classes, functions and members&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|baseClasses&lt;br /&gt;
|InheritanceDescriptionList&lt;br /&gt;
|All direct base classes of the new class, containing both the inheritance type and the base class name. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|functions&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|List of all the functions in the new class&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|members&lt;br /&gt;
|VariableDescriptionList&lt;br /&gt;
|List of all the member variables in the new class&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The variables which are passed to class templates are also described in the {{class|TemplateClassGenerator|kdevelop|extragear}} API documentation.&lt;br /&gt;
&lt;br /&gt;
==== C++ Specific variables ====&lt;br /&gt;
&lt;br /&gt;
Templates for classes in C++ may make use of some additional variables provided by the language support plugin. They cover finding include files and grouping class functions and members by access specifiers. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|public_functions, protected_functions, private_functions&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|Class functions grouped by access modifiers. These lists do not include slots.&lt;br /&gt;
|-&lt;br /&gt;
|public_slots, protected_slots, private_slots&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|Qt slots grouped by access modifiers&lt;br /&gt;
|-&lt;br /&gt;
|signals&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|All Qt signals in the new class&lt;br /&gt;
|-&lt;br /&gt;
|public_members, protected_members, private_members&lt;br /&gt;
|VariableDescriptionList&lt;br /&gt;
|Data members grouped by access modifiers&lt;br /&gt;
|-&lt;br /&gt;
|needs_qobject_macro&lt;br /&gt;
|bool&lt;br /&gt;
|&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if the class has at least one signal or slot, &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise&lt;br /&gt;
|-&lt;br /&gt;
|included_files&lt;br /&gt;
|StringList&lt;br /&gt;
|List of headers files that need to be included. This variable lists the missing include files for base classes. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
The following variables are passed to &amp;lt;tt&amp;gt;Test&amp;lt;/tt&amp;gt; templates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|String&lt;br /&gt;
|Test name without namespaces&lt;br /&gt;
|MathTest&lt;br /&gt;
|-&lt;br /&gt;
|testCases&lt;br /&gt;
|StringList&lt;br /&gt;
|List of test case names. They do not necessarily begin or end with &amp;quot;test&amp;quot;, it is up to templates for frameworks that require such prefixes to add them. &lt;br /&gt;
|[addition, multiplication, negativeNumbers]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional templates and filters ===&lt;br /&gt;
&lt;br /&gt;
To make writing templates easier, '''KDevelop''' supplies additional template utilities. They are both in the form of text template, available for including into your own, or additional Grantlee filters. &lt;br /&gt;
&lt;br /&gt;
==== Templates for inclusion ====&lt;br /&gt;
&lt;br /&gt;
These templates usually read some variables from the context. Thus, you have to make sure the correct variables are set before including the template. This is normally done using &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; statements. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smarty&amp;quot;&amp;gt;&lt;br /&gt;
{% for f in functions %}&lt;br /&gt;
  {% with f.arguments as arguments %}&lt;br /&gt;
    {{ f.returnType|default:&amp;quot;void&amp;quot; }} {{ f.name }}({% include &amp;quot;arguments_types_names.txt&amp;quot; %});&lt;br /&gt;
  {% endwith %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includable templates in '''KDevPlatform''' are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Template&lt;br /&gt;
!Required variables&lt;br /&gt;
!Language&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;arguments_names.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|arguments : VariableDescriptionList&lt;br /&gt;
|Weakly-typed languages&lt;br /&gt;
|Comma-separated list of argument names.  &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;arguments_types_names.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|arguments : VariableDescriptionList&lt;br /&gt;
|Strongly-typed languages&lt;br /&gt;
|Comma-separated list of argument types and names.  &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;include_guard_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Include guard macro, generated from the namespaces and the class name.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_open_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Opening tag for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_close_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Closing tag for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_use_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|&amp;lt;tt&amp;gt;using namespace&amp;lt;/tt&amp;gt; statement for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Template filters ====&lt;br /&gt;
&lt;br /&gt;
KDevPlatform provides an additional filter library. Because filters are implemented in code and not modifiable by users, it is preferred to use template inclusion if possible. These filters are mostly utilities for string operations and are not language specific. &lt;br /&gt;
&lt;br /&gt;
To use them in templates, add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{% load kdev_filters %}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the beginning of your template file. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Template filter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;lines_prepend&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Takes a string argument and prepends it to every line of the input. It is intended for licenses and other blocks of commented text. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;upper_first&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the first character of input into uppercase, and leaves the rest intact. This is useful for creating accessor functions, and prefixing identifier in general. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;camel_case&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input from an underscore notation to camel case, starting with a lowercase character. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;camel_case_upper&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input from an underscore notation to camel case, starting with an uppercase character.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;underscores&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input to the underscore notations, where words are separated by underscores instead of uppercase letters. The output is entirely lowercase.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Custom options ===&lt;br /&gt;
&lt;br /&gt;
Templates can expose configuration options to the user prior to the class generation. To do this, add a KConfig XT formatted file into the archive, and specify an &amp;lt;tt&amp;gt;OptionsFile&amp;lt;/tt&amp;gt; entry in the template description file pointing to it. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
OptionsFile=options.kcfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Template options are meant to be used only for small differences in large, complex templates. To reduce the number of necessary clicks, it is preferred to use separate templates instead. }}&lt;br /&gt;
&lt;br /&gt;
For information about the options file format, see [[Development/Tutorials/Using_KConfig_XT|Using KConfig XT]]. Note that KDevelop only supports a subset of the KConfig XT specification. Only &amp;lt;tt&amp;gt;Int&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Bool&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;String&amp;lt;/tt&amp;gt; types are recognized, options with other types are ignored. Furthermore, only &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;label&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; attributes are used. The default value of options is rendered as a template, so it can include variables. &lt;br /&gt;
&lt;br /&gt;
Here is an example options file that exposes two string options, useful for [[Policies/Binary_Compatibility_Issues_With_C%2B%2B#Using_a_d-Pointer|private pointers]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;kcfg xmlns=&amp;quot;http://www.kde.org/standards/kcfg/1.0&amp;quot;&lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.kde.org/standards/kcfg/1.0&lt;br /&gt;
      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;kcfgfile arg=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Private Class&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;entry name=&amp;quot;private_class_name&amp;quot; type=&amp;quot;String&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;label&amp;gt;Private class name&amp;lt;/label&amp;gt;&lt;br /&gt;
      &amp;lt;default&amp;gt;{{ name }}Private&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/entry&amp;gt;&lt;br /&gt;
    &amp;lt;entry name=&amp;quot;private_member_name&amp;quot; type=&amp;quot;String&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;label&amp;gt;Private member name&amp;lt;/label&amp;gt;&lt;br /&gt;
      &amp;lt;default&amp;gt;d&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/entry&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/kcfg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just before creating the class, '''KDevelop''' will show an assistant dialog page, asking for the two options&lt;br /&gt;
&lt;br /&gt;
[[File:KDevelop-template-option-dialog.png|center|alt=KDevelop template options dialog|Assistant page for template options]]&lt;br /&gt;
&lt;br /&gt;
The values the user sets for the two options will be available to the template as variables with names matching the entry names. In the private pointer example, the d-pointer declaration template might look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
private:&lt;br /&gt;
    {{ private_class_name }}* const {{ private_member_name }};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the user accepts the default values, and the class name is &amp;lt;tt&amp;gt;Example&amp;lt;/tt&amp;gt;, the rendered result of this snippet will be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
private:&lt;br /&gt;
    ExamplePrivate* const d;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/File_template_specification</id>
		<title>Projects/KDevelop4/File template specification</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/File_template_specification"/>
				<updated>2012-11-28T00:39:37Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Construction }}&lt;br /&gt;
&lt;br /&gt;
=== Template language ===&lt;br /&gt;
&lt;br /&gt;
Source filj templates use the [http://grantlee.org Grantlee] library for rendering templates. It has more features than KMacroExpander, the most important being loops and the ability to expose custom data types from C++ code to templates. The use of Grantlee makes templates more powerful, but also more difficult to write. &lt;br /&gt;
&lt;br /&gt;
For information regarding Grantlee templates in general, refer to its [http://www.grantlee.org/apidox/pages.html documentation]. Since Grantlee's template language is based on Django's, it might be useful to read the [https://docs.djangoproject.com/en/1.1/topics/templates/ Django template documentation] as well.&lt;br /&gt;
&lt;br /&gt;
=== Example template template ===&lt;br /&gt;
&lt;br /&gt;
There is a project template that creates a new project consisting of a single '''KDevelop''' class template. You can use it by starting a new project, choosing &amp;lt;menuchoice&amp;gt;Get More Templates...&amp;lt;/menuchoice&amp;gt; and installing [http://kde-files.org/content/show.php/?content=152234 this one]. Proceeding to create a project using this template will create an example class template. &lt;br /&gt;
&lt;br /&gt;
=== File structure ===&lt;br /&gt;
&lt;br /&gt;
Like [[Development/KDevelop/Project_template_specification|project templates]], file templates are compressed directories, and they too contain a special description file and any number of content files. It is recommended that the description file has a &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; extension instead of &amp;lt;tt&amp;gt;.kdevtemplate&amp;lt;/tt&amp;gt;, although both are supported. &lt;br /&gt;
&lt;br /&gt;
Unlike with project templates, not all files from the archive are copied to the output directory. Because Grantlee supports template inheritance and inclusions, file templates may contain helper files that only serve for convenience and produce no actual output. The actual output files have to be specified in the template description.&lt;br /&gt;
&lt;br /&gt;
=== Description file format ===&lt;br /&gt;
&lt;br /&gt;
The template descriptions files are normal &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; files. They must contain a &amp;lt;tt&amp;gt;General&amp;lt;/tt&amp;gt; section, as well as one section for each output file. In most cases, the template will have two output files for C++ classes and one output file for other languages. However, using separate user interface files and/or a shared d-pointer hierarchy can cause a class to need more files. Templates in '''KDevelop''' allow any number of output files. &lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
An example description for a template with three output files is below&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
Name=Private Pointer&lt;br /&gt;
Comment=C++ Class with a private D-pointer&lt;br /&gt;
Category=Class/C++/Basic&lt;br /&gt;
Files=Header,PrivateHeader,Implementation&lt;br /&gt;
OptionsFile=options.kcfg&lt;br /&gt;
&lt;br /&gt;
[Header]&lt;br /&gt;
Name=Public Header&lt;br /&gt;
File=class.h&lt;br /&gt;
OutputFile={{ name }}.h&lt;br /&gt;
&lt;br /&gt;
[PrivateHeader]&lt;br /&gt;
Name=Private Header&lt;br /&gt;
File=class_p.h&lt;br /&gt;
OutputFile={{ name }}_p.h&lt;br /&gt;
&lt;br /&gt;
[Implementation]&lt;br /&gt;
Name=Implementation&lt;br /&gt;
File=class.cpp&lt;br /&gt;
OutputFile={{ name }}.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Entries ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Comment&amp;lt;/tt&amp;gt; entries are the same as in other &amp;lt;tt&amp;gt;.desktop&amp;lt;/tt&amp;gt; files and can be translated.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Type&amp;lt;/tt&amp;gt; is mandatory and must be either &amp;lt;tt&amp;gt;Class&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Test&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Other&amp;lt;/tt&amp;gt;. The first two receive some additional configuration and variables.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Language&amp;lt;/tt&amp;gt; is optional and can reference a KDevelop language plugin by it's &amp;lt;tt&amp;gt;X-KDevelop-Language&amp;lt;/tt&amp;gt; identifier. When given, the language plugin will be asked to create a class helper, otherwise a default class helper will be chosen.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Category&amp;lt;/tt&amp;gt; is used for grouping when showing a list of templates to the user. It should contain at least two levels, separated by slashes. The default templates use the following format: &amp;lt;tt&amp;gt;Language/Framework&amp;lt;/tt&amp;gt;, e.g. &amp;lt;tt&amp;gt;C++/Qt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;OptionsFile&amp;lt;/tt&amp;gt; entry is optional, using it specifies configuration options for this template. For more information about template options, see [[Projects/KDevelop4/Class_template_specification#Custom_options|Custom options]].&lt;br /&gt;
&lt;br /&gt;
A class template description file may also contain an entry with key &amp;lt;tt&amp;gt;BaseClasses&amp;lt;/tt&amp;gt;. It is only used for class templates, and any clases specified in this way are added by default to the inheritance list for the new class. The user can still remove those base classes, or add them manually, so this entry is entirely optional, it only makes things easier for the user. It accepts a list of inheritance statements, separated by commas, like so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
; Example for a Qt object&lt;br /&gt;
BaseClasses=public QObject&lt;br /&gt;
; Example for a KDevelop plugin that implements an interface&lt;br /&gt;
BaseClasses=public KDevelop::IPlugin,public KDevelop::IBasicVersionControl&lt;br /&gt;
; Example for a Python new-style class&lt;br /&gt;
BaseClasses=object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Output files ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;Files&amp;lt;/tt&amp;gt; entry specifies template output files. It is a list of strings, where each element is the same as a name of a group in the description file. The corresponding group has three required entries&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;Name&amp;lt;/tt&amp;gt; is the user visible file name. It can be translated. &lt;br /&gt;
* &amp;lt;tt&amp;gt;File&amp;lt;/tt&amp;gt; is the path to the input file within the template archive&lt;br /&gt;
* &amp;lt;tt&amp;gt;OutputFile&amp;lt;/tt&amp;gt; is the suggested output file name. The actual name can be set by the user, but this is the default value. It will be converted to lowercase if needed, so don't do in here.&lt;br /&gt;
&lt;br /&gt;
The description file above results in a dialog page such as this&lt;br /&gt;
&lt;br /&gt;
[[File:KDevelop-template-output-files-dialog.png|center|alt=KDevelop template output files dialog|Assistant page for template output files]]&lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;br /&gt;
&lt;br /&gt;
==== Generic ====&lt;br /&gt;
The following variables are passed to all templates, regardless of their type&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|license&lt;br /&gt;
|String&lt;br /&gt;
|The license header without any comment characters. It can be split into multiple lines. &lt;br /&gt;
|One of the headers listed in [http://techbase.kde.org/Policies/Licensing_Policy KDE Licensing Policy]&lt;br /&gt;
|-&lt;br /&gt;
|output_file_foo&lt;br /&gt;
|String&lt;br /&gt;
|The relative path to the output file with identifier &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt;&lt;br /&gt;
|mynewclass.h&lt;br /&gt;
|-&lt;br /&gt;
|output_file_foo_absolute&lt;br /&gt;
|String&lt;br /&gt;
|The absolute path to the output file &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt;&lt;br /&gt;
|/home/user/projects/myproject/mynewclass.h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additionally, values of any [http://techbase.kde.org/Projects/KDevelop4/File_template_specification#Custom_options custom options] exposed by the template are passed as variables.&lt;br /&gt;
&lt;br /&gt;
==== Classes ====&lt;br /&gt;
The following variables are passed to &amp;lt;tt&amp;gt;Class&amp;lt;/tt&amp;gt; templates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|String&lt;br /&gt;
|Class name without namespaces &lt;br /&gt;
|Example&lt;br /&gt;
|-&lt;br /&gt;
|identifier&lt;br /&gt;
|String&lt;br /&gt;
|The full identifier of the new class, which is composed of namespaces and class name&lt;br /&gt;
|MyProject::Utilities::Example&lt;br /&gt;
|-&lt;br /&gt;
|namespaces&lt;br /&gt;
|StringList&lt;br /&gt;
|List of nested namespaces in which the class is declared&lt;br /&gt;
|[MyProject, Utilities]&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|ClassDescription&lt;br /&gt;
|An object containing the class name, base classes, functions and members&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|baseClasses&lt;br /&gt;
|InheritanceDescriptionList&lt;br /&gt;
|All direct base classes of the new class, containing both the inheritance type and the base class name. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|functions&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|List of all the functions in the new class&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|members&lt;br /&gt;
|VariableDescriptionList&lt;br /&gt;
|List of all the member variables in the new class&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The variables which are passed to class templates are also described in the {{class|TemplateClassGenerator|kdevelop|extragear}} API documentation.&lt;br /&gt;
&lt;br /&gt;
==== C++ Specific variables ====&lt;br /&gt;
&lt;br /&gt;
Templates for classes in C++ may make use of some additional variables provided by the language support plugin. They cover finding include files and grouping class functions and members by access specifiers. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|public_functions, protected_functions, private_functions&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|Class functions grouped by access modifiers. These lists do not include slots.&lt;br /&gt;
|-&lt;br /&gt;
|public_slots, protected_slots, private_slots&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|Qt slots grouped by access modifiers&lt;br /&gt;
|-&lt;br /&gt;
|signals&lt;br /&gt;
|FunctionDescriptionList&lt;br /&gt;
|All Qt signals in the new class&lt;br /&gt;
|-&lt;br /&gt;
|public_members, protected_members, private_members&lt;br /&gt;
|VariableDescriptionList&lt;br /&gt;
|Data members grouped by access modifiers&lt;br /&gt;
|-&lt;br /&gt;
|needs_qobject_macro&lt;br /&gt;
|bool&lt;br /&gt;
|&amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; if the class has at least one signal or slot, &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise&lt;br /&gt;
|-&lt;br /&gt;
|included_files&lt;br /&gt;
|StringList&lt;br /&gt;
|List of headers files that need to be included. This variable lists the missing include files for base classes. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Tests ====&lt;br /&gt;
The following variables are passed to &amp;lt;tt&amp;gt;Test&amp;lt;/tt&amp;gt; templates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variable name&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
!Example value&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|String&lt;br /&gt;
|Test name without namespaces&lt;br /&gt;
|MathTest&lt;br /&gt;
|-&lt;br /&gt;
|testCases&lt;br /&gt;
|StringList&lt;br /&gt;
|List of test case names. They do not necessarily begin or end with &amp;quot;test&amp;quot;, it is up to templates for frameworks that require such prefixes to add them. &lt;br /&gt;
|[addition, multiplication, negativeNumbers]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional templates and filters ===&lt;br /&gt;
&lt;br /&gt;
To make writing templates easier, '''KDevelop''' supplies additional template utilities. They are both in the form of text template, available for including into your own, or additional Grantlee filters. &lt;br /&gt;
&lt;br /&gt;
==== Templates for inclusion ====&lt;br /&gt;
&lt;br /&gt;
These templates usually read some variables from the context. Thus, you have to make sure the correct variables are set before including the template. This is normally done using &amp;lt;code&amp;gt;with&amp;lt;/code&amp;gt; statements. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smarty&amp;quot;&amp;gt;&lt;br /&gt;
{% for f in functions %}&lt;br /&gt;
  {% with f.arguments as arguments %}&lt;br /&gt;
    {{ f.returnType|default:&amp;quot;void&amp;quot; }} {{ f.name }}({% include &amp;quot;arguments_types_names.txt&amp;quot; %});&lt;br /&gt;
  {% endwith %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Includable templates in '''KDevPlatform''' are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Template&lt;br /&gt;
!Required variables&lt;br /&gt;
!Language&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;arguments_names.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|arguments : VariableDescriptionList&lt;br /&gt;
|Weakly-typed languages&lt;br /&gt;
|Comma-separated list of argument names.  &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;arguments_types_names.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|arguments : VariableDescriptionList&lt;br /&gt;
|Strongly-typed languages&lt;br /&gt;
|Comma-separated list of argument types and names.  &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;include_guard_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Include guard macro, generated from the namespaces and the class name.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_open_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Opening tag for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_close_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|Closing tag for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;namespace_use_cpp.txt&amp;lt;/tt&amp;gt;&lt;br /&gt;
|namespaces : StringList&lt;br /&gt;
|C++&lt;br /&gt;
|&amp;lt;tt&amp;gt;using namespace&amp;lt;/tt&amp;gt; statement for nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Template filters ====&lt;br /&gt;
&lt;br /&gt;
KDevPlatform provides an additional filter library. Because filters are implemented in code and not modifiable by users, it is preferred to use template inclusion if possible. These filters are mostly utilities for string operations and are not language specific. &lt;br /&gt;
&lt;br /&gt;
To use them in templates, add &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{% load kdev_filters %}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the beginning of your template file. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Template filter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;lines_prepend&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Takes a string argument and prepends it to every line of the input. It is intended for licenses and other blocks of commented text. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;upper_first&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the first character of input into uppercase, and leaves the rest intact. This is useful for creating accessor functions, and prefixing identifier in general. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;camel_case&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input from an underscore notation to camel case, starting with a lowercase character. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;camel_case_upper&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input from an underscore notation to camel case, starting with an uppercase character.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;underscores&amp;lt;/tt&amp;gt;&lt;br /&gt;
|Converts the input to the underscore notations, where words are separated by underscores instead of uppercase letters. The output is entirely lowercase.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Custom options ===&lt;br /&gt;
&lt;br /&gt;
Templates can expose configuration options to the user prior to the class generation. To do this, add a KConfig XT formatted file into the archive, and specify an &amp;lt;tt&amp;gt;OptionsFile&amp;lt;/tt&amp;gt; entry in the template description file pointing to it. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
OptionsFile=options.kcfg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Template options are meant to be used only for small differences in large, complex templates. To reduce the number of necessary clicks, it is preferred to use separate templates instead. }}&lt;br /&gt;
&lt;br /&gt;
For information about the options file format, see [[Development/Tutorials/Using_KConfig_XT|Using KConfig XT]]. Note that KDevelop only supports a subset of the KConfig XT specification. Only &amp;lt;tt&amp;gt;Int&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;Bool&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;String&amp;lt;/tt&amp;gt; types are recognized, options with other types are ignored. Furthermore, only &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;label&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; attributes are used. The default value of options is rendered as a template, so it can include variables. &lt;br /&gt;
&lt;br /&gt;
Here is an example options file that exposes two string options, useful for [[Policies/Binary_Compatibility_Issues_With_C%2B%2B#Using_a_d-Pointer|private pointers]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;kcfg xmlns=&amp;quot;http://www.kde.org/standards/kcfg/1.0&amp;quot;&lt;br /&gt;
      xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
      xsi:schemaLocation=&amp;quot;http://www.kde.org/standards/kcfg/1.0&lt;br /&gt;
      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;kcfgfile arg=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Private Class&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;entry name=&amp;quot;private_class_name&amp;quot; type=&amp;quot;String&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;label&amp;gt;Private class name&amp;lt;/label&amp;gt;&lt;br /&gt;
      &amp;lt;default&amp;gt;{{ name }}Private&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/entry&amp;gt;&lt;br /&gt;
    &amp;lt;entry name=&amp;quot;private_member_name&amp;quot; type=&amp;quot;String&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;label&amp;gt;Private member name&amp;lt;/label&amp;gt;&lt;br /&gt;
      &amp;lt;default&amp;gt;d&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/entry&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/kcfg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just before creating the class, '''KDevelop''' will show an assistant dialog page, asking for the two options&lt;br /&gt;
&lt;br /&gt;
[[File:KDevelop-template-option-dialog.png|center|alt=KDevelop template options dialog|Assistant page for template options]]&lt;br /&gt;
&lt;br /&gt;
The values the user sets for the two options will be available to the template as variables with names matching the entry names. In the private pointer example, the d-pointer declaration template might look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
private:&lt;br /&gt;
    {{ private_class_name }}* const {{ private_member_name }};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the user accepts the default values, and the class name is &amp;lt;tt&amp;gt;Example&amp;lt;/tt&amp;gt;, the rendered result of this snippet will be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
private:&lt;br /&gt;
    ExamplePrivate* const d;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2012-11-19T12:33:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
In Debian: same as ubuntu, but you also need to compile at Grantlee in at least version 0.1.7, though I suggest to use the latest stable release. See http://downloads.grantlee.org/ and http://www.gitorious.org/grantlee/pages/Home&lt;br /&gt;
&lt;br /&gt;
When configuring kdevplatform, these packages are needed to remedy the following errors:&lt;br /&gt;
kdelibs5-dev: ERROR: Could not find KDE4 kde4-config&lt;br /&gt;
zlib1g-dev: Could NOT find ZLIB&lt;br /&gt;
&lt;br /&gt;
When configuring kdevelop, these packages are needed to remedy the following errors:&lt;br /&gt;
&lt;br /&gt;
Could NOT find KDE4Workspace&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.2 for kdevplatform and branch 4.2 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions. If you want to use it directly, you'll have to logout of your current KDE session and log in again, otherwise this script won't be sourced of course...&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4. Stable plugins can be found in Extragear: https://projects.kde.org/projects/extragear/kdevelop/plugins . Experimental, potentially unstable or even broken plugins can be found in Playground: https://projects.kde.org/projects/playground/devtools/plugins .&lt;br /&gt;
&lt;br /&gt;
Many plugins you can find there (e.g. PHP, CSS, QMake, ...) require the KDevelop-PG-Qt parser generator. You can find that here: https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pg-qt&lt;br /&gt;
&lt;br /&gt;
Check the sources out and compile the plugin using the same steps as above, e.g. for PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   mkdir -p $HOME/src/kdev-php/build&lt;br /&gt;
   cd $HOME/src/kdev-php/build&lt;br /&gt;
   cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
   make&lt;br /&gt;
   make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt; after installation (see above)!&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull &lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;br /&gt;
&lt;br /&gt;
== 8. Troubleshooting ==&lt;br /&gt;
* When running cmake on KDevelop, you get &amp;quot;Could NOT find KDE4Workspace&amp;quot;. You need to install the kdebase-workspace-dev package.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/CodingStyle</id>
		<title>Projects/KDevelop4/CodingStyle</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/CodingStyle"/>
				<updated>2012-11-11T22:08:51Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current KDevelop code base is very inconsistent when it comes to the coding style. So please adhere to the file's coding style you are working on / patching.&lt;br /&gt;
&lt;br /&gt;
For new files / projects / plugins, please use the [[Policies/Kdelibs_Coding_Style]] guidelines. Here are a few special additions:&lt;br /&gt;
&lt;br /&gt;
== QObject and Access Modifiers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
// wrong&lt;br /&gt;
class Foo : public QObject {&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
  public:&lt;br /&gt;
    Foo();&lt;br /&gt;
  private:&lt;br /&gt;
    int bla;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// correct foo.h&lt;br /&gt;
class Foo: public QObject&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
    Foo();&lt;br /&gt;
private:&lt;br /&gt;
    int m_bla;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Class Initialization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
// wrong foo.h&lt;br /&gt;
class Foo : public Bar {&lt;br /&gt;
public:&lt;br /&gt;
    Foo(int i, int j) : Bar(i), bla(j) { /* do stuff */ }&lt;br /&gt;
private:&lt;br /&gt;
    int bla;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// correct foo.h&lt;br /&gt;
class Foo: public Bar&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
    Foo(int i, int j);&lt;br /&gt;
private:&lt;br /&gt;
    int m_bla;&lt;br /&gt;
};&lt;br /&gt;
// foo.cpp&lt;br /&gt;
Foo::Foo(int i, int j)&lt;br /&gt;
: Bar(i)&lt;br /&gt;
, m_bla(j)&lt;br /&gt;
{&lt;br /&gt;
    // do stuff&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using Namespaces ==&lt;br /&gt;
&lt;br /&gt;
Never add a &amp;quot;using namespace ...&amp;quot; to a header. Do use that though in every .cpp file , esp. for the KDevelop namespace. Public API should always be in the KDevelop namespace.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Policies/Kdelibs_Coding_Style</id>
		<title>Policies/Kdelibs Coding Style</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Policies/Kdelibs_Coding_Style"/>
				<updated>2012-11-11T22:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: lowercase variables are not an exception to useful variable names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
This document describes the recommended coding style for kdelibs. Nobody is forced to use this style, but to have consistent formatting of the source code files it is recommended to make use of it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
'''In short: Kdelibs coding style follows the [http://wiki.qt-project.org/Coding_Style Qt 4 coding style].'''&lt;br /&gt;
&lt;br /&gt;
== Indentation == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
* No tabs&lt;br /&gt;
* 4 Spaces instead of one tab&lt;br /&gt;
&lt;br /&gt;
== Variable declaration == &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* Each variable declaration on a new line&lt;br /&gt;
* Each new word in a variable name starts with a capital letter (so-called camelCase)&lt;br /&gt;
* Avoid abbreviations&lt;br /&gt;
* Take useful names. No short names, except:&lt;br /&gt;
** Single character variable names can denote counters and temporary variables whose purpose is obvious&lt;br /&gt;
* Variables and functions start with a lowercase letter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
KProgressBar *prbar;&lt;br /&gt;
QString prtxt, errstr;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
KProgressBar *downloadProgressBar;&lt;br /&gt;
QString progressText;&lt;br /&gt;
QString errorString;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Whitespace == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
* Use blank lines to group statements&lt;br /&gt;
* Use only one empty line&lt;br /&gt;
* Use one space after each keyword&lt;br /&gt;
* For pointers or references, use a single space before '*' or '&amp;amp;', but not after&lt;br /&gt;
* No space after a cast&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
QString* myString;&lt;br /&gt;
if(true){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
QString *myString;&lt;br /&gt;
if (true) {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Braces == &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
As a base rule, the left curly brace goes on the same line as the start of the statement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true) {&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Exception: Function implementations, class, struct and namespace declarations always have the opening brace on the start of a line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
void debug(int i)&lt;br /&gt;
{&lt;br /&gt;
    qDebug(&amp;quot;foo: %i&amp;quot;, i);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Debug&lt;br /&gt;
{&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
Use curly braces even when the body of a conditional statement contains only one line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true)&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; ++i)&lt;br /&gt;
    qDebug(&amp;quot;%i&amp;quot;, i);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
if (true) {&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; ++i) {&lt;br /&gt;
    qDebug(&amp;quot;%i&amp;quot;, i);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Switch statements == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Case labels are on the same column as the switch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
switch (myEnum) {&lt;br /&gt;
case Value1:&lt;br /&gt;
    doSomething();&lt;br /&gt;
    break;&lt;br /&gt;
case Value2:&lt;br /&gt;
    doSomethingElse();&lt;br /&gt;
    // fall through&lt;br /&gt;
default:&lt;br /&gt;
    defaultHandling();&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Line breaks == &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Try to keep lines shorter than 100 characters, inserting line breaks as necessary.&lt;br /&gt;
&lt;br /&gt;
== Qt Includes == &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* If you add #includes for Qt classes, use both the module and class name.  This allows library code to be used by applications without excessive compiler include paths.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
// wrong&amp;lt;/translate&amp;gt;&lt;br /&gt;
#include &amp;lt;QString&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
// correct&amp;lt;/translate&amp;gt;&lt;br /&gt;
#include &amp;lt;QtCore/QString&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Artistic Style (astyle) automatic code formatting == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
You can use [http://astyle.sourceforge.net/ astyle] (&amp;gt;=1.23) to format code or to test if you have followed this document. Run the following command:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
astyle --indent=spaces=4 --brackets=linux \&lt;br /&gt;
       --indent-labels --pad=oper --unpad=paren \&lt;br /&gt;
       --one-line=keep-statements --convert-tabs \&lt;br /&gt;
       --indent-preprocessor \&lt;br /&gt;
       `find -type f -name '*.cpp'-or -name '*.cc' -or -name '*.h'`&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
With astyle (&amp;gt;=2.01) you need to run the following command:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
astyle --indent=spaces=4 --brackets=linux \&lt;br /&gt;
       --indent-labels --pad-oper --unpad-paren --pad-header \&lt;br /&gt;
       --keep-one-line-statements --convert-tabs \&lt;br /&gt;
       --indent-preprocessor \&lt;br /&gt;
       `find -type f -name '*.cpp' -or -name '*.cc' -or -name '*.h'`&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
A related shell script could be found for unix in [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs kdesdk/scripts/astyle-kdelibs] and for windows in [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/astyle-kdelibs.bat kdesdk/scripts/astyle-kdelibs.bat].&lt;br /&gt;
&lt;br /&gt;
== Emacs and Vim scripts == &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
The &amp;quot;scripts&amp;quot; directory in the kdesdk module contains, among other useful things, some useful additions to the Emacs and Vim text editors that make it easier to edit KDE code with them.&lt;br /&gt;
 &lt;br /&gt;
=== Emacs ===&lt;br /&gt;
The [http://websvn.kde.org/trunk/KDE/kdesdk/scripts/kde-emacs kde-emacs] directory contains a set of key bindings, macros and general useful code. It is compatible with both GNU Emacs and XEmacs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
To start using kde-emacs, add the following to your .emacs:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'load-path &amp;quot;/path/to/kde-emacs&amp;quot;)&lt;br /&gt;
(require 'kde-emacs)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Many settings can be changed by editing the &amp;quot;kde-emacs&amp;quot; group via &amp;lt;tt&amp;gt;M-x customize-group&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
For more information, including what the key bindings are and what additional settings you could add to your .emacs, please check &amp;lt;tt&amp;gt;kde-emacs.el&amp;lt;/tt&amp;gt; itself.&lt;br /&gt;
&lt;br /&gt;
=== Vim === &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
You can find a vim script in [http://websvn.kde.org/*checkout*/trunk/KDE/kdesdk/scripts/kde-devel-vim.vim kdesdk/scripts/kde-devel-vim.vim] that helps you to keep the coding style correct. In addition to defaulting to the kdelibs coding style it will automatically use the correct style for Solid and kdepim code. If you want to add rules for other projects feel free to add them in the SetCodingStyle function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
To use the script, include it in your {{path|~/.vimrc}} like this:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
source /path/to/kde/sources/kdesdk/scripts/kde-devel-vim.vim&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
Document started by Urs Wolfer. Some parts of this document have been adopted from the Qt Coding Style document posted by Zack Rusin on kde-core-devel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
[[Category:Policies]] [[Category:C++]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/CodingStyle</id>
		<title>Projects/KDevelop4/CodingStyle</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/CodingStyle"/>
				<updated>2012-11-11T22:00:11Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current KDevelop code base is very inconsistent when it comes to the coding style. So please adhere to the file's coding style you are working on / patching.&lt;br /&gt;
&lt;br /&gt;
For new files / projects / plugins, please use the [[Policies/Kdelibs_Coding_Style]] guidelines. Here are a few special additions:&lt;br /&gt;
&lt;br /&gt;
== Class Initialization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
// wrong foo.h&lt;br /&gt;
class Foo : public Bar {&lt;br /&gt;
public:&lt;br /&gt;
  Foo(int i, int j) : Bar(i), bla(j) {}&lt;br /&gt;
private:&lt;br /&gt;
  int bla;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// correct foo.h&lt;br /&gt;
class Foo: public Bar&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  Foo(int i, int j);&lt;br /&gt;
private:&lt;br /&gt;
  int m_bla;&lt;br /&gt;
};&lt;br /&gt;
// foo.cpp&lt;br /&gt;
Foo::Foo(int i, int j)&lt;br /&gt;
: Bar(i)&lt;br /&gt;
, m_bla(j)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using Namespaces ==&lt;br /&gt;
&lt;br /&gt;
Never add a &amp;quot;using namespace ...&amp;quot; to a header. Do use that though in every .cpp file , esp. for the KDevelop namespace.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/CodingStyle</id>
		<title>Projects/KDevelop4/CodingStyle</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/CodingStyle"/>
				<updated>2012-11-11T21:57:03Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current KDevelop code base is very inconsistent when it comes to the coding style. So please adhere to the file's coding style you are working on / patching.&lt;br /&gt;
&lt;br /&gt;
For new files / projects / plugins, please use the [[Policies/Kdelibs_Coding_Style]] guidelines. Here are a few special additions:&lt;br /&gt;
&lt;br /&gt;
== Class Initialization ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp-qt&amp;quot;&amp;gt;&lt;br /&gt;
// wrong foo.h&lt;br /&gt;
class Foo : public Bar {&lt;br /&gt;
public:&lt;br /&gt;
  Foo(int i, int j) : Bar(i), bla(j) {}&lt;br /&gt;
private:&lt;br /&gt;
  int bla;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// correct foo.h&lt;br /&gt;
class Foo: public Bar&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  Foo(int i, int j);&lt;br /&gt;
private:&lt;br /&gt;
  int m_bla;&lt;br /&gt;
};&lt;br /&gt;
// foo.cpp&lt;br /&gt;
Foo::Foo(int i, int j)&lt;br /&gt;
: Bar(i)&lt;br /&gt;
, m_bla(j)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2012-10-26T11:48:45Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
In Debian: same as ubuntu, but you also need to compile at Grantlee in at least version 0.1.7, though I suggest to use the latest stable release. See http://downloads.grantlee.org/ and http://www.gitorious.org/grantlee/pages/Home&lt;br /&gt;
&lt;br /&gt;
When configuring kdevplatform, these packages are needed to remedy the following errors:&lt;br /&gt;
kdelibs5-dev: ERROR: Could not find KDE4 kde4-config&lt;br /&gt;
zlib1g-dev: Could NOT find ZLIB&lt;br /&gt;
&lt;br /&gt;
When configuring kdevelop, these packages are needed to remedy the following errors:&lt;br /&gt;
&lt;br /&gt;
Could NOT find KDE4Workspace&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.2 for kdevplatform and branch 4.2 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4. Stable plugins can be found in Extragear: https://projects.kde.org/projects/extragear/kdevelop/plugins . Experimental, potentially unstable or even broken plugins can be found in Playground: https://projects.kde.org/projects/playground/devtools/plugins .&lt;br /&gt;
&lt;br /&gt;
Many plugins you can find there (e.g. PHP, CSS, QMake, ...) require the KDevelop-PG-Qt parser generator. You can find that here: https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pg-qt&lt;br /&gt;
&lt;br /&gt;
Check the sources out and compile the plugin using the same steps as above, e.g. for PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   mkdir -p $HOME/src/kdev-php/build&lt;br /&gt;
   cd $HOME/src/kdev-php/build&lt;br /&gt;
   cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
   make&lt;br /&gt;
   make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt; after installation (see above)!&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull &lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;br /&gt;
&lt;br /&gt;
== 8. Troubleshooting ==&lt;br /&gt;
* When running cmake on KDevelop, you get &amp;quot;Could NOT find KDE4Workspace&amp;quot;. You need to install the kdebase-workspace-dev package.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2012-10-26T11:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
In Debian: same as ubuntu, but you also need to compile at Grantlee in at least version 0.1.7, though I suggest to use the latest stable release. See http://downloads.grantlee.org/ and http://www.gitorious.org/grantlee/pages/Home&lt;br /&gt;
&lt;br /&gt;
When configuring kdevplatform, these packages are needed to remedy the following errors:&lt;br /&gt;
kdelibs5-dev: ERROR: Could not find KDE4 kde4-config&lt;br /&gt;
zlib1g-dev: Could NOT find ZLIB&lt;br /&gt;
&lt;br /&gt;
When configuring kdevelop, these packages are needed to remedy the following errors:&lt;br /&gt;
&lt;br /&gt;
Could NOT find KDE4Workspace&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.2 for kdevplatform and branch 4.2 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4. Stable plugins can be found in Extragear: https://projects.kde.org/projects/extragear/kdevelop/plugins . Experimental, potentially unstable or even broken plugins can be found in Playground: https://projects.kde.org/projects/playground/devtools/plugins .&lt;br /&gt;
&lt;br /&gt;
Many plugins you can find there (e.g. PHP, CSS, QMake, ...) require the KDevelop-PG-Qt parser generator. You can find that here: https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pg-qt&lt;br /&gt;
&lt;br /&gt;
Check the sources out and compile the plugin using the same steps as above, e.g. for PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   mkdir -p $HOME/src/kdev-php/build&lt;br /&gt;
   cd $HOME/src/kdev-php/build&lt;br /&gt;
   cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
   make&lt;br /&gt;
   make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt; after installation (see above)!&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull &lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;br /&gt;
&lt;br /&gt;
== 8. Troubleshooting ==&lt;br /&gt;
* When running cmake on KDevelop, you get &amp;quot;Could NOT find KDE4Workspace&amp;quot;. You need to install the kdebase-workspace-dev package.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-25T00:26:04Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* the plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be a unique name that is used to reference and find your plugin.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;br /&gt;
&lt;br /&gt;
= the plugin =&lt;br /&gt;
&lt;br /&gt;
A basic plugin's header looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;interfaces/iplugin.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/ilanguagesupport.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class KDevTestLangPlugin : public KDevelop::IPlugin, public KDevelop::ILanguageSupport&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
    Q_INTERFACES( KDevelop::ILanguageSupport )&lt;br /&gt;
    public:&lt;br /&gt;
        explicit KDevTestLangPlugin( QObject* parent, const QVariantList&amp;amp; args = QVariantList() );&lt;br /&gt;
        &lt;br /&gt;
        virtual KDevelop::ParseJob* createParseJob(const KDevelop::IndexedString&amp;amp; url);&lt;br /&gt;
        virtual QString name() const;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An implementation could look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;kdevtestlangplugin.h&amp;quot;&lt;br /&gt;
#include &amp;lt;KPluginFactory&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;testlangparsejob.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
K_PLUGIN_FACTORY(KDevTestLangSupportFactory, registerPlugin&amp;lt;KDevTestLangPlugin&amp;gt;(); )&lt;br /&gt;
K_EXPORT_PLUGIN(KDevTestLangSupportFactory(KAboutData(&amp;quot;kdevtestlangsupport&amp;quot;,0, ki18n(&amp;quot;TestLanguage Support&amp;quot;), &amp;quot;0.1&amp;quot;, ki18n(&amp;quot;Support for Some Test Language&amp;quot;), KAboutData::License_GPL)))&lt;br /&gt;
&lt;br /&gt;
using namespace KDevelop;&lt;br /&gt;
&lt;br /&gt;
KDevTestLangPlugin::KDevTestLangPlugin(QObject* parent, const QVariantList&amp;amp; )&lt;br /&gt;
     : IPlugin( KDevTestLangSupportFactory::componentData(), parent )&lt;br /&gt;
     , ILanguageSupport()&lt;br /&gt;
{&lt;br /&gt;
    // NOTE: this is important!&lt;br /&gt;
    KDEV_USE_EXTENSION_INTERFACE(ILanguageSupport)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ParseJob* KDevTestLangPlugin::createParseJob(const IndexedString&amp;amp; url)&lt;br /&gt;
{&lt;br /&gt;
    return new TestLangParseJob(url, this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QString KDevTestLangPlugin::name() const&lt;br /&gt;
{&lt;br /&gt;
    // some unique id for your language&lt;br /&gt;
    return &amp;quot;testlang&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-25T00:25:40Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* .desktop file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be a unique name that is used to reference and find your plugin.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;br /&gt;
&lt;br /&gt;
= the plugin =&lt;br /&gt;
&lt;br /&gt;
A basic plugin's header looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;interfaces/iplugin.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/ilanguagesupport.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class KDevTestLangPlugin : public KDevelop::IPlugin, public KDevelop::ILanguageSupport&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
    Q_INTERFACES( KDevelop::ILanguageSupport )&lt;br /&gt;
    public:&lt;br /&gt;
        explicit KDevTestLangPlugin( QObject* parent, const QVariantList&amp;amp; args = QVariantList() );&lt;br /&gt;
        &lt;br /&gt;
        virtual KDevelop::ParseJob* createParseJob(const KDevelop::IndexedString&amp;amp; url);&lt;br /&gt;
        virtual QString name() const;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An implementation could look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;kdevtestlangplugin.h&amp;quot;&lt;br /&gt;
#include &amp;lt;KPluginFactory&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;testlangparsejob.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
K_PLUGIN_FACTORY(KDevTestLangSupportFactory, registerPlugin&amp;lt;KDevTestLangPlugin&amp;gt;(); )&lt;br /&gt;
// note: &amp;quot;kdevtestlangsupport&amp;quot; must be the same as you used in X-KDE-PluginInfo-Name!&lt;br /&gt;
K_EXPORT_PLUGIN(KDevTestLangSupportFactory(KAboutData(&amp;quot;kdevtestlangsupport&amp;quot;,&amp;quot;kdevtestlang&amp;quot;, ki18n(&amp;quot;TestLanguage Support&amp;quot;), &amp;quot;0.1&amp;quot;, ki18n(&amp;quot;Support for Some Test Language&amp;quot;), KAboutData::License_GPL)))&lt;br /&gt;
&lt;br /&gt;
using namespace KDevelop;&lt;br /&gt;
&lt;br /&gt;
KDevTestLangPlugin::KDevTestLangPlugin(QObject* parent, const QVariantList&amp;amp; )&lt;br /&gt;
     : IPlugin( KDevTestLangSupportFactory::componentData(), parent )&lt;br /&gt;
     , ILanguageSupport()&lt;br /&gt;
{&lt;br /&gt;
    // NOTE: this is important!&lt;br /&gt;
    KDEV_USE_EXTENSION_INTERFACE(ILanguageSupport)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ParseJob* KDevTestLangPlugin::createParseJob(const IndexedString&amp;amp; url)&lt;br /&gt;
{&lt;br /&gt;
    return new TestLangParseJob(url, this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QString KDevTestLangPlugin::name() const&lt;br /&gt;
{&lt;br /&gt;
    // some unique id for your language&lt;br /&gt;
    return &amp;quot;testlang&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-24T23:47:36Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* the plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be the same as the name of your plugin in the code, i.e. look into your main plugin .cpp file and find the &amp;lt;code&amp;gt;K_EXPORT_PLUGIN&amp;lt;/code&amp;gt; line, more exactly the first argument to the &amp;lt;code&amp;gt;KAboutData&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;br /&gt;
&lt;br /&gt;
= the plugin =&lt;br /&gt;
&lt;br /&gt;
A basic plugin's header looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;interfaces/iplugin.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/ilanguagesupport.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class KDevTestLangPlugin : public KDevelop::IPlugin, public KDevelop::ILanguageSupport&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
    Q_INTERFACES( KDevelop::ILanguageSupport )&lt;br /&gt;
    public:&lt;br /&gt;
        explicit KDevTestLangPlugin( QObject* parent, const QVariantList&amp;amp; args = QVariantList() );&lt;br /&gt;
        &lt;br /&gt;
        virtual KDevelop::ParseJob* createParseJob(const KDevelop::IndexedString&amp;amp; url);&lt;br /&gt;
        virtual QString name() const;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An implementation could look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;kdevtestlangplugin.h&amp;quot;&lt;br /&gt;
#include &amp;lt;KPluginFactory&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;testlangparsejob.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
K_PLUGIN_FACTORY(KDevTestLangSupportFactory, registerPlugin&amp;lt;KDevTestLangPlugin&amp;gt;(); )&lt;br /&gt;
// note: &amp;quot;kdevtestlangsupport&amp;quot; must be the same as you used in X-KDE-PluginInfo-Name!&lt;br /&gt;
K_EXPORT_PLUGIN(KDevTestLangSupportFactory(KAboutData(&amp;quot;kdevtestlangsupport&amp;quot;,&amp;quot;kdevtestlang&amp;quot;, ki18n(&amp;quot;TestLanguage Support&amp;quot;), &amp;quot;0.1&amp;quot;, ki18n(&amp;quot;Support for Some Test Language&amp;quot;), KAboutData::License_GPL)))&lt;br /&gt;
&lt;br /&gt;
using namespace KDevelop;&lt;br /&gt;
&lt;br /&gt;
KDevTestLangPlugin::KDevTestLangPlugin(QObject* parent, const QVariantList&amp;amp; )&lt;br /&gt;
     : IPlugin( KDevTestLangSupportFactory::componentData(), parent )&lt;br /&gt;
     , ILanguageSupport()&lt;br /&gt;
{&lt;br /&gt;
    // NOTE: this is important!&lt;br /&gt;
    KDEV_USE_EXTENSION_INTERFACE(ILanguageSupport)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ParseJob* KDevTestLangPlugin::createParseJob(const IndexedString&amp;amp; url)&lt;br /&gt;
{&lt;br /&gt;
    return new TestLangParseJob(url, this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QString KDevTestLangPlugin::name() const&lt;br /&gt;
{&lt;br /&gt;
    // some unique id for your language&lt;br /&gt;
    return &amp;quot;testlang&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-24T20:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* the plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be the same as the name of your plugin in the code, i.e. look into your main plugin .cpp file and find the &amp;lt;code&amp;gt;K_EXPORT_PLUGIN&amp;lt;/code&amp;gt; line, more exactly the first argument to the &amp;lt;code&amp;gt;KAboutData&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;br /&gt;
&lt;br /&gt;
= the plugin =&lt;br /&gt;
&lt;br /&gt;
A basic plugin's header looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;interfaces/iplugin.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/ilanguagesupport.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class KDevTestLangPlugin : public KDevelop::IPlugin, public KDevelop::ILanguageSupport&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
    Q_INTERFACES( KDevelop::ILanguageSupport )&lt;br /&gt;
    public:&lt;br /&gt;
        explicit KDevTestLangPlugin( QObject* parent, const QVariantList&amp;amp; args = QVariantList() );&lt;br /&gt;
        &lt;br /&gt;
        virtual KDevelop::ParseJob* createParseJob(const KUrl&amp;amp; url);&lt;br /&gt;
        virtual QString name() const;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An implementation could look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;kdevtestlangplugin.h&amp;quot;&lt;br /&gt;
#include &amp;lt;KPluginFactory&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;testlangparsejob.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
K_PLUGIN_FACTORY(KDevTestLangSupportFactory, registerPlugin&amp;lt;KDevTestLangPlugin&amp;gt;(); )&lt;br /&gt;
// note: &amp;quot;kdevtestlangsupport&amp;quot; must be the same as you used in X-KDE-PluginInfo-Name!&lt;br /&gt;
K_EXPORT_PLUGIN(KDevTestLangSupportFactory(KAboutData(&amp;quot;kdevtestlangsupport&amp;quot;,&amp;quot;kdevtestlang&amp;quot;, ki18n(&amp;quot;TestLanguage Support&amp;quot;), &amp;quot;0.1&amp;quot;, ki18n(&amp;quot;Support for Some Test Language&amp;quot;), KAboutData::License_GPL)))&lt;br /&gt;
&lt;br /&gt;
KDevTestLangPlugin::KDevTestLangPlugin(QObject* parent, const QVariantList&amp;amp; )&lt;br /&gt;
     : KDevelop::IPlugin( KDevTestLangSupportFactory::componentData(), parent )&lt;br /&gt;
     , KDevelop::ILanguageSupport()&lt;br /&gt;
{&lt;br /&gt;
    // NOTE: this is important!&lt;br /&gt;
    KDEV_USE_EXTENSION_INTERFACE(KDevelop::ILanguageSupport)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
KDevelop::ParseJob* KDevTestLangPlugin::createParseJob(const KUrl&amp;amp; url)&lt;br /&gt;
{&lt;br /&gt;
    return new TestLangParseJob(url, this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QString KDevTestLangPlugin::name() const&lt;br /&gt;
{&lt;br /&gt;
    // some unique id for your language&lt;br /&gt;
    return &amp;quot;testlang&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-24T20:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be the same as the name of your plugin in the code, i.e. look into your main plugin .cpp file and find the &amp;lt;code&amp;gt;K_EXPORT_PLUGIN&amp;lt;/code&amp;gt; line, more exactly the first argument to the &amp;lt;code&amp;gt;KAboutData&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;br /&gt;
&lt;br /&gt;
= the plugin =&lt;br /&gt;
&lt;br /&gt;
A basic plugin's header looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;interfaces/iplugin.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/ilanguagesupport.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class KDevTestLangPlugin : public KDevelop::IPlugin, public KDevelop::ILanguageSupport&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
    Q_INTERFACES( KDevelop::ILanguageSupport )&lt;br /&gt;
    public:&lt;br /&gt;
        explicit KDevQmlJsPlugin( QObject* parent, const QVariantList&amp;amp; args = QVariantList() );&lt;br /&gt;
        &lt;br /&gt;
        virtual KDevelop::ParseJob* createParseJob(const KUrl&amp;amp; url);&lt;br /&gt;
        virtual QString name() const;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An implementation could look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;kdevqmljsplugin.h&amp;quot;&lt;br /&gt;
#include &amp;lt;KPluginFactory&amp;gt;&lt;br /&gt;
#include &amp;lt;KAboutData&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;qmljsparsejob.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
K_PLUGIN_FACTORY(KDevQmlJsSupportFactory, registerPlugin&amp;lt;KDevQmlJsPlugin&amp;gt;(); )&lt;br /&gt;
// note: &amp;quot;kdevtestlangsupport&amp;quot; must be the same as you used in X-KDE-PluginInfo-Name!&lt;br /&gt;
K_EXPORT_PLUGIN(KDevQmlJsSupportFactory(KAboutData(&amp;quot;kdevtestlangsupport&amp;quot;,&amp;quot;kdevtestlang&amp;quot;, ki18n(&amp;quot;TestLanguage Support&amp;quot;), &amp;quot;0.1&amp;quot;, ki18n(&amp;quot;Support for Some Test Language&amp;quot;), KAboutData::License_GPL)))&lt;br /&gt;
&lt;br /&gt;
KDevQmlJsPlugin::KDevQmlJsPlugin(QObject* parent, const QVariantList&amp;amp; )&lt;br /&gt;
     : KDevelop::IPlugin( KDevQmlJsSupportFactory::componentData(), parent )&lt;br /&gt;
     , KDevelop::ILanguageSupport()&lt;br /&gt;
{&lt;br /&gt;
    // NOTE: this is important!&lt;br /&gt;
    KDEV_USE_EXTENSION_INTERFACE(KDevelop::ILanguageSupport)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
KDevelop::ParseJob* KDevTestLangPlugin::createParseJob(const KUrl&amp;amp; url)&lt;br /&gt;
{&lt;br /&gt;
    return new TestLangParseJob(url, this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QString KDevTestLangPlugin::name() const&lt;br /&gt;
{&lt;br /&gt;
    // some unique id for your language&lt;br /&gt;
    return &amp;quot;testlang&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin</id>
		<title>Projects/KDevelop4/LanguagePlugin</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/LanguagePlugin"/>
				<updated>2012-10-24T20:03:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;= .desktop file =  In order to find your language support plugin, KDE needs a .desktop file with some meta information.  * &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= .desktop file =&lt;br /&gt;
&lt;br /&gt;
In order to find your language support plugin, KDE needs a .desktop file with some meta information.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-Library=...&amp;lt;/code&amp;gt; this must be the same as the name of your library, i.e. look into the &amp;lt;code&amp;gt;CMakeLists.txt&amp;lt;/code&amp;gt; for your &amp;lt;code&amp;gt;kde4_add_plugin&amp;lt;/code&amp;gt; line and use the same name&lt;br /&gt;
* &amp;lt;code&amp;gt;X-KDE-PluginInfo-Name=...&amp;lt;/code&amp;gt; this must be the same as the name of your plugin in the code, i.e. look into your main plugin .cpp file and find the &amp;lt;code&amp;gt;K_EXPORT_PLUGIN&amp;lt;/code&amp;gt; line, more exactly the first argument to the &amp;lt;code&amp;gt;KAboutData&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After installing your plugin, make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt;. For testing, try duchainify or ktraderclient.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2012-05-25T17:14:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
When configuring kdevplatform, these packages are needed to remedy the following errors:&lt;br /&gt;
kdelibs5-dev: ERROR: Could not find KDE4 kde4-config&lt;br /&gt;
zlib1g-dev: Could NOT find ZLIB&lt;br /&gt;
&lt;br /&gt;
When configuring kdevelop, these packages are needed to remedy the following errors:&lt;br /&gt;
&lt;br /&gt;
Could NOT find KDE4Workspace&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.2 for kdevplatform and branch 4.2 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4. Stable plugins can be found in Extragear: https://projects.kde.org/projects/extragear/kdevelop/plugins . Experimental, potentially unstable or even broken plugins can be found in Playground: https://projects.kde.org/projects/playground/devtools/plugins .&lt;br /&gt;
&lt;br /&gt;
Many plugins you can find there (e.g. PHP, CSS, QMake, ...) require the KDevelop-PG-Qt parser generator. You can find that here: https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pg-qt&lt;br /&gt;
&lt;br /&gt;
Check the sources out and compile the plugin using the same steps as above, e.g. for PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   mkdir -p $HOME/src/kdev-php/build&lt;br /&gt;
   cd $HOME/src/kdev-php/build&lt;br /&gt;
   cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
   make&lt;br /&gt;
   make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt; after installation (see above)!&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull &lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;br /&gt;
&lt;br /&gt;
== 8. Troubleshooting ==&lt;br /&gt;
* When running cmake on KDevelop, you get &amp;quot;Could NOT find KDE4Workspace&amp;quot;. You need to install the kdebase-workspace-dev package.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/CodingStyle</id>
		<title>Projects/KDevelop4/CodingStyle</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/CodingStyle"/>
				<updated>2012-04-19T22:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;The current KDevelop code base is very inconsistent when it comes to the coding style. So please adhere to the file's coding style you are working on / patching.  For new files /...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current KDevelop code base is very inconsistent when it comes to the coding style. So please adhere to the file's coding style you are working on / patching.&lt;br /&gt;
&lt;br /&gt;
For new files / projects / plugins, please use the [[Policies/Kdelibs_Coding_Style]] guidelines.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2012-04-19T21:49:06Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Development Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
* [[Projects/KDevelop4/KDevPlatformPluginExample]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/CodingStyle]]&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;br /&gt;
* [[Projects/KDevelop4/RandomTODO]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/4.3]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-16T11:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Forum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Various Bugfixes ===&lt;br /&gt;
&lt;br /&gt;
We fixed over 170 (https://bugs.kde.org/buglist.cgi?list_id=7184&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;query_format=advanced&amp;amp;chfieldfrom=2011-06-25&amp;amp;chfieldvalue=FIXED&amp;amp;bug_status=RESOLVED&amp;amp;product=kdevelop&amp;amp;product=kdevplatform) bugs since KDevelop 4.2.3. Among others SVN 1.7 is now properly supported, various things in our understanding of C++ code got improved, the GDB plugin got better and lots of crashes and other issues were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;br /&gt;
&lt;br /&gt;
=== VCS Integration Enhanced ===&lt;br /&gt;
&lt;br /&gt;
Some work went into improving the Version Control System (VCS) integration too, mostly on two fronts: Creating a VCS Changes tool view [1] and improving the Review Mode.&lt;br /&gt;
&lt;br /&gt;
The VCS Changes show you what files have changed in your project since the last commit. It is useful to keep track of what you are working on and to decide if one should commit.&lt;br /&gt;
&lt;br /&gt;
Furthermore we improved the Review mode by making it more responsive to the user by updating the view while the user is working on the changes.&lt;br /&gt;
&lt;br /&gt;
[1]: [http://proli.net/meu/kdevelop/kdev-vcschanges.png VCS Changes]&lt;br /&gt;
&lt;br /&gt;
=== KDE Projects Integration ===&lt;br /&gt;
&lt;br /&gt;
The KDE Projects infrastructure was adapted to support [http://projects.kde.org projects.kde.org]. This allows us to provide you with the list of all KDE projects together with the ability to retrieve them in order to start contributing to KDE as fast as possible.&lt;br /&gt;
&lt;br /&gt;
=== Forum ===&lt;br /&gt;
&lt;br /&gt;
We also want to take the opportunity to highlight our new [http://forum.kde.org/viewforum.php?f=218 forum]. If you need KDevelop support, this is one of the places you should go to. Our [http://kdevelop.org/mailinglists mailing lists] as well as the #kdevelop IRC channel on freenode are of course also still there and just as happy to take your questions.&lt;br /&gt;
&lt;br /&gt;
=== Improved Konsole Integration ===&lt;br /&gt;
&lt;br /&gt;
The embedded Konsole in KDevelop has seen some improvements: When you use Bash, it is now possible to control the surrounding KDevelop session, i.e. to open files, create new ones, search through files and more. Type &amp;quot;help!&amp;quot; to find out what you can do there now.&lt;br /&gt;
&lt;br /&gt;
=== Source Formatting ===&lt;br /&gt;
&lt;br /&gt;
Our integrated source formatting got a bit better: You can now let it override the indentation settings of the embedded editor. Furthermore the &amp;quot;Custom Script Formatter&amp;quot;, formerly known to support Gnu Indent, was extended to make it even easier to support custom formatting scripts. One example is the new &amp;quot;kdev_format_source.sh&amp;quot; script, shipped with KDevelop, which allows using fine-grained formatting rules by placing format_sources meta-files into the project's file system. Especially paired with the powerful uncrustify formatter, this enables you to work seamlessly on big, heterogeneously formatted projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-16T11:18:07Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* KDE Projects Integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Various Bugfixes ===&lt;br /&gt;
&lt;br /&gt;
We fixed over 170 (https://bugs.kde.org/buglist.cgi?list_id=7184&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;query_format=advanced&amp;amp;chfieldfrom=2011-06-25&amp;amp;chfieldvalue=FIXED&amp;amp;bug_status=RESOLVED&amp;amp;product=kdevelop&amp;amp;product=kdevplatform) bugs since KDevelop 4.2.3. Among others SVN 1.7 is now properly supported, various things in our understanding of C++ code got improved, the GDB plugin got better and lots of crashes and other issues were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;br /&gt;
&lt;br /&gt;
=== VCS Integration Enhanced ===&lt;br /&gt;
&lt;br /&gt;
Some work went into improving the Version Control System (VCS) integration too, mostly on two fronts: Creating a VCS Changes tool view [1] and improving the Review Mode.&lt;br /&gt;
&lt;br /&gt;
The VCS Changes show you what files have changed in your project since the last commit. It is useful to keep track of what you are working on and to decide if one should commit.&lt;br /&gt;
&lt;br /&gt;
Furthermore we improved the Review mode by making it more responsive to the user by updating the view while the user is working on the changes.&lt;br /&gt;
&lt;br /&gt;
[1]: [http://proli.net/meu/kdevelop/kdev-vcschanges.png VCS Changes]&lt;br /&gt;
&lt;br /&gt;
=== KDE Projects Integration ===&lt;br /&gt;
&lt;br /&gt;
The KDE Projects infrastructure was adapted to support [http://projects.kde.org projects.kde.org]. This allows us to provide you with the list of all KDE projects together with the ability to retrieve them in order to start contributing to KDE as fast as possible.&lt;br /&gt;
&lt;br /&gt;
=== Forum ===&lt;br /&gt;
&lt;br /&gt;
We also want to take the opportunity to highlight our new [http://forum.kde.org/viewforum.php?f=218 forum]. If you need KDevelop support, this is one of the places you should go to. Our [http://kdevelop.org/mailinglists mailing lists] as well as the #kdevelop IRC channel on freenode are of course also still there and just as happy to take your questions.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-16T11:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* VCS Integration Enhanced */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Various Bugfixes ===&lt;br /&gt;
&lt;br /&gt;
We fixed over 170 (https://bugs.kde.org/buglist.cgi?list_id=7184&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;query_format=advanced&amp;amp;chfieldfrom=2011-06-25&amp;amp;chfieldvalue=FIXED&amp;amp;bug_status=RESOLVED&amp;amp;product=kdevelop&amp;amp;product=kdevplatform) bugs since KDevelop 4.2.3. Among others SVN 1.7 is now properly supported, various things in our understanding of C++ code got improved, the GDB plugin got better and lots of crashes and other issues were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;br /&gt;
&lt;br /&gt;
=== VCS Integration Enhanced ===&lt;br /&gt;
&lt;br /&gt;
Some work went into improving the Version Control System (VCS) integration too, mostly on two fronts: Creating a VCS Changes tool view [1] and improving the Review Mode.&lt;br /&gt;
&lt;br /&gt;
The VCS Changes show you what files have changed in your project since the last commit. It is useful to keep track of what you are working on and to decide if one should commit.&lt;br /&gt;
&lt;br /&gt;
Furthermore we improved the Review mode by making it more responsive to the user by updating the view while the user is working on the changes.&lt;br /&gt;
&lt;br /&gt;
[1]: [http://proli.net/meu/kdevelop/kdev-vcschanges.png VCS Changes]&lt;br /&gt;
&lt;br /&gt;
=== KDE Projects Integration ===&lt;br /&gt;
&lt;br /&gt;
The KDE Projects infrastructure was adapted to support [http://projects.kde.org projects.kde.org]. This allows us to provide you with the list of all KDE projects together with the ability to retrieve them in order to start contributing to KDE as fast as possible.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-16T11:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* KDE Projects Integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Various Bugfixes ===&lt;br /&gt;
&lt;br /&gt;
We fixed over 170 (https://bugs.kde.org/buglist.cgi?list_id=7184&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;query_format=advanced&amp;amp;chfieldfrom=2011-06-25&amp;amp;chfieldvalue=FIXED&amp;amp;bug_status=RESOLVED&amp;amp;product=kdevelop&amp;amp;product=kdevplatform) bugs since KDevelop 4.2.3. Among others SVN 1.7 is now properly supported, various things in our understanding of C++ code got improved, the GDB plugin got better and lots of crashes and other issues were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;br /&gt;
&lt;br /&gt;
=== VCS Integration Enhanced ===&lt;br /&gt;
&lt;br /&gt;
Some work went to improving the VCS integration too, mostly in two fronts: Creating the VCS Changes ToolView and improving the Review Mode.&lt;br /&gt;
&lt;br /&gt;
The VCS Changes lets us know what files have changed in your project since the last commit. It's useful to keep track of what you're working on and decide if you should commit.&lt;br /&gt;
&lt;br /&gt;
Also the Review mode was improved by making it more responsive to the user by updating the view while the user is working on the changes.&lt;br /&gt;
&lt;br /&gt;
[http://proli.net/meu/kdevelop/kdev-vcschanges.png VCS Changes]&lt;br /&gt;
&lt;br /&gt;
=== KDE Projects Integration ===&lt;br /&gt;
&lt;br /&gt;
The KDE Projects infrastructure was adapted to support [http://projects.kde.org projects.kde.org]. This allows us to provide you with the list of all KDE projects together with the ability to retrieve them in order to start contributing to KDE as fast as possible.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T13:08:04Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* New Features and Other Notable Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Various Bugfixes ===&lt;br /&gt;
&lt;br /&gt;
We fixed over 170 (https://bugs.kde.org/buglist.cgi?list_id=7184&amp;amp;resolution=FIXED&amp;amp;chfieldto=Now&amp;amp;chfield=resolution&amp;amp;query_format=advanced&amp;amp;chfieldfrom=2011-06-25&amp;amp;chfieldvalue=FIXED&amp;amp;bug_status=RESOLVED&amp;amp;product=kdevelop&amp;amp;product=kdevplatform) bugs since KDevelop 4.2.3. Among others SVN 1.7 is now properly supported, various things in our understanding of C++ code got improved, the GDB plugin got better and lots of crashes and other issues were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T12:30:04Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* New Features and Other Notable Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Editor Restoration ===&lt;br /&gt;
&lt;br /&gt;
With KDevelop 4.3 we finally catch up with Kate when it comes to closing and reopening files: Folded code regions, bookmarks etc. are now properly restored for the last 20 opened files.&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T12:25:42Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Basic C++11 Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
&lt;br /&gt;
Besides adding a few new features and improving the stability, this release also comes with some noteworthy performance improvements. Opening large projects with many files should be considerably faster now. Similarily, Quickopen should now be faster and more fluid, especially again when dealing with large projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T12:04:38Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Basic C++11 Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported. Many of the new stdlib classes can be used as well. We have to admit though, that the C++11 support is by far not complete yet, and we will continue to work on improving it in future releases.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T11:04:23Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Announcement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;br /&gt;
&lt;br /&gt;
== New Features and Other Notable Changes ==&lt;br /&gt;
&lt;br /&gt;
This new release has seen lots of work from various contributors. In the following we highlight a few noteworthy items but this list is by far not complete. Try out the new release and see for yourself!&lt;br /&gt;
&lt;br /&gt;
=== Basic C++11 Support ===&lt;br /&gt;
&lt;br /&gt;
The new C++ standard, which was released last year, is now partially suppported in KDevelop. At least the parser should not trip over new language features such as initializer lists, lambdas, range-based for loops or variadic templates. Similarily, explicitly defaulted or deleted methods, auto, rvalue-references and many more features are supported.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-03-12T10:53:07Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* (Remote) shell integration&lt;br /&gt;
* Extended support for custom source-formatting scripts&lt;br /&gt;
* ...?&lt;br /&gt;
&lt;br /&gt;
= Announcement =&lt;br /&gt;
&lt;br /&gt;
After about nine months of extensive development, the KDevelop team is happy to announce the immediate availability of KDevelop 4.3. As usual, this feature release comes packed with new features, bug fixes and improved performance. &lt;br /&gt;
&lt;br /&gt;
Here are some statistics that should entice you to upgrade as soon as possible. We of course recommend everyone to do so.&lt;br /&gt;
&lt;br /&gt;
Package | Commits since 4.2.3 | Diffstat&lt;br /&gt;
kdevplatform | 766 |  615 files changed, 22194 insertions(+), 8377 deletions(-)&lt;br /&gt;
kdevelop | 542 |  546 files changed, 30587 insertions(+), 80250 deletions(-)&lt;br /&gt;
kdev-php | 39 |  33 files changed, 565 insertions(+), 381 deletions(-)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/RandomTODO</id>
		<title>Projects/KDevelop4/RandomTODO</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/RandomTODO"/>
				<updated>2012-03-08T11:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optimize Shared-Pointer Usage =&lt;br /&gt;
&lt;br /&gt;
So far our API and codebase passes shared pointers by value. This should be made const&amp;amp; to optimize the superflous refcounting in such cases. This was also mentioned in one of the talks here: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012 I (milian) will try to find out which one it was if anyone doubts the above statement.&lt;br /&gt;
&lt;br /&gt;
= Improve Session-Workflow =&lt;br /&gt;
&lt;br /&gt;
Beautify/redesign the &amp;quot;pick session&amp;quot; dialog (&amp;quot;kdevelop -ps&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
= Prevent .kdevduchain leakage =&lt;br /&gt;
&lt;br /&gt;
Some unit tests, maybe even temporary sessions in general, allocate a .kdevduchain session cache but never clean that up, leading to a huge mess there... It should also be tested whether this can happen if users create temporary sessions for debugging (&amp;quot;kdevelop -d ...&amp;quot;). And of course it must be asserted that the cache gets removed when a session gets removed.&lt;br /&gt;
&lt;br /&gt;
= Leverage Plasma for Welcome-Screen  =&lt;br /&gt;
&lt;br /&gt;
Aleix worked on this in his GSOC, someone should pick that up and finish it properly.&lt;br /&gt;
&lt;br /&gt;
= Refactor Project Filtering =&lt;br /&gt;
&lt;br /&gt;
Centralize filtering of project files, share code between managers. Take generic-manager as basis.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2012-02-16T22:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* 4. Get and install plugins (optional) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
When configuring kdevplatform, these packages are needed to remedy the following errors:&lt;br /&gt;
kdelibs5-dev: ERROR: Could not find KDE4 kde4-config&lt;br /&gt;
zlib1g-dev: Could NOT find ZLIB&lt;br /&gt;
&lt;br /&gt;
When configuring kdevelop, these packages are needed to remedy the following errors:&lt;br /&gt;
&lt;br /&gt;
Could NOT find KDE4Workspace&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.2 for kdevplatform and branch 4.2 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:/$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4. Stable plugins can be found in Extragear: https://projects.kde.org/projects/extragear/kdevelop/plugins . Experimental, potentially unstable or even broken plugins can be found in Playground: https://projects.kde.org/projects/playground/devtools/plugins .&lt;br /&gt;
&lt;br /&gt;
Many plugins you can find there (e.g. PHP, CSS, QMake, ...) require the KDevelop-PG-Qt parser generator. You can find that here: https://projects.kde.org/projects/extragear/kdevelop/utilities/kdevelop-pg-qt&lt;br /&gt;
&lt;br /&gt;
Check the sources out and compile the plugin using the same steps as above, e.g. for PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   mkdir -p $HOME/src/kdev-php/build&lt;br /&gt;
   cd $HOME/src/kdev-php/build&lt;br /&gt;
   cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
   make&lt;br /&gt;
   make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure to run &amp;lt;code&amp;gt;kbuildsycoca4&amp;lt;/code&amp;gt; after installation (see above)!&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull &lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop &amp;amp;&amp;amp; git pull&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;br /&gt;
&lt;br /&gt;
== 8. Troubleshooting ==&lt;br /&gt;
* When running cmake on KDevelop, you get &amp;quot;Could NOT find KDE4Workspace&amp;quot;. You need to install the kdebase-workspace-dev package.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/4.3</id>
		<title>Projects/KDevelop4/4.3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/4.3"/>
				<updated>2012-02-11T19:12:35Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;= Noteworthy Changes =  * improved performance, esp. for large projects / in project management * basic c++11 support, esp. in the parser * ...?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Noteworthy Changes =&lt;br /&gt;
&lt;br /&gt;
* improved performance, esp. for large projects / in project management&lt;br /&gt;
* basic c++11 support, esp. in the parser&lt;br /&gt;
* ...?&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2012-02-11T19:11:17Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
* [[Projects/KDevelop4/KDevPlatformPluginExample]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;br /&gt;
* [[Projects/KDevelop4/RandomTODO]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/4.3]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/RandomTODO</id>
		<title>Projects/KDevelop4/RandomTODO</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/RandomTODO"/>
				<updated>2012-02-06T21:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;= Optimize Shared-Pointer Usage =  So far our API and codebase passes shared pointers by value. This should be made const&amp;amp; to optimize the superflous refcounting in such cases. T...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Optimize Shared-Pointer Usage =&lt;br /&gt;
&lt;br /&gt;
So far our API and codebase passes shared pointers by value. This should be made const&amp;amp; to optimize the superflous refcounting in such cases. This was also mentioned in one of the talks here: http://channel9.msdn.com/Events/GoingNative/GoingNative-2012 I (milian) will try to find out which one it was if anyone doubts the above statement.&lt;br /&gt;
&lt;br /&gt;
= Improve Session-Workflow =&lt;br /&gt;
&lt;br /&gt;
- beautify/redesign the &amp;quot;pick session&amp;quot; dialog (&amp;quot;kdevelop -ps&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
= Prevent .kdevduchain leakage =&lt;br /&gt;
&lt;br /&gt;
Some unit tests, maybe even temporary sessions in general, allocate a .kdevduchain session cache but never clean that up, leading to a huge mess there... It should also be tested whether this can happen if users create temporary sessions for debugging (&amp;quot;kdevelop -d ...&amp;quot;). And of course it must be asserted that the cache gets removed when a session gets removed.&lt;br /&gt;
&lt;br /&gt;
= Leverage Plasma for Welcome-Screen  =&lt;br /&gt;
&lt;br /&gt;
Aleix worked on this in his GSOC, someone should pick that up and finish it properly.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2012-02-06T21:06:02Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Development Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
* [[Projects/KDevelop4/KDevPlatformPluginExample]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;br /&gt;
* [[Projects/KDevelop4/RandomTODO]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials/Desktop_File</id>
		<title>Development/Tutorials/Desktop File</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials/Desktop_File"/>
				<updated>2011-08-08T20:41:49Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with &amp;quot;{{Template:I18n/Language Navigation Bar|Development/Tutorials/Desktop File}}  {{TutorialBrowser|  series=Basics|  name=Desktop File|  pre=[[Development/Tutorials/Session_Manageme...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Tutorials/Desktop File}}&lt;br /&gt;
&lt;br /&gt;
{{TutorialBrowser|&lt;br /&gt;
&lt;br /&gt;
series=Basics|&lt;br /&gt;
&lt;br /&gt;
name=Desktop File|&lt;br /&gt;
&lt;br /&gt;
pre=[[Development/Tutorials/Session_Management|Session Management]]|&lt;br /&gt;
&lt;br /&gt;
next=| &lt;br /&gt;
&lt;br /&gt;
reading=[http://standards.freedesktop.org/desktop-entry-spec/latest/ the .desktop Free Desktop Spec];&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Desktop File ==&lt;br /&gt;
&lt;br /&gt;
In order for your application to show up in menus and/or to be automatically associated with mime types in file browsers, you need to provide a .desktop file like follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Desktop Entry]&lt;br /&gt;
Type=Application&lt;br /&gt;
Exec=your-app %u&lt;br /&gt;
MimeType=application/x-your-mime-type;&lt;br /&gt;
Icon=some-icon&lt;br /&gt;
X-DocPath=yourapp/index.html&lt;br /&gt;
Terminal=false&lt;br /&gt;
Name=Your App&lt;br /&gt;
GenericName=Some Generic Name&lt;br /&gt;
Comment=Short Description Of Your App&lt;br /&gt;
Categories=Qt;KDE;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a look at [http://standards.freedesktop.org/desktop-entry-spec/latest/ the .desktop Free Desktop Spec] to find our more about the key/value pairs above. It's important to pick a good set of Categories, see the spec for a list of valid values.&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Tutorial]]&lt;br /&gt;
[[Category:FAQs]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/Tutorials</id>
		<title>Development/Tutorials</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/Tutorials"/>
				<updated>2011-08-08T20:35:14Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/Tutorials}}&lt;br /&gt;
&lt;br /&gt;
Tutorials are the fastest way of finding out what KDE will do for you, and how to do it. Here is a list of currently available tutorials '''for KDE4'''. Material for KDE3 and KDE2 is available on the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Introduction To KDE 4 Programming ==&lt;br /&gt;
Are you interested in writing applications with KDE 4? This tutorial series is aimed at those completely new to KDE programming.&lt;br /&gt;
;[[Development/Tutorials/First program|Hello World]]&lt;br /&gt;
:''A preliminary introduction to the very basics of KDE4 programming''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KXmlGuiWindow|Creating the Main Window]]&lt;br /&gt;
:''This tutorial shows you the magic of an application's most important thing: The main window.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KActions|Using KActions]]&lt;br /&gt;
:''How to add actions to the menus and toolbars.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Saving and loading|Saving and Loading]]&lt;br /&gt;
:''Introduces the KIO library while adding loading and saving support to our application.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KCmdLineArgs|Command line arguments]]&lt;br /&gt;
:''Adds the ability to specify which file to open from the command line to our text editor.''&lt;br /&gt;
&lt;br /&gt;
== Basics ==&lt;br /&gt;
;[[Development/Tutorials/KDE4 Porting Guide|Porting Your Application]]&lt;br /&gt;
:''Help Porting Applications from Qt3/KDE3 to Qt4/KDE4''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/CMake|Introduction to CMake]]&lt;br /&gt;
:''How to use the CMake build system used by KDE4.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Common Programming Mistakes|Common Programming Mistakes]]&lt;br /&gt;
:''Various common mistakes made while developing Qt and KDE applications and how to avoid them.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Debugging Linker Errors|Debugging Linker Errors]]&lt;br /&gt;
:'How to understand and debug errors from the linker, at compile time.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using Qt Designer|Using Qt Designer to build user interfaces]]&lt;br /&gt;
:''How to create UI files with designer, and how to integrate them into a KDE program.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using Qt Creator|Using Qt Creator to develop your KDE program]]&lt;br /&gt;
:''How to integrate Qt Creator use into KDE development.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Creating Libraries|Creating Libraries to share code]]&lt;br /&gt;
:''How to add the library to the buildsystem and how to prepare the source code.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Session_Management|Session Management]]&lt;br /&gt;
:''Make your application aware of X sessions''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Desktop_File|Desktop File]]&lt;br /&gt;
:''Let your application show up in application menus''&lt;br /&gt;
&lt;br /&gt;
== Testing And Debugging ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Debugging|Debugging your application]]&lt;br /&gt;
:''Tips, tools and techniques to apply when debugging your KDE application''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Unittests|Writing Unittests for Qt4 and KDE4 with QTestLib]] ([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html Original link])&lt;br /&gt;
:''Tutorial by [mailto:bradh@frogmouth.net Brad Hards] that describes how to write unit tests using the QTestLib framework. It is presented as an example based tutorial, and is still under development.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Code_Checking|Semi-automatic ways to detect code errors]]&lt;br /&gt;
:''Techniques you can use to detect errors in KDE code''&lt;br /&gt;
&lt;br /&gt;
== Managing Configuration Data With KConfig ==&lt;br /&gt;
;[[Development/Tutorials/KConfig|Introduction To KConfig]]&lt;br /&gt;
:''An overview of the KConfig classes and how to use them in your application code''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Using KConfig XT|Using KConfig XT]]&lt;br /&gt;
:''Tutorial on how to efficiently use the KConfig XT framework.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Updating KConfig Files|Updating KConfig Files]]&lt;br /&gt;
:''Tutorial on how to write an update script to keep changes in your application's config file format in sync with the user's already existing config file''&lt;br /&gt;
&lt;br /&gt;
== Services: Applications and Plugins ==&lt;br /&gt;
;[[Development/Tutorials/Services/Introduction|Introduction to the Services Framework]]&lt;br /&gt;
:''An overview of the services framework in KDE and what it provides the application developer. Covers the system configuration cache (SyCoCa), the source data files and what the indexed information can be used for.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Services/Traders|Finding Services Using Trader Queries]]&lt;br /&gt;
:''How to find services, such as plugins or mimetypes, that are indexed in the SyCoCa using Trader Query Syntax''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Services/Plugins|Creating and Loading Plugins Using KService]]&lt;br /&gt;
:''Learn how to define custom plugin types, find installed plugins (including 3rd party plugins) and load them in an easy and portable fashion using KService.''&lt;br /&gt;
&lt;br /&gt;
== Localization ==&lt;br /&gt;
See also [[Localization|Localization portal]].&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Localization/Unicode|Introduction To Unicode]]&lt;br /&gt;
:''An introduction to what Unicode is as well as how to handle Unicode data in KDE applications.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n|Writing Applications With Localization In Mind]]&lt;br /&gt;
:''This tutorial covers what localization is, why it's important and how to ensure your application is ready to be localized. A must read for all application developers.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Mistakes|Avoiding Common Localization Pitfalls]]&lt;br /&gt;
:''There are several common mistakes that prevent applications from being properly localized. Find out what they are and how to easily avoid them in this tutorial.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/Building KDE's l10n Module|Building KDE's Localization Module]]&lt;br /&gt;
:''Building and installing language support from KDE's localization (l10n) module is a good idea for those working on applications in the main KDE repository. Doing so will allow you to test your application in another language and spot problem areas. Learn how to do just that in this tutorial.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Build Systems|Incorporating i18n Into the Build System]]&lt;br /&gt;
:''Once your application is ready to be localized, the next step is to ensure that translation files are built automatically and kept up to date. This tutorial covers the necessary CMakeFiles.txt additions as well the process of distributing the resulting message catalogs with your application.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Challenges|Common i18n Challenges and Solutions]]&lt;br /&gt;
:''This tutorial covers challenges that you may eventually run into such as translating handbooks and other data that exists outside of the source code, merging and handling obsolete .po files, dealing with freezes, coding in languages other than English and creating independent releases of or moving applications between KDE modules.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n_Semantics|Semantic Markup of Messages]]&lt;br /&gt;
:''To ensure consistent presentation and more meaningful representations of messages in applications, semantic markup can be applied to messages marked for translation using the KUIT system. This tutorial describes how this system works.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Localization/i18n Krazy|Automated i18n Code Checking]]&lt;br /&gt;
:''The Krazy code checker scans KDE's code and reports common i18n mistakes.''&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/API_Documentation|API Documentation]]&lt;br /&gt;
:''This tutorial explains how to document your APIs properly.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Man_Pages|Man Pages]]&lt;br /&gt;
:''Writing and Generating Reference Manual Pages.''&lt;br /&gt;
&lt;br /&gt;
;Source Code&lt;br /&gt;
: http://websvn.kde.org&lt;br /&gt;
&lt;br /&gt;
== Accessibility ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Accessibility|Accessibility]]&lt;br /&gt;
:''This tutorial will explain how to make your application accessible.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Text-To-Speech|Text-To-Speech]]&lt;br /&gt;
:''How to utilize Jovie text-to-speech service in your application.''&lt;br /&gt;
&lt;br /&gt;
== Application Automation and Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== D-Bus ===&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Introduction|Introduction to D-Bus]]&lt;br /&gt;
:''A straight-forward introduction to the core concepts in D-Bus from an application developer's perspective, this tutorial covers what D-Bus is and how it can be used by applications.''&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Accessing Interfaces|Accessing D-Bus Interfaces]]&lt;br /&gt;
:''A step-by-step guide to calling D-Bus methods and connecting to D-Bus signals using QtDBus.''&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|Intermediate D-Bus]]&lt;br /&gt;
:''Tips to make use of QtDBus when faced with problematic real-world interfaces.''&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Creating Interfaces|Creating D-Bus Interfaces]]&lt;br /&gt;
:''Learn how to expose functionality in your application by creating and using custom D-Bus interfaces. Covers generating the XML descriptions, instantiating interfaces at run time and setting up the build system with CMake.''&lt;br /&gt;
; [[Development/Tutorials/D-Bus/CustomTypes|Using Custom Types with D-Bus]]: ''Learn how to use your own types in classes exported on D-Bus. Covers marhaling and unmarshaling of objects, the integration of custom types into XML descriptions and registering the custom types with the Qt Meta Object system.''&lt;br /&gt;
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus Autostart Services]]&lt;br /&gt;
:''Turn your application into a D-Bus autostart service with this tutorial. This D-Bus feature, also known as &amp;quot;D-Bus service activation&amp;quot;, will ensure that even when your application isn't running that D-Bus calls made to it will work by relying on the D-Bus daemon itself to start your app if and when needed.''&lt;br /&gt;
; [[Development/Tutorials/Porting_to_D-Bus|Porting from DCOP to D-Bus]]&lt;br /&gt;
: ''Port your applications from DCOP to D-Bus with this handy guide.''&lt;br /&gt;
&lt;br /&gt;
=== Konqueror ===&lt;br /&gt;
; [[Development/Tutorials/Creating Konqueror Service Menus|Creating Konqueror Service Menus]]&lt;br /&gt;
:''This tutorial shows you how to create mimetype-specific actions in Konqueror's context menu (aka &amp;quot;servicemenus&amp;quot;).''&lt;br /&gt;
&lt;br /&gt;
=== Kross ===&lt;br /&gt;
; [[Development/Tutorials/Kross/Introduction|Introduction to Kross]]&lt;br /&gt;
:''An introduction to the Kross Scripting Framework.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Hello_World|Hello World]]&lt;br /&gt;
:''A first application with working kross code.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Call_Functions_in_Kross|Calling Functions in Kross]]&lt;br /&gt;
:''Simple demonstration of calling scripting functions''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Connecting_Signals_and_slots_in_Kross|Connecting Signals and Slots in Kross]]&lt;br /&gt;
:''Simple demonstration of connecting object signals with script slots''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Scripts-as-Plugins|Scripts as Plugins with Kross]]&lt;br /&gt;
:''This tutorial provides a step-by-step introduction how to integrate scripts as plugins into a KDE application.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/Script-Actions|Placing script actions in your application menus ]]&lt;br /&gt;
:''Simple demonstration on how to extend you application menus to execute script files.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Kross/ActionCollections|How to use an ActionCollection ]]&lt;br /&gt;
:''A small Tutorial on How to use Kross::ActionCollections.''&lt;br /&gt;
{{:KOffice/Plugin Tutorials}}&lt;br /&gt;
&lt;br /&gt;
=== SuperKaramba ===&lt;br /&gt;
; [[Development/Tutorials/SuperKaramba|SuperKaramba Tutorial]]&lt;br /&gt;
:''This tutorial provides an overview of SuperKaramba, theme files and scripting with Python, Ruby and JavaScript.''&lt;br /&gt;
&lt;br /&gt;
=== System Activity ===&lt;br /&gt;
&lt;br /&gt;
: [[Development/Tutorials/SystemActivity/Scripting|Writing script actions for the process's context menu]]&lt;br /&gt;
:''This tutorial shows how to add a context menu action to show custom information about a process.&lt;br /&gt;
&lt;br /&gt;
== Plugins and KParts ==&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Writing kontact plugins|Writing kontact plugins]]:''Kontact plugins are KParts. This tutorial describes how you can write one.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Using KParts|Using KParts]]:''Learn how to load a KPart into an application window.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Writing Qt Designer Plugins|Writing Qt Designer Plugins]]:''Add your widgets to Qt Designer and thus make them usable in UI files.''&lt;br /&gt;
&lt;br /&gt;
== Search and Metadata ==&lt;br /&gt;
&lt;br /&gt;
=== Strigi ===&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Writing file analyzers|Writing file analyzers]]&lt;br /&gt;
:''File analyzers extract data from files to display in the file dialogs and file managers. The data gathered this way is also used to search for files. KDE4 allows the use of multiple analyzers per file type. This tutorial describes how you can write new analyzers.''&lt;br /&gt;
&lt;br /&gt;
=== [http://nepomuk.kde.org Nepomuk] ===&lt;br /&gt;
&lt;br /&gt;
See [[Development/Tutorials/Metadata/Nepomuk|Nepomuk tutorials]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Awareness (Solid) ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Solid_Tutorials|Introduction to Solid]]&lt;br /&gt;
:''An introduction to using the Solid hardware discovery and interaction system in KDE applications.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Solid_Network_Tutorial|Accessing Network Information]]&lt;br /&gt;
:''How to use the Solid system to get information about the network''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Solid_Device_Actions|Creating a Device Action]]&lt;br /&gt;
:''When your application is interested in registering actions with the system for removable hardware''&lt;br /&gt;
&lt;br /&gt;
== Authorization and Privilege escalation (KAuth) ==&lt;br /&gt;
; [[Development/Tutorials/KAuth/KAuth_Basics|KAuth Basics]]&lt;br /&gt;
:''An overview of concepts and basic knowledge required to understand and use KAuth effectively''&lt;br /&gt;
; [[Development/Tutorials/KAuth/KAuth_Actions|Using KAuth actions in your application]]&lt;br /&gt;
:''How to execute KAuth actions in your application, and how to integrate them tightly into your UI''&lt;br /&gt;
; [[Development/Tutorials/KAuth/Helper_HowTo|Creating a KAuth helper to perform a privileged action]]&lt;br /&gt;
:''You will learn how to use KAuth's helpers and escalation facilities, and how to seamlessly make a privileged and non privileged portion of your application interact''&lt;br /&gt;
; [[Development/Tutorials/KAuth/KCM_HowTo|Creating a KCM requiring authorization upon saving]]&lt;br /&gt;
:''Learn how to use the high level KCModule API to create KCModules handling authorization, and its UI integration, on their own''&lt;br /&gt;
&lt;br /&gt;
== Multimedia (Phonon) ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Phonon/Introduction|Phonon]]&lt;br /&gt;
:''How to start with the multimedia API''&lt;br /&gt;
&lt;br /&gt;
:''How to compile and use Phonon and its GStreamer backend on Linux using Qt 4.3.x''&lt;br /&gt;
::''This article gives you a quick brief of how you can use checkout, compile Phonon and its GStreamer backend on GNU/Linux with just Qt 4.3.x. Towards the end, the article also describes how a developer can make use of Phonon to create simple audio and video players. You can read the article [http://www.vcreatelogic.com/oss/docs/CompilingPhononOnLinux.pdf here]. You can download the editable OpenDocumentText file from [http://www.prashanthudupa.com/phonon/CompilingPhononOnLinux.odt here].''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Phonon/Backends|Writing Backends]]&lt;br /&gt;
:''How to start creating a new backend for the multimedia API''&lt;br /&gt;
&lt;br /&gt;
;Resources&lt;br /&gt;
:''Please have a look at the [http://api.kde.org/kdesupport-api/kdesupport-apidocs/phonon-git/html/ online documentation] for information on the Phonon API. If you prefer using Qt Assistant or Qt Creator you can also use our [http://mts.ms/phonon-4.4.2.qch offline documentation].''&lt;br /&gt;
&lt;br /&gt;
== Plasma ==&lt;br /&gt;
&lt;br /&gt;
See [[Development/Tutorials/Plasma|Plasma tutorials]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Personal Information Management (Akonadi) ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Akonadi/Application|Using Akonadi in Applications]]&lt;br /&gt;
:''Displaying and modifying data provided by Akonadi''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Akonadi/Resources|Developing Akonadi Resources]]&lt;br /&gt;
:''Akonadi Resources are agent programs which transport PIM data between Akonadi and a backend (files, servers, etc)''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Akonadi/SerializerPlugin|Using custom data types with Akonadi]]&lt;br /&gt;
:''Akonadi can handle arbitrary data as item payloads through the use of a plugin based serialization framework''&lt;br /&gt;
&lt;br /&gt;
;[[Development/AkonadiPorting|Porting Applications which use KResource API]]&lt;br /&gt;
:''Applications using KDE's now deprecated KResource APIs, e.g. KABC or KCal, need to be ported to use their Akonadi equivalents''&lt;br /&gt;
&lt;br /&gt;
== Kate / Kwrite ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Kate/KTextEditor Plugins|Getting started with KTextEditor plugins]]&lt;br /&gt;
:''Creating your first KTextEditor plugin''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Kate/KTextEditor_Plugins_Advanced|Developing a plugin with configuration dialog]]&lt;br /&gt;
:''Adding a configuration dialog to the Time &amp;amp; Date example''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Kate/KTextEditor_Example|A small Editor]]&lt;br /&gt;
:''Create a small application using KTextEditor''&lt;br /&gt;
&lt;br /&gt;
== KDevelop ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/KDevelop-PG-Qt_Introduction|KDevelop-PG-Qt Introduction]]&lt;br /&gt;
:''Information on the KDevelop parser generator, useful for language plugins.''&lt;br /&gt;
&lt;br /&gt;
==Printing==&lt;br /&gt;
&lt;br /&gt;
KDE mostly uses the [http://doc.qt.nokia.com/latest/printing.html Qt Printing infrastructure].&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Printing Hello World|Hello World]]&lt;br /&gt;
:''Introduction to the KDE printing system''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Printing Print Dialog|Print Dialog]]&lt;br /&gt;
:''Using the KDE print dialog''&lt;br /&gt;
&lt;br /&gt;
== kioslaves ==&lt;br /&gt;
* [[Development/Tutorials/KIO Slaves/Using KIO Slaves in your Program|Using kioslaves in your Program]]&lt;br /&gt;
* [[Development/Tutorials/KIO Slaves/Hello World|Creating a Hello-World kioslave]]&lt;br /&gt;
&lt;br /&gt;
== Collaboration ==&lt;br /&gt;
&lt;br /&gt;
=== Open Collaboration Services (libattica) ===&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Collaboration/Attica/Introduction|Introduction to Attica]]&lt;br /&gt;
:''In this tutorial a simple widget showing information about a Person on the server is created.''&lt;br /&gt;
&lt;br /&gt;
=== Get Hot New Stuff  ===&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Collaboration/HotNewStuff/Introduction|Get Hot New Stuff 3 - Download]] &lt;br /&gt;
:''How to use KHotNewStuff3 in your application.''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Collaboration/HotNewStuff/Updates|Get Hot New Stuff 3 - Checking for Updates]] &lt;br /&gt;
:''How to check if updates for installed stuff are available without showing the dialog/widget.''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Collaboration/HotNewStuff/Upload|Get Hot New Stuff 3 - Upload]] &lt;br /&gt;
:''How to add an upload dialog to your application.''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old links for KNS2 and KNS1 content:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/K Hot New Stuff2|Introduction to Get Hot New Stuff 2]] &lt;br /&gt;
:''A short tutorial about how to use KHotNewStuff2 in your application. Deprecated, use version 3'' &lt;br /&gt;
;[[Development/Tutorials/Introduction to Get Hot New Stuff|Introduction to Get Hot New Stuff]] &lt;br /&gt;
:''An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KNewStuffSecure|KNewStuff Secure]] ([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html Original Link]) &lt;br /&gt;
:''Tutorial showing how to share resources in a secured way (KDE 3.4 and later).'' By András Mantia &amp;amp;lt;amantia@kde.org&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Goya ==&lt;br /&gt;
; [[Development/Tutorials/Introduction to Goya usage|Introduction to Goya usage]]&lt;br /&gt;
:''An introduction for the Goya subsystem usage, which allows you to easily add widgets to your itemviews and connect their signals to your code, as they were real widgets.''&lt;br /&gt;
&lt;br /&gt;
; [[Development/Tutorials/Introduction to Goya usage 2|Introduction to Goya usage (part 2)]]&lt;br /&gt;
:''The second part of the tutorial, with a slightly more complex example than the first part.''&lt;br /&gt;
&lt;br /&gt;
== Other programming languages ==&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
;[http://www.learningpython.com/2008/09/20/an-introduction-to-pyqt/ An Introduction to PyQt]&lt;br /&gt;
:''Starting off''&lt;br /&gt;
&lt;br /&gt;
;[http://lateral.netmanagers.com.ar/stories/BBS47.html PyQt by Example]&lt;br /&gt;
:''Another introduction to PyQt''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Languages/Python/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]]&lt;br /&gt;
:''A simple web browser application in PyKDE''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Python introduction to signals and slots|101 Introduction to signals and slots]]&lt;br /&gt;
:''A simple introduction to Qt's signal and slot architecture.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Languages/Python/PyKDE_DBus_Tutorial|PyKDE DBus Tutorial]]&lt;br /&gt;
:''An introduction to DBus communication using PyKDE''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Languages/Python/PyKDE_Knotify_Tutorial|PyKDE KNotify Tutorial]]&lt;br /&gt;
:''An introduction to Knotify (Notifications and KJobs) using PyKDE''&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum tutorial]&lt;br /&gt;
:''A ruby version of Antonio Larrosa Jim&amp;amp;eacute;nez's KDE tutorial by Richard Dale. See the [[Development/Languages/Ruby|Ruby Developers Corner]] for Qt tutorials and other info.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Qt4_Ruby_Tutorial|Qt4 Ruby Tutorial]]&lt;br /&gt;
:''Nokia's fabulous introductory tutorial to Qt, translated to Ruby.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Plasma/RubyApplet|Creating a Plasma Widget in Ruby]]&lt;br /&gt;
:''Tutorial that shows how to create your first Plasma Applet using the Ruby language.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Developing_Qt4_Applications_using_Qt_Designer_and_Ruby_on_Kubuntu|Developing Qt4 Applications using Qt Designer and Ruby on Kubuntu]]&lt;br /&gt;
:''Tutorial that shows how to design a simple User Interface in Qt Designer and then use the resulting widget in a Qt Ruby application we build from scratch.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Languages/Ruby/Ruby-Qt/KDE_Book|Ruby-Qt/KDE Book]]&lt;br /&gt;
:''There is also an approach to create an Ruby-Qt/KDE Book under a free license. The content will be created in this wiki.''&lt;br /&gt;
&lt;br /&gt;
=== Shell ===&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|Shell Scripting with KDE dialogs]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html Original Link]) &lt;br /&gt;
:''Tutorial by [mailto:bradh@frogmouth.net Brad Hards] that describes how to use KDE dialogs in shell scripts with kdialog. It is presented as an example based tutorial.''&lt;br /&gt;
&lt;br /&gt;
== Graphics Programming ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/Graphics/Performance|QPainter Perfomance]]&lt;br /&gt;
:''Hints on avoiding common mistakes leading to poor performance when using QPainter''&lt;br /&gt;
&lt;br /&gt;
== Using the KDE Games Libraries ==&lt;br /&gt;
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]&lt;br /&gt;
:''Using libkdegames to make your game fit the kdegames standard''&lt;br /&gt;
;[[Development/Tutorials/Games/Highscores| Highscores]]&lt;br /&gt;
:''Implementing a simple highscore table into your game''&lt;br /&gt;
;[[Development/Tutorials/Games/Theme Selector| Theme Selector]]&lt;br /&gt;
:''Using the libkdegames theme selection dialog''&lt;br /&gt;
;[[Development/Tutorials/Games/Palapeli Patterns| Palapeli Slicers]]&lt;br /&gt;
:''Creating a slicer plugin for Palapeli''&lt;br /&gt;
&lt;br /&gt;
=== KGLEngine ===&lt;br /&gt;
;[[Development/Tutorials/Games/kglengine/kglengine-simpleBox| installation and your first KGLItem]]&lt;br /&gt;
:''start your first kglengine application''&lt;br /&gt;
;[[Development/Tutorials/Games/KGLEngine2d| kglpong]]&lt;br /&gt;
:''Now use our knowledge to make a pong''&lt;br /&gt;
&lt;br /&gt;
=== KALEngine ===&lt;br /&gt;
;[[Development/Tutorials/Games/KALEngine| Play hello word sound]]&lt;br /&gt;
:''Using KALEngine for games sound development using openAL''&lt;br /&gt;
;[[Development/Tutorials/Games/KALEngine-music| Play music]]&lt;br /&gt;
:''Using KALEngine to play music in a stream''&lt;br /&gt;
&lt;br /&gt;
== Using the KDE PIM Libraries ==&lt;br /&gt;
;[[Development/Tutorials/PIM/ical| iCalendar functionality]]&lt;br /&gt;
:''Using kcal to manage iCalendar files''&lt;br /&gt;
&lt;br /&gt;
== Other tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== 2D Plotting (KPlotWidget) ===&lt;br /&gt;
;[[Development/Tutorials/KPlotWidget|Using the KDE data-plotting widget]]&lt;br /&gt;
:''This tutorial introduces KPlotWidget, which is used for 2-D data plotting.  It includes information on simple usage of the widget (including adding and modifying data sets, and customizing the plot axes and labels), and advanced customization (including extending the widget through sub-classing).''&lt;br /&gt;
&lt;br /&gt;
=== Spelling and Grammar Checking (Sonnet) ===&lt;br /&gt;
;[[Development/Tutorials/Sonnet/SonnetTutorial|Adding spell-checking or grammar-checking to KDE applications]]&lt;br /&gt;
:''This tutorial introduces Sonnet and how one may use it to add language correction to your KDE application. Sonnet's auxiliary features shall be described in a separate tutorial.''&lt;br /&gt;
&lt;br /&gt;
=== Pixmap cache (KPixmapCache) ===&lt;br /&gt;
;[[Development/Tutorials/KPixmapCache|Using the KDE pixmap cache]]&lt;br /&gt;
:''This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data.''&lt;br /&gt;
&lt;br /&gt;
=== Using MarbleWidget (Marble) ===&lt;br /&gt;
;[[Development/Tutorials/MarbleWidget|Using MarbleWidget]]&lt;br /&gt;
:''This short tutorial describes how to use the MarbleWidget in your project''&lt;br /&gt;
&lt;br /&gt;
=== Using local SCM for KDE development ===&lt;br /&gt;
;[[Development/Git|Using Git to develop for KDE]]&lt;br /&gt;
:''Here you find how to use Git to develop for KDE''&lt;br /&gt;
&lt;br /&gt;
=== Kwin effect tutorial (blog) ===&lt;br /&gt;
;[http://blog.martin-graesslin.com/blog/?p=258 blog by Martin Graesslin]&lt;br /&gt;
:''This tutorial guides you through the development of a simple KWin effect''&lt;br /&gt;
&lt;br /&gt;
=== Implementing KSysGuard sensors and adding them ===&lt;br /&gt;
;[[Development/Tutorials/Sensors]]&lt;br /&gt;
:''This tutorial shows how to write and KSysGuard sensor and connect it to the systray.''&lt;br /&gt;
Runners&lt;br /&gt;
&lt;br /&gt;
=== Porting an application from KSystemTrayIcon to KStatusNotifierItem ===&lt;br /&gt;
;[[Development/Tutorials/PortToKStatusNotifierItem]]&lt;br /&gt;
:''This tutorials shows how to port an application using KSystemTrayIcon to KStatusNotifierItem''&lt;br /&gt;
&lt;br /&gt;
=== Using the KDE Wallet API for safe storage ===&lt;br /&gt;
;[[Development/Tutorials/KWallet]]&lt;br /&gt;
:&amp;quot;Brief introduction to the KWallet API which can be used for storing all kinds of sensitive information.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===How to edit a wiki with Libmediawiki ===&lt;br /&gt;
;[[Development/Tutorials/Libmediawiki]]&lt;br /&gt;
:''This tutorial present how to edit a wiki with Libmediawiki.''&lt;br /&gt;
&lt;br /&gt;
== KDE2 and KDE3 Materials ==&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KDE3|KDE3 Tutorials]]&lt;br /&gt;
:''These tutorials cover topics related to KDE3.''&lt;br /&gt;
&lt;br /&gt;
;[[Development/Tutorials/KDE2|KDE2 Tutorials]]&lt;br /&gt;
:''These tutorials cover topics related to KDE2.''&lt;br /&gt;
&lt;br /&gt;
[[Category:KDE4]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Browser-like Tabs TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
??? what happened here?&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
??? what did we do?&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
==== Chromium-like UI ====&lt;br /&gt;
&lt;br /&gt;
* relayout stuff, i.e. put useful quickopen stuff below tabs&lt;br /&gt;
* requires niko's browser-like tabs&lt;br /&gt;
&lt;br /&gt;
[tab1] [tab2] [tab3] [tab4] [tab5] ...&lt;br /&gt;
&lt;br /&gt;
[quickopen file:/...] [outline]&lt;br /&gt;
&lt;br /&gt;
==== Browser-like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* needs fixes in global history&lt;br /&gt;
* try to merge it&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* [DONE] remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* [DONE] Ctrl-N should open new file in a new tab&lt;br /&gt;
* global history improvements&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Sun */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
??? what happened here?&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
??? what did we do?&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
==== Chromium-like UI ====&lt;br /&gt;
&lt;br /&gt;
* relayout stuff, i.e. put useful quickopen stuff below tabs&lt;br /&gt;
* requires niko's browser-like tabs&lt;br /&gt;
&lt;br /&gt;
[tab1] [tab2] [tab3] [tab4] [tab5] ...&lt;br /&gt;
&lt;br /&gt;
[quickopen file:/...] [outline]&lt;br /&gt;
&lt;br /&gt;
==== Browser-like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* needs fixes in global history&lt;br /&gt;
* try to merge it&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:26:05Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Sat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
??? what happened here?&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
==== Chromium-like UI ====&lt;br /&gt;
&lt;br /&gt;
* relayout stuff, i.e. put useful quickopen stuff below tabs&lt;br /&gt;
* requires niko's browser-like tabs&lt;br /&gt;
&lt;br /&gt;
[tab1] [tab2] [tab3] [tab4] [tab5] ...&lt;br /&gt;
&lt;br /&gt;
[quickopen file:/...] [outline]&lt;br /&gt;
&lt;br /&gt;
==== Browser-like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* needs fixes in global history&lt;br /&gt;
* try to merge it&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:25:47Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
==== Chromium-like UI ====&lt;br /&gt;
&lt;br /&gt;
* relayout stuff, i.e. put useful quickopen stuff below tabs&lt;br /&gt;
* requires niko's browser-like tabs&lt;br /&gt;
&lt;br /&gt;
[tab1] [tab2] [tab3] [tab4] [tab5] ...&lt;br /&gt;
&lt;br /&gt;
[quickopen file:/...] [outline]&lt;br /&gt;
&lt;br /&gt;
==== Browser-like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* needs fixes in global history&lt;br /&gt;
* try to merge it&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:22:05Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:20:21Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
==== Output View ====&lt;br /&gt;
&lt;br /&gt;
* try to use konsole for output&lt;br /&gt;
** needs work in konsole &lt;br /&gt;
** pros:&lt;br /&gt;
*** performance&lt;br /&gt;
*** colors&lt;br /&gt;
*** ...&lt;br /&gt;
** cons:&lt;br /&gt;
*** f4/jump to error&lt;br /&gt;
*** portability?&lt;br /&gt;
** make it as GSOC project?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T10:17:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
only two plugins, not really useful?&lt;br /&gt;
&lt;br /&gt;
==== Quanta / External Plugins ====&lt;br /&gt;
&lt;br /&gt;
* executescript kdevplatform&lt;br /&gt;
* dissolve quanta, sorry guys - my bad :-/ (milian)&lt;br /&gt;
** kdereview -&amp;gt; kdevelop/plugins: (with alpha release afterwards)&lt;br /&gt;
*** executebrowser -&amp;gt; Niko maintainer&lt;br /&gt;
*** css -&amp;gt; Milian/Niko maintainer&lt;br /&gt;
*** xdebug -&amp;gt; Niko maintainer, needs to be checked first&lt;br /&gt;
*** qmake -&amp;gt; Milian maintainer, stabilize first&lt;br /&gt;
*** phpformatter into PHP repo -&amp;gt; Milian maintainer, review first&lt;br /&gt;
** playground/kdevelop:&lt;br /&gt;
*** move rest out of quanta on-demand&lt;br /&gt;
*** most can be built stand-alone from quanta sources anyways&lt;br /&gt;
*** upload?? look at it, maybe release it as well&lt;br /&gt;
&lt;br /&gt;
TODO: milian ask nicolas about moving out the plugins into own repo&lt;br /&gt;
&lt;br /&gt;
==== Targets in ProjectManagerView ====&lt;br /&gt;
&lt;br /&gt;
* project view filter can be used&lt;br /&gt;
* special ctest handling in cmake might be useful&lt;br /&gt;
** cdash property?&lt;br /&gt;
** milian: ask neundorf about it&lt;br /&gt;
&lt;br /&gt;
==== Sessions UI ====&lt;br /&gt;
&lt;br /&gt;
* menu does scale&lt;br /&gt;
** like recent files, limit to N last sessions&lt;br /&gt;
** session picker as fallback for other sessions&lt;br /&gt;
* session picker:&lt;br /&gt;
** needs UI love&lt;br /&gt;
** hide QUUid&lt;br /&gt;
** integrate delete/rename simpler&lt;br /&gt;
*** QDBus querying for whether it's possible to delete/rename&lt;br /&gt;
* krunner gets merged, yay&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-06T09:51:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
==== Mass-Reload ====&lt;br /&gt;
&lt;br /&gt;
* reload all action in file menu&lt;br /&gt;
** dialog showing all changed files&lt;br /&gt;
* also show one dialog for all when multiple files are modified/deleted, i.e. when switching branches / checkout -f, ...&lt;br /&gt;
* maybe improve inside kate&lt;br /&gt;
&lt;br /&gt;
==== D&amp;amp;D ====&lt;br /&gt;
&lt;br /&gt;
* adymo fixed it for toolviews&lt;br /&gt;
* we need it for projectmanager view&lt;br /&gt;
&lt;br /&gt;
==== Areas ====&lt;br /&gt;
&lt;br /&gt;
* when workingsets are plugin, make areas just list of toolviews, not also of documents&lt;br /&gt;
* switching between code&amp;lt;-&amp;gt;debug should reuse workingset by default&lt;br /&gt;
* when activating review area, show diff or at least integrate with aleix's vcs view&lt;br /&gt;
* review area needs UI love&lt;br /&gt;
* toolbars must stay area dependent, there seems to be a bug on startup&lt;br /&gt;
&lt;br /&gt;
==== Kate Plugins ====&lt;br /&gt;
&lt;br /&gt;
* some useful plugins we want in kdevelop&lt;br /&gt;
** sql?&lt;br /&gt;
** xml? &lt;br /&gt;
* most are not useful, or simply duplicate stuff in kdevelop&lt;br /&gt;
* requires new ktexteditor interface most probably, question is whether this is accepted by kate guys&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-04T08:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
==== VCS ====&lt;br /&gt;
&lt;br /&gt;
* get rid of diff to HEAD/BASE, integrate them to single action&lt;br /&gt;
* when calling 'show diff' from annotation bar, show full commit, i.e. including commit message and all changed files&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T20:38:23Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
* arrive&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T20:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Hacking TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* [DONE] fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
** note David's kdevelop_attach&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T20:36:04Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Wed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
==== Browser-Like Tabs ====&lt;br /&gt;
&lt;br /&gt;
* niko pushed the rebased branches&lt;br /&gt;
* various feedback already implemented, still some stuff to-do&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Browser-like Tabs TODO ==&lt;br /&gt;
* remove Ctrl-T or bind it to what Ctrl-N does&lt;br /&gt;
* Ctrl-N should open new file in a new tab&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T10:30:27Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Hacking TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
** Milian: http://bugreports.qt.nokia.com/browse/QTBUG-16558 - fixed in Qt 4.8.0&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T10:12:50Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Project Dashboard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
==== Session Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* read-only&lt;br /&gt;
* only shown when no view exists, esp. on first start&lt;br /&gt;
* contents:&lt;br /&gt;
** recent sessions&lt;br /&gt;
** recent projects&lt;br /&gt;
** recent files&lt;br /&gt;
** open new file/session/project&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T10:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Project Dashboard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* file contents view&lt;br /&gt;
* webslide&lt;br /&gt;
* feedreader&lt;br /&gt;
&lt;br /&gt;
use cases:&lt;br /&gt;
* project website news (feed reader)&lt;br /&gt;
* project resources: bugtracker, mailing list, ... (webslide / file contents view)&lt;br /&gt;
* recent commits (vcs plugin)&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T09:59:25Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Project Dashboard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
saving/sharing:&lt;br /&gt;
&lt;br /&gt;
* opt-in 'save to project file' which is shared to users via project.kdev4&lt;br /&gt;
** good for users opening the project the first time in kdevelop&lt;br /&gt;
* by default save changes to dashboard in .kdev4/ folder&lt;br /&gt;
&lt;br /&gt;
plasmoids:&lt;br /&gt;
&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* project info:&lt;br /&gt;
** news&lt;br /&gt;
** resources (bugtracker, mailing list, irc...)&lt;br /&gt;
* notes, i.e. personal todo, project todo, ... =&amp;gt; file view / webslide?&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-03T09:50:01Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Wed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
==== Project Dashboard ====&lt;br /&gt;
&lt;br /&gt;
* vcs commit log (provided by vcs plugin)&lt;br /&gt;
* project info:&lt;br /&gt;
** news&lt;br /&gt;
** resources (bugtracker, mailing list, irc...)&lt;br /&gt;
* notes, i.e. personal todo, project todo, ... =&amp;gt; file view / webslide?&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:24:51Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
==== Unit Tests ====&lt;br /&gt;
&lt;br /&gt;
developers:&lt;br /&gt;
&lt;br /&gt;
* never submit failing unit tests (use QEXPECT_FAIL)&lt;br /&gt;
* try to run unit tests regularily&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
* handle switching branch -&amp;gt; reload open (changed) files&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* improve website / wikis / ...&lt;br /&gt;
** promotion part&lt;br /&gt;
* integrate wiki documentation&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
== Hacking TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** requires extended dbus interface&lt;br /&gt;
* krunner integration (session)&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* not so controversial */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
* handle rename/delete of file in editor view&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* unsorted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:19:02Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Build Bot &amp;amp; Unit Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* TODO: Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* TODO: Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* TODO: investigate cdash&lt;br /&gt;
** kdelibs dashboard is down, not a good impression&lt;br /&gt;
* TODO: ask PovAddict on his experience with build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:18:09Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
requirements for plugins in extragear/kdevelop/*:&lt;br /&gt;
&lt;br /&gt;
* kdereview&lt;br /&gt;
* maintainer&lt;br /&gt;
* releasable&lt;br /&gt;
* unit tests (and none failing)&lt;br /&gt;
&lt;br /&gt;
plugins to merge:&lt;br /&gt;
&lt;br /&gt;
* kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
*** TODO: investigate status, get out of kdereview&lt;br /&gt;
** execute script&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
*** TODO: Milian: investigate status, get into kdereview&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
*** TODO: Milian&lt;br /&gt;
** css&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** execute browser&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
** xdebug&lt;br /&gt;
*** TODO: investigate status, get into kdereview&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* TODO: document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
ask PovAddict on his build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:15:36Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
ask PovAddict on his build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Discussion TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* [DONE] merge control flow into kdevplatform&lt;br /&gt;
* [DONE] merge qmake into kdevelop&lt;br /&gt;
* [DONE] extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T10:14:25Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Thu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
ask PovAddict on his build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
==== Gluon ====&lt;br /&gt;
&lt;br /&gt;
* try to rebase gluoncreator on kdevplatform&lt;br /&gt;
* put improvements into the platform&lt;br /&gt;
** plugin based diff-viewer (i.e. to compare designer files, images, ...)&lt;br /&gt;
** improved history viewer (timeline, ...)&lt;br /&gt;
* alternatively try to reuse parts of kdevplatform in gluoncreator&lt;br /&gt;
** problem: kdevplatform (rightly so!) expect full kdevplatform availability&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:50:03Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* very controversial */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
ask PovAddict on his build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
* chromium-like UI&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:49:39Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Build Bot &amp;amp; Unit Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
ask PovAddict on his build bot + unit tests&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Build Bot &amp;amp; Unit Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
** either on every commit (much work)&lt;br /&gt;
** or at least once a day (single to implement)&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:46:57Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Build Bot &amp;amp; Unit Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
* Get a unit test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Build Bot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot &amp;amp; Unit Testing ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
* Get a unti test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
* investigate cdash&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:45:57Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
note for developers: kdevplatform API breakages must be fixed in every stable repo, i.e. everything in https://projects.kde.org/projects/extragear/kdevelop must be compiling&lt;br /&gt;
&lt;br /&gt;
==== Build Bot ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
* Get a unti test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:43:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Plugins = */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins ====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
==== Build Bot ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
* Get a unti test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:43:50Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Thu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
==== Plugins =====&lt;br /&gt;
&lt;br /&gt;
* requirements - no matter where:&lt;br /&gt;
** kdereview&lt;br /&gt;
** maintainer&lt;br /&gt;
** releasable&lt;br /&gt;
** unit tests (and none failing)&lt;br /&gt;
* kdevelop/kdevplatform/&lt;br /&gt;
** controlflowgraph&lt;br /&gt;
** execute script&lt;br /&gt;
* kdevelop/kdevelop/&lt;br /&gt;
** qmake&lt;br /&gt;
* kdevelop/plugins/&lt;br /&gt;
** merge php/php-docs&lt;br /&gt;
** css&lt;br /&gt;
** execute browser&lt;br /&gt;
** xdebug&lt;br /&gt;
&lt;br /&gt;
notes on /plugins:&lt;br /&gt;
* not a single big repo (devs against it)&lt;br /&gt;
* document easy &amp;quot;build-all&amp;quot; process on techbase&lt;br /&gt;
&lt;br /&gt;
==== Build Bot ====&lt;br /&gt;
&lt;br /&gt;
* Get a build bot running&lt;br /&gt;
* Get a unti test bot running&lt;br /&gt;
** requirements:&lt;br /&gt;
*** no failing unit tests (XFAIL is OK)&lt;br /&gt;
*** no agressive performance tests (time limit, memory limit, ...)&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
=== not so controversial ===&lt;br /&gt;
&lt;br /&gt;
* merge control flow into kdevplatform&lt;br /&gt;
* merge qmake into kdevelop&lt;br /&gt;
* extra-plugins module: css, execute-script, execute-browser, andreas' custom project manager, ...&lt;br /&gt;
* gluon integration&lt;br /&gt;
&lt;br /&gt;
=== controversial ===&lt;br /&gt;
&lt;br /&gt;
* browser-like tabs&lt;br /&gt;
* welcome page&lt;br /&gt;
* drag&amp;amp;drop&lt;br /&gt;
* merge aliex's thesis work&lt;br /&gt;
&lt;br /&gt;
=== very controversial ===&lt;br /&gt;
&lt;br /&gt;
* destroy areas&lt;br /&gt;
&lt;br /&gt;
=== unsorted ===&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:14:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;br /&gt;
* krunner (session)&lt;br /&gt;
* extended cli support (open in existing instance)&lt;br /&gt;
** extended dbus interface&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:06:45Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;br /&gt;
** promotion stuff&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;br /&gt;
* website contents&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:05:22Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;br /&gt;
* pluginsmodule&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T09:05:15Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;br /&gt;
* port mailing list to kde infrastructure&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T08:58:53Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Random TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* look at/merge: controlflowgraph, valgrind, qmake, css, executescript, executebrowser&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T08:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;br /&gt;
&lt;br /&gt;
== Random TODO ==&lt;br /&gt;
&lt;br /&gt;
* remove/disable/fix failing unit tests&lt;br /&gt;
* discuss browser-like tabs, presentation by niko?&lt;br /&gt;
* discuss plasma-welcome-page, presentation by aleix?&lt;br /&gt;
* discuss close view on delete file, rename view on rename file&lt;br /&gt;
* fix QWarnings (esp. timer issues etc.)&lt;br /&gt;
* discuss switching branch -&amp;gt; reload files&lt;br /&gt;
* extend drag'n'drop support (esp. toolviews, ...)&lt;br /&gt;
* go through review requests&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T08:53:32Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Randa 2011 KDevelop Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;br /&gt;
&lt;br /&gt;
=== Wed ===&lt;br /&gt;
&lt;br /&gt;
=== Tue ===&lt;br /&gt;
&lt;br /&gt;
=== Fri ===&lt;br /&gt;
&lt;br /&gt;
=== Sat ===&lt;br /&gt;
&lt;br /&gt;
=== Sun ===&lt;br /&gt;
&lt;br /&gt;
=== Mon ===&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* wrap up &amp;amp; leave home&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Meeting2011</id>
		<title>Projects/KDevelop4/Meeting2011</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Meeting2011"/>
				<updated>2011-06-02T08:52:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with '= Randa 2011 KDevelop Meeting =  == Agenda ==  === Thu ===  * get up with an agenda'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Randa 2011 KDevelop Meeting =&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
=== Thu ===&lt;br /&gt;
&lt;br /&gt;
* get up with an agenda&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2011-04-09T13:20:35Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey there stranger! Please help us by extending the documentation around KDevelop. Feel free to write new pages and add useful information to existing ones.&lt;br /&gt;
&lt;br /&gt;
Thanks, Milian.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/Compatibility]]&lt;br /&gt;
* [[Projects/KDevelop4/requirements]]&lt;br /&gt;
* [[Projects/KDevelop4/HowToCompile]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[Projects/KDevelop4/SupportForDynamicMaps]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2011-02-05T18:00:32Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[KDevelop4/Compatibility]]&lt;br /&gt;
* [[KDevelop4/requirements]]&lt;br /&gt;
* [[KDevelop4/HowToCompile]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[KDevelop4/SupportForDynamicMaps]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/SupportForDynamicMaps</id>
		<title>Projects/KDevelop4/SupportForDynamicMaps</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/SupportForDynamicMaps"/>
				<updated>2011-02-05T18:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with '= support for maps in dynamic languages =   Virtually every dynamic language we can think of has some kind of map which you can use to store any combination of types. Currently t...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= support for maps in dynamic languages = &lt;br /&gt;
&lt;br /&gt;
Virtually every dynamic language we can think of has some kind of map which you can use to store any combination of types. Currently there is no support for this in the KDevelop 4 DUChain. Here's a proposal we came up with on the KDevelop Hack Sprint 2009 in Ukraine:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UnsureType ==&lt;br /&gt;
&lt;br /&gt;
essentially a list of possible types&lt;br /&gt;
&lt;br /&gt;
== MapType == &lt;br /&gt;
&lt;br /&gt;
A type which essentially holds two types: One for the key(s), one for the value(s).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbstractType::Ptr MapType-&amp;gt;keyType()&lt;br /&gt;
AbstractType::Ptr MapType-&amp;gt;valueType()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the simple case of a map similar to &amp;lt;code&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/code&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a = array(&lt;br /&gt;
  1 =&amp;gt; &amp;quot;foo&amp;quot;,&lt;br /&gt;
  &amp;quot;bar&amp;quot; =&amp;gt; 2134,&lt;br /&gt;
  0 =&amp;gt; 0.234,&lt;br /&gt;
  &amp;quot;asdfasdf&amp;quot; =&amp;gt; new someClass();&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$a&amp;lt;/code&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;code&amp;gt;keyType()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;valueType()&amp;lt;/code&amp;gt; respectivly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  keyType() =&amp;gt; UnsureType which contains the types&lt;br /&gt;
    ConstantIntegralType for Int, value 1&lt;br /&gt;
    ConstantIntegralType for String, value bar&lt;br /&gt;
    ConstantIntegralType for Int, value 0&lt;br /&gt;
    ConstantIntegralType for String, value asdfasdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Note:** ConstantIntegralType has to be extended to be able to store strings. Should be simple by storing the IndexedString-&amp;gt;index() in the available value field.&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  valueType() =&amp;gt; UnsureType which contains the types&lt;br /&gt;
    IntegralType for String&lt;br /&gt;
    IntegralType for Int&lt;br /&gt;
    IntegralType for Float&lt;br /&gt;
    StructureType for someClass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Declarations for map contents ==&lt;br /&gt;
&lt;br /&gt;
Each map has its own context which contains declarations for all it's items.&lt;br /&gt;
&lt;br /&gt;
The Declarations are again have a MapType, though keyType / valueType returns the real types, no UnsureType. As an Identifier we use the key converted to a string. Example: Int(1) =&amp;gt; &amp;quot;1&amp;quot;, String(&amp;quot;asdf&amp;quot;) =&amp;gt; &amp;quot;\&amp;quot;asdf\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
**TODO:** what / how do we store complex keys, for example variables, objects (possible in Ruby) or function calls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// VariableDeclaration&lt;br /&gt;
//   type: MapType&lt;br /&gt;
//     MapType-&amp;gt;keyType() =&amp;gt; UnsureType (contains ConstIntegralType for Int and ConstIntegralType for String)&lt;br /&gt;
//     MapType-&amp;gt;valueType() =&amp;gt; UnsureType (contains ConstIntegralType for String, StructureType)&lt;br /&gt;
$a = array(&lt;br /&gt;
  // open new context for $a&lt;br /&gt;
&lt;br /&gt;
  // Declaration&lt;br /&gt;
  //   type: MapType&lt;br /&gt;
  //     MapType-&amp;gt;keyType() =&amp;gt; ConstIntegralType Int, value 1&lt;br /&gt;
  //     MapType-&amp;gt;valueType() =&amp;gt; StructureType for Class&lt;br /&gt;
  //   Identifier: keyName (here: &amp;quot;1&amp;quot;)&lt;br /&gt;
  //&lt;br /&gt;
  1 =&amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  // Declaration&lt;br /&gt;
  //   Type: MapType&lt;br /&gt;
  //     MapType-&amp;gt;keyType() =&amp;gt; ConstIntegralType String, value &amp;quot;a&amp;quot; (TODO:&lt;br /&gt;
  //     MapType-&amp;gt;valueType() =&amp;gt; StructureType for Class&lt;br /&gt;
  //   Identifier: keyName (here &amp;quot;\&amp;quot;a\&amp;quot;&amp;quot; &amp;lt;-- including the quotes, possibly in the PHP/Js case always converted to doublequotes&lt;br /&gt;
  &amp;quot;a&amp;quot; =&amp;gt; new Class();&lt;br /&gt;
&lt;br /&gt;
  // close context for $a&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CodeCompletion: ==&lt;br /&gt;
&lt;br /&gt;
All the above will make it possible to generate sane completion lists most of the time.&lt;br /&gt;
&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a[&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should create a list of all possible values for the keys, by going through keyType. ConstIntegralTypes list their values, StructureTypes (for Ruby) the identifier of their associated Declaration.&lt;br /&gt;
&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a = array(&lt;br /&gt;
  1 =&amp;gt; new myClass();&lt;br /&gt;
  2 =&amp;gt; ...&lt;br /&gt;
  ...&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$a[1]-&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Shows completion just like we access any variable of myClass type.&lt;br /&gt;
&lt;br /&gt;
=== Example 3 ===&lt;br /&gt;
&lt;br /&gt;
In dynamic languages the following is possible which makes it a bit more complicated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// in some config file e.g.&lt;br /&gt;
$a = array(&lt;br /&gt;
  0 =&amp;gt; new class1,&lt;br /&gt;
  1 =&amp;gt; new class2,&lt;br /&gt;
  2 =&amp;gt; new class3,&lt;br /&gt;
  ...&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// in another file&lt;br /&gt;
// we don't know what $b contains!&lt;br /&gt;
$a[$b]-&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case we don't know how to resolve &amp;lt;code&amp;gt;$b&amp;lt;/code&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;code&amp;gt;$a&amp;lt;/code&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2011-02-05T18:00:12Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started =&lt;br /&gt;
&lt;br /&gt;
* [[KDevelop4/Compatibility]]&lt;br /&gt;
* [[KDevelop4/Requirements]]&lt;br /&gt;
* [[KDevelop4/HowToCompile]]&lt;br /&gt;
&lt;br /&gt;
= Development Notes =&lt;br /&gt;
&lt;br /&gt;
* [[KDevelop4/SupportForDynamicMaps]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/requirements</id>
		<title>Projects/KDevelop4/requirements</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/requirements"/>
				<updated>2011-02-05T17:58:54Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with '== Programs/libraries required to compile KDevelop from source == Before you start '''compiling''' your freshly downloaded KDevelop version, make sure that you have installed the...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programs/libraries required to compile KDevelop from source ==&lt;br /&gt;
Before you start '''compiling''' your freshly downloaded KDevelop version, make sure&lt;br /&gt;
that you have installed the following programs. Mind that you can get strange errors,&lt;br /&gt;
if you use older versions.&lt;br /&gt;
&amp;lt;br&amp;gt;Usually you can see which software version is installed in your computer by calling the&lt;br /&gt;
program with a &amp;quot;--version&amp;quot; argument. For example to find which cmake you have&lt;br /&gt;
installed in your machine do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   cmake --version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;table align=center border=0 cellspacing=2 cellpadding=2&amp;gt;&lt;br /&gt;
  &amp;lt;tr align=left&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Program/Library&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Source&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;kdelibs-devel &amp;amp;gt;= 4.3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.kde.org/ www.kde.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Qt-devel &amp;amp;gt;= 4.5.2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.trolltech.com/products/qt/ www.trolltech.com/products/qt]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Boost MultiIndex library &amp;amp;gt;= 1.35&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.boost.org Boost.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;g++ &amp;amp;gt;= 4.0 (or compatible) for linux, and BSD systems&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://gcc.gnu.org/ gcc.gnu.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;msvc &amp;gt;= 8 for MS Windows systems&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://msdn.microsoft.com/en-us/library/60k1461a.aspx msdn.microsoft.com]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;GNU make (for linux, and BSD systems)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.gnu.org/software/make/ www.gnu.org/software/make]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;CMake &amp;amp;gt;= 2.6.2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.cmake.org/ www.cmake.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;	 &lt;br /&gt;
  &amp;lt;tr&amp;gt;	 &lt;br /&gt;
    &amp;lt;td&amp;gt;KDevelop Development Platform &amp;amp;gt;= 1.0.0&amp;lt;/td&amp;gt;	 &lt;br /&gt;
    &amp;lt;td&amp;gt;[https://projects.kde.org/projects/extragear/kdevelop/kdevplatform/repository projects.kde.org/kdevplatform]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional recommended software ===&lt;br /&gt;
These tools are optional, that means that the compiled KDevelop will work without them.&lt;br /&gt;
But it will lack some features like documentation generation or searching over several files.&lt;br /&gt;
So you should probably check out your system for these programs.&lt;br /&gt;
&amp;lt;table align=center border=0 cellspacing=2 cellpadding=2&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Program/Library&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Source&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;subversion-devel &amp;amp;gt;= 1.4&amp;lt;br&amp;gt;([http://subversion.tigris.org/ Subversion] integration)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://subversion.tigris.org/ subversion.tigris.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example: Ubuntu 10.04 ===&lt;br /&gt;
In ubuntu 10.04 the needed developement libraries from package manager are:&lt;br /&gt;
   kdelibs5-dev&lt;br /&gt;
   libqt4-dev&lt;br /&gt;
   zlib1g-dev&lt;br /&gt;
   kdebase-workspace-dev&lt;br /&gt;
Optional:&lt;br /&gt;
   libsvn-dev&lt;br /&gt;
&lt;br /&gt;
== Programs/libraries required to run KDevelop ==&lt;br /&gt;
These tools have to be installed on the machine where you want to '''run''' KDevelop.&lt;br /&gt;
&amp;lt;table align=center border=0 cellspacing=2 cellpadding=2&amp;gt;&lt;br /&gt;
  &amp;lt;tr align=left&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Program/Library&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Source&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;kdelibs &amp;amp;gt;= 4.3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.kde.org/ www.kde.org]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Qt &amp;amp;gt;= 4.5.2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.trolltech.com/products/qt/ www.trolltech.com/products/qt]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;KDevelop Development Platform &amp;amp;gt;= 1.0.0&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[https://projects.kde.org/projects/extragear/kdevelop/kdevplatform/repository projects.kde.org/kdevplatform]&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optional recommended software ===&lt;br /&gt;
These tools are optional, that means that KDevelop will work without them.&lt;br /&gt;
But it will lack some features like debugging support.&lt;br /&gt;
So you should probably check out your system for these programs.&lt;br /&gt;
&amp;lt;table align=center border=0 cellspacing=2 cellpadding=2&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Program/Library&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th class=header align=left&amp;gt;Source&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr valign=top&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;GDB &amp;amp;gt;= 7.0, with python support enabled&amp;lt;br&amp;gt;(well working internal debugger)&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;[http://www.gnu.org/software/gdb/ www.gnu.org/software/gdb]&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2011-02-05T17:58:22Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* 1. Get the requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.1 for kdevplatform and branch 4.1 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:/$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4 at [[KDevelop 4/compiling/plugins]].&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop/build&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop/build&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/HowToCompile</id>
		<title>Projects/KDevelop4/HowToCompile</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/HowToCompile"/>
				<updated>2011-02-05T17:58:04Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with '__NOTOC__ The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to. So follow the step by step instruc...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
The way to download, compile, install and run KDevelop depends on how you want to download it and where do you want to install it to.&lt;br /&gt;
So follow the step by step instructions below.&lt;br /&gt;
&lt;br /&gt;
== 1. Get the requirements ==&lt;br /&gt;
Make sure to install the required KDE development packages, see [[KDevelop 4/requirements]] for a list of requirements. In particular make sure to install KDE4 kdelibs development packages. At least following packages are required:&lt;br /&gt;
&lt;br /&gt;
In Fedora 13: kdelibs-devel kdebase-workspace-devel&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 11.04: cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' You have to remove all KDevelop packages provided by your distribution. If you don't do that, binary compatibility issues will eventually lead to crashes and undefined behavior. To make sure, you can search for KDevelop libraries with this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/ -type f -name &amp;quot;*kdev*.so*&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no results are returned, you should be on the safe side.&lt;br /&gt;
&lt;br /&gt;
== 2. Get the sources (assumes ''$HOME/src'' but you can replace it with something else) ==&lt;br /&gt;
* By downloading it to ''$HOME/src''&lt;br /&gt;
**  download ''kdevplatform.tar.bz2'' and ''kdevelop.tar.bz2'' from http://download.kde.org/download.php?url=stable/kdevelop/4.1.2/src/&lt;br /&gt;
**  unpack them:&lt;br /&gt;
              cd $HOME/src&lt;br /&gt;
              tar xvjf kdevplatform.tar.bz2&lt;br /&gt;
              tar xvjf kdevelop.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest master branch sources directly out of the Git server&lt;br /&gt;
        git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform&lt;br /&gt;
        git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop&lt;br /&gt;
&lt;br /&gt;
Please note that this branch will depend on MovingRange in Kate, meaning KDE 4.5 and above. This can be updated by doing sudo yum update kdelibs or equivalent. &lt;br /&gt;
&lt;br /&gt;
* '''Or''', by getting the latest 4.2-branch sources directly out of the Git server. First you need to do clone git reposity as above, and then tell git to use branch 1.1 for kdevplatform and branch 4.1 for kdevelop:&lt;br /&gt;
        cd  $HOME/src/kdevplatform ; git checkout -b 1.2 origin/1.2 &lt;br /&gt;
        cd  $HOME/src/kdevelop ; git checkout -b 4.2 origin/4.2&lt;br /&gt;
&lt;br /&gt;
== 3. Configure and install ==&lt;br /&gt;
&lt;br /&gt;
You can do a system install of KDevelop in the default path (/usr/local), which needs root privileges,&lt;br /&gt;
or you can install it locally for your user only.&lt;br /&gt;
The instructions for both are slightly different;&lt;br /&gt;
first we'll explain the local install.&lt;br /&gt;
&lt;br /&gt;
In both cases you need set the KDEDIRS environment variable to point to the installation directory of both KDE4 and KDevPlatform.&lt;br /&gt;
&lt;br /&gt;
This will tell KDE core components where to search for plugins and other data related to KDE apps and contains just a list of paths (aka prefixes) where KDE libraries and/or applications have been installed.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have the KDE4 libraries installed in ''/usr'' (these are often from packages and installed in ''/usr'' or ''/opt/kde'' and is distro specific, if unsure ask your distro where it is), you'll have to append it to the KDEDIRS below.&lt;br /&gt;
&lt;br /&gt;
=== Local installation ===&lt;br /&gt;
&lt;br /&gt;
The following commands give instructions to install in ''$HOME/kdevelop4'';&lt;br /&gt;
you can of course replace it with something else.&lt;br /&gt;
You don't need root permissions to install KDevelop this way.&lt;br /&gt;
&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop, telling it to use the just-installed KDevPlatform:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4 ../&lt;br /&gt;
    make&lt;br /&gt;
    make install&lt;br /&gt;
&lt;br /&gt;
Before running KDevelop, you need set the KDEDIRS environment variable. Assuming that you want to install KDevelop4  into ''$HOME/kdevelop4'' then you need to run the following:&lt;br /&gt;
&lt;br /&gt;
    export KDEDIRS=$HOME/kdevelop4:/$KDEDIRS&lt;br /&gt;
    kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
Note that this will set the KDEDIRS variable only for that shell (so launching kdevelop from desktop launcher will fail). A good solution is to add to a small script to ''$HOME/.kde/env'' that sets the KDEDIRS variable to proper. For example you may call it ''$HOME/.kde/env/kdedirs.sh'' and it could contain:&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    export KDEDIRS=/usr/local/:$KDEDIRS&lt;br /&gt;
&lt;br /&gt;
And it needs to have execution permissions.&lt;br /&gt;
&lt;br /&gt;
=== System installation ===&lt;br /&gt;
First, compile and install KDevPlatform:&lt;br /&gt;
    mkdir -p $HOME/src/kdevplatform/build&lt;br /&gt;
    cd $HOME/src/kdevplatform/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Then compile KDevelop:&lt;br /&gt;
&lt;br /&gt;
    mkdir -p $HOME/src/kdevelop/build&lt;br /&gt;
    cd $HOME/src/kdevelop/build&lt;br /&gt;
    cmake ../&lt;br /&gt;
    make&lt;br /&gt;
    sudo make install&lt;br /&gt;
&lt;br /&gt;
Before running it, you need to set KDEDIRS properly as in local installation but with path as /usr/local/.&lt;br /&gt;
&lt;br /&gt;
== 4. Get and install plugins (optional) ==&lt;br /&gt;
&lt;br /&gt;
If you need extra functionality, you can get and install additional plugins for KDevelop4 at [[KDevelop 4/compiling/plugins]].&lt;br /&gt;
&lt;br /&gt;
== 5. Run KDevelop ==&lt;br /&gt;
Just execute:&lt;br /&gt;
        $HOME/kdevelop4/bin/kdevelop&lt;br /&gt;
&lt;br /&gt;
(If you want to ease it, you can add $HOME/kdevelop4/bin/ to your $PATH env variable).&lt;br /&gt;
&lt;br /&gt;
== 6. Contact the development team, or report bugs or wishes ==&lt;br /&gt;
If you find any compile problems with KDevelop4 please report them on our [http://www.kdevelop.org/index.html?filename=mailinglist.html developer mailing-list].&lt;br /&gt;
If you find problems while using KDevelop4 use, the [http://bugs.kde.org/ bugzilla bug database] which is only for bugs ('''not''' for compilation issues).&lt;br /&gt;
&lt;br /&gt;
If you find bugs that cause program to crash and you are going to make bug report out of it, please re-compile the program with debug symbols. This is done with options &lt;br /&gt;
&amp;lt;pre&amp;gt;-DCMAKE_BUILD_TYPE=debugfull&amp;lt;/pre&amp;gt;&lt;br /&gt;
passed to cmake in configuration step. Also be sure to update kdevelop and kdevplatform to newest version, your bug might be already fixed.&lt;br /&gt;
&lt;br /&gt;
== 7. Keeping it up-to-date with the latest fixes ==&lt;br /&gt;
If you got the sources from the git repository on step 2. then you can update by issuing the following commands:&lt;br /&gt;
* with '''root permissions''' do this&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; sudo make uninstall&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        cd $HOME/src/kdevelop/build&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
* '''Or''' if installed in local directory&lt;br /&gt;
        cd $HOME/src/kdevelop/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        cd $HOME/src/kdevplatform/build &amp;amp;&amp;amp; make uninstall&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        cd $HOME/src/kdevelop/build&lt;br /&gt;
        git pull &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br /&gt;
        kbuildsycoca4&lt;br /&gt;
&lt;br /&gt;
You can also see here [https://projects.kde.org/projects/extragear/kdevelop/ the latest changes] in the KDevelop projects.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4/Compatibility</id>
		<title>Projects/KDevelop4/Compatibility</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4/Compatibility"/>
				<updated>2011-02-05T16:03:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with '{| border=&amp;quot;1&amp;quot; |- style=&amp;quot;vertical-align: top&amp;quot; ! ! KDevelop 4.0 ! KDevelop 4.1 ! KDevelop 4.2&amp;lt;br&amp;gt;(master) |- ! KDE 4.3.x | bgcolor=lime | Yes | bgcolor=red | No | bgcolor=red | No ...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! KDevelop 4.0&lt;br /&gt;
! KDevelop 4.1&lt;br /&gt;
! KDevelop 4.2&amp;lt;br&amp;gt;(master)&lt;br /&gt;
|-&lt;br /&gt;
! KDE 4.3.x&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=red | No&lt;br /&gt;
| bgcolor=red | No&lt;br /&gt;
|-&lt;br /&gt;
! KDE 4.4.x&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=red | No &amp;lt;sup&amp;gt;[[#kde44mr|[1]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! KDE 4.5.0/.1&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=red | Crashes &amp;lt;sup&amp;gt;[[#crash450|[2]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! KDE 4.5.2+&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
|-&lt;br /&gt;
! KDE 4.6.x&lt;br /&gt;
| bgcolor=red | No &amp;lt;sup&amp;gt;[[#kde46sr|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| bgcolor=red | No &amp;lt;sup&amp;gt;[[#kde46sr|[3]]]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| bgcolor=lime | Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p id=&amp;quot;kde44mr&amp;quot;&amp;gt;[1] KDevelop 4.2 was ported from SmartRanges to MovingRanges, and Kate 4.4 only has SmartRanges.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;crash450&amp;quot;&amp;gt;[2] There was a critical bug in the MovingRanges implementation that got fixed in trunk (4.6), but the developer didn't remember to backport it to 4.5. It was only noticed and backported in KDE 4.5.2. KDevelop is unusable in 4.5.0/4.5.1 without this fix.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;kde46sr&amp;quot;&amp;gt;[3] KDE 4.6 dropped support for the old SmartRanges in favor of MovingRanges. KDevelop 4.0 and 4.1 only support SmartRanges and not MovingRanges.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2011-02-05T16:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[KDevelop4/Compatibility]]&lt;br /&gt;
* [[KDevelop4/HowToCompile]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/KDevelop4</id>
		<title>Projects/KDevelop4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/KDevelop4"/>
				<updated>2011-02-05T16:03:38Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: Created page with 'KDevelop4/Compatibility KDevelop4/HowToCompile'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[KDevelop4/Compatibility]]&lt;br /&gt;
[[KDevelop4/HowToCompile]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan</id>
		<title>Schedules/KDE4/4.5 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan"/>
				<updated>2010-04-13T18:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* kdelibs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.5 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.4 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeadmin  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|system-config-printer-kde|Restore feature parity with KDEPrint3 where possible.||Jonathan Riddell, John Layt}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in session-management|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in tab-bar widget|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|New Konqueror bookmarks using Akonadi and Nepomuk, awesome bar|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KWallet|Single Sign On using PAM|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for LISa|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for SMB|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Integrate with remote and zeroconf kioslaves|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|Locale KCM|Add support for new KLocale features (see kdelibs section) including Digit Groups, AM/PM, etc.  Improvements to usability of existing money display options.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|network kioslave|Backend for UPnP|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave| Backend to discover bluetooth devices and they services |edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureInProgress|bluetooth kioslave|Backend to browse bluetooth devices|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Non-Plasma, Non-KWin &lt;br /&gt;
{{FeatureTodo|Icons KCM|More configurable icon sizes|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Fonts KCM|More configurable fonts|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Solid|Write a new Bluetooth backend |alex@eyeos.org|Alex Fiestas}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|systemtray|monochrome statusnotifier based systray icons support|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|systemtray|sort icons by category|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|systemtray|put hidden icons in a popup menu|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|split systemtray and notifications applet|notmart@gmail.com|Marco Martin}}  &lt;br /&gt;
{{FeatureInProgress|notifications|new look and behaviour for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|support for remote applets for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|netbook/SAL|use QStandardModels|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|netbook/SAL|support for drag and drop of items|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|put extendergroups in scrollwidgets|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|possibility to detach exteneritems as standalone windows|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma/theme|more transparent dialogs when the blur effect is enabled|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/desktop|Activity Manager UI|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|accounts applet|a plasma widget that is a central place to add accounts to social sites like identica and opendesktop, optimized for the netbook shell|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|folderview|&amp;quot;Open folder&amp;quot; icon to open folder into pop-up at request instead of automatically.|bigras.bruno@gmail.com|Bruno Bigras}}&lt;br /&gt;
{{FeatureInProgress|Extend Calendar DataEngine with Akonadi calendar incidents|Allows to query calendar events/todos from Akonadi in Plasma|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KStars|Display Comet Magnitudes whenever possible|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Information links in-place for each technical term|akarshsimha@gmail.com|Akarsh Simha}} {{FeatureTodo|KStars|Tool to suggest star-hopping techniques???|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Extend conjunction tool to have one object unspecified, but have a genre of objects specified instead|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Lunar Eclipses|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Satellites and Iridium Flares|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Social and Geographical Integration for KStars|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Marble widget for Geolocation tool|mboquien@free.fr|Médéric Boquien}} &lt;br /&gt;
{{FeatureTodo|KStars|Better printed star charts|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Better rendering of comets/asteroids|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Texture mapping of the skymap???|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|Marble|Add proper support for GPX waypoints, tracks and routes display|anders@alweb.dk|Anders Lund}}&lt;br /&gt;
{{FeatureTodo|Marble|Export map to MxN pixel bitmap|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Map Contents translation|tackat@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|Marble|Support OpenStreetMap Nominatim as search backend (MarbleRunner)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Generalized Animations with GeoDataLookAt support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Online-Routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GPS improvements|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Maemo Support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoGraphicsScene for Online Service Plugins|bastianholst@gmx.de|Bastian Holst}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Type checker for expressions to statically detect errors|aleixpol@kde.org|Aleix Pol}}&lt;br /&gt;
{{FeatureInProgress|Parley|Parley practice mode rewritten|gladhornKDEorg|Daniel Laidig, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|Cantor|import and polish Qalculate! backend|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KBounce|Difficulty levels|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureDone|KBounce|Random images as background|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureTodo|KBreakOut|Level Sets|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KBreakOut|Sound|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|Kolf|Replace with Kolf 2 (help on coding and artwork desired)|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|KsirK|rewrite AI code or at least correct most problems related in bug #170777. Volunteers wanted!|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureTodo|KsirK|Boost playing over Jabber|kleag@free.fr|Gaël de Chalendar}}&lt;br /&gt;
{{FeatureTodo|KSquares|Re-write computer player, make it act faster and more intelligent|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSquares|Add more types of boards: hexagonal, triangular|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Import new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Port game to new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Adapt view to show information provided by engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Add new actions to GUI|joselb@gmx.net|Johannes Bergmeier}}&lt;br /&gt;
{{FeatureTodo|Granatier|Arena Editor|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|New traditional Mahjongg for four players|wolfgang@rohdewald.de|Wolfang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kigo|Load SGF games from command line and register to mimetype 'application/x-go-sgf'|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|KTuberling|A new &amp;quot;fast switch&amp;quot; between playgrounds|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211859 Recieve new puzzles over KNewStuff]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211861 Introduce handicap as a means to configure difficulty]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211866 Implement puzzle piles to organize pieces]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}212814 Quick piece grouping]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}213774 Add magnifying glass]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|Rewrite puzzle table mouse interaction stack|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureTodo|Konquest|Merge the patch by Sean D'Epagnier to implement many features like map editing|pinaraf@pinaraf.info|Pierre Ducroquet}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|libkdcraw|Make color management options more flexible|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureDone|libksane|Improve auto-selection|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|gwenview|Show Nepomuk info in image meta info|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureTodo|gwenview|Persistent changes|agateau@kde.org|Aurelien Gateau}}&lt;br /&gt;
{{FeatureTodo|okular|Thumb creators via Okular Core|harsh@harshj.com|Harsh J}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|katepart|Add visual block mode and make the basic commands support it|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureTodo|katepart|context dependent indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|scripting configuration, esp. for indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|list of available scripts and indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|GHNS for scripts/indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|easier writing of indenters, esp. by automatically reloading them when changed|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|extend list of available default styles for highlighting, remove hardcoded colors from existing XML files|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|improve AutoBrace plugin|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|kdeui|API to integrate KStatusNotifierItem and KNotification: both as class api and DBus specification API|davide.bettio@kdemail.net|Davide Bettio}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new astronomical calculation support classes to be used in kdelibs to build new astronomically based calendar systems, and in kdepim to build new version of libkholiday.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new calendar systems: Bahaii, Coptic, Ethiopean, Chinese, Japanese, Buddhist, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdecore|Group policy (Windows) backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|If no file printing support in Qt4.5, migrate FilePrinter class from Okular to enable file printing for all apps via QPrinter.  To be discussed on k-c-d first.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|Add framework for standard actions for 'Send to...' for e-mail, fax, etc by printing to PDF/PS.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Implement caps-lock warning for password entry widgets|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureTodo|kio|Better file information in file conflict dialog|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for number grouping other than thousands using LC_NUMERIC and LC_MONETARY formats, e.g. India 00 00 000 and China 0000 0000.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Full POSIX compliant format support for date, time, numbers and money.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement more 'named' date/time formats, e.g. ISO, UnixTimestamp, RFC3339, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add Full date format in addition to existing short and long.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement separate backends for each supported platform/desktop to use platform localisation in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for additional Country Code standards: ISO Alpha 3, ISO Numeric 3, FIPS-10.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for Country Code sub-regions, i.e. States/Provinces/etc. Needed for new KHolidays.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Improvements to KDatePicker/KDateTable for feature parity with Plasma Calendar widget, i.e. holiday support, select calendar system, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|DBus interface in StatusNotifierItem to connect it with freedesktop notifications instances|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|Khtml|Improvements in kwallet integration|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureTodo|Khtml|Basic audio/video tag support|germain@ebooksfrance.org|Michael Howell and Germain Garand}} &lt;br /&gt;
{{FeatureTodo|Khtml|Implement more of DOM3's CSSOM View module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Improved Download Dialog, multiple previews, better integration of details, changelog is displayed|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureInProgress|KNewStuff|Icon view mode|gladhornKDEorg|Reza Shah, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Upload dialog rewritten: It now supports updating of old uploads, previews, most data that can be entered on the website and allows direct login to the account|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|kdeui|Social About Dialog|teo@kde.org|Téo Mrnjavac}}&lt;br /&gt;
{{FeatureTodo|kio|SSL client certificate support|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
{{FeatureTodo|kio|SSL root certificate list GUI + backend|ahartmetz@gmail.com|Andreas Hartmetz}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements -- will move to KDE 4.5 feature plan|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however -- will move to KDE 4.5 feature plan|mpyne.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Kopete|UPnp Support|mattr@kde.org|Matt Rogers}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle video support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle ICE support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Add support for urls to Bonjour plugin|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Kopete|Rich text support for ICQ|kedgedev@gmail.com|Roman Jarosz}} &lt;br /&gt;
{{FeatureTodo|Krdc|Connection status screen and reconnect|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureDone|Krdc|Much improved new connection screen: more info, sortable, interactive, and better use of space|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureInProgress|KGet|Use plasma notifications to show the progress|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureInProgress|KGet|Refaktor Torrent-Plugin to base on the newly created libktorrent from extragear|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|knowledgebase|port knowledgebase plasmoid to new engine|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|knowledgebase|Add categories|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureDone|Bookmarks widget|New|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Performance improvements|jacob.benoit.1@gmail.com|Benoit Jacob}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Rendering improvements (through dithering, extra iterations, and better/simpler formulas)|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Allow to import/export parameters and to export to PNG images|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Add option to show &amp;quot;text&amp;quot;, &amp;quot;icons&amp;quot; or both &amp;quot;text and icons&amp;quot; for tabs|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Prefetch next and previous comic strip (thx to Miha Cancula)|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Character Runner|New|akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
{{FeatureInProgress|KDE Observatory|Performance improvements, new data engine|sandroandrade@kde.org|Sandro Andrade}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Kate|Replace old snippet plugin through TNG plugin|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|KGpg|Make keyserver actions possible to use on multiple keyservers at once|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Refactor mouse input to controllers for the bytearray widget|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add KNewStuff support to the structures tool|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureInProgress|kdelirc/kremotecontrol|Transition from KDELirc to KRemoteControl|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureInProgress|Okteta|Allow writing structure definitions in JavaScript|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureDone|Okteta|new export formats: S-Record, Intel Hex, Base32, Ascii85, Uuencoding, Xxencoding|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|add QIODevice for AbstractByteArrayModel and make mimetype detection use this instead of only filename |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan</id>
		<title>Schedules/KDE4/4.5 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.5_Feature_Plan"/>
				<updated>2010-04-13T00:14:47Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the SC 4.5 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.5 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.4 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeadmin  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|system-config-printer-kde|Restore feature parity with KDEPrint3 where possible.||Jonathan Riddell, John Layt}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in session-management|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in tab-bar widget|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|New Konqueror bookmarks using Akonadi and Nepomuk, awesome bar|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KWallet|Single Sign On using PAM|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for LISa|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for SMB|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Integrate with remote and zeroconf kioslaves|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|Locale KCM|Add support for new KLocale features (see kdelibs section) including Digit Groups, AM/PM, etc.  Improvements to usability of existing money display options.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|network kioslave|Backend for UPnP|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave| Backend to discover bluetooth devices and they services |edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureInProgress|bluetooth kioslave|Backend to browse bluetooth devices|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Non-Plasma, Non-KWin &lt;br /&gt;
{{FeatureTodo|Icons KCM|More configurable icon sizes|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Fonts KCM|More configurable fonts|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Solid|Write a new Bluetooth backend |alex@eyeos.org|Alex Fiestas}} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureInProgress|systemtray|monochrome statusnotifier based systray icons support|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|systemtray|sort icons by category|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|systemtray|put hidden icons in a popup menu|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|split systemtray and notifications applet|notmart@gmail.com|Marco Martin}}  &lt;br /&gt;
{{FeatureInProgress|notifications|new look and behaviour for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|notifications|support for remote applets for notifications|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|netbook/SAL|use QStandardModels|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|netbook/SAL|support for drag and drop of items|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|put extendergroups in scrollwidgets|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/extenders|possibility to detach exteneritems as standalone windows|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureInProgress|libplasma/theme|more transparent dialogs when the blur effect is enabled|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma/desktop|Activity Manager UI|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|accounts applet|a plasma widget that is a central place to add accounts to social sites like identica and opendesktop, optimized for the netbook shell|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|folderview|&amp;quot;Open folder&amp;quot; icon to open folder into pop-up at request instead of automatically.|bigras.bruno@gmail.com|Bruno Bigras}}&lt;br /&gt;
{{FeatureInProgress|Extend Calendar DataEngine with Akonadi calendar incidents|Allows to query calendar events/todos from Akonadi in Plasma|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KStars|Display Comet Magnitudes whenever possible|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Information links in-place for each technical term|akarshsimha@gmail.com|Akarsh Simha}} {{FeatureTodo|KStars|Tool to suggest star-hopping techniques???|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Extend conjunction tool to have one object unspecified, but have a genre of objects specified instead|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Lunar Eclipses|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Satellites and Iridium Flares|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Social and Geographical Integration for KStars|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Marble widget for Geolocation tool|mboquien@free.fr|Médéric Boquien}} &lt;br /&gt;
{{FeatureTodo|KStars|Better printed star charts|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Better rendering of comets/asteroids|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Texture mapping of the skymap???|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|Marble|Add proper support for GPX waypoints, tracks and routes display|anders@alweb.dk|Anders Lund}}&lt;br /&gt;
{{FeatureTodo|Marble|Export map to MxN pixel bitmap|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Map Contents translation|tackat@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureDone|Marble|Support OpenStreetMap Nominatim as search backend (MarbleRunner)|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Generalized Animations with GeoDataLookAt support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Online-Routing|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GPS improvements|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|Maemo Support|earthwings@gentoo.org|Dennis Nienhüser}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoGraphicsScene for Online Service Plugins|bastianholst@gmx.de|Bastian Holst}}&lt;br /&gt;
{{FeatureDone|KAlgebra|Type checker for expressions to statically detect errors|aleixpol@kde.org|Aleix Pol}}&lt;br /&gt;
{{FeatureInProgress|Parley|Parley practice mode rewritten|gladhornKDEorg|Daniel Laidig, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|Cantor|import and polish Qalculate! backend|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|KBounce|Difficulty levels|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureDone|KBounce|Random images as background|ascherfy@gmail.com|Andreas Scherf}}&lt;br /&gt;
{{FeatureTodo|KBreakOut|Level Sets|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KBreakOut|Sound|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|Kolf|Replace with Kolf 2 (help on coding and artwork desired)|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|KsirK|rewrite AI code or at least correct most problems related in bug #170777. Volunteers wanted!|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureTodo|KsirK|Boost playing over Jabber|kleag@free.fr|Gaël de Chalendar}}&lt;br /&gt;
{{FeatureTodo|KSquares|Re-write computer player, make it act faster and more intelligent|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSquares|Add more types of boards: hexagonal, triangular|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Import new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Port game to new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Adapt view to show information provided by engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Add new actions to GUI|joselb@gmx.net|Johannes Bergmeier}}&lt;br /&gt;
{{FeatureTodo|Granatier|Arena Editor|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureInProgress|Kajongg|New traditional Mahjongg for four players|wolfgang@rohdewald.de|Wolfang Rohdewald}}&lt;br /&gt;
{{FeatureDone|Kigo|Load SGF games from command line and register to mimetype 'application/x-go-sgf'|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|KTuberling|A new &amp;quot;fast switch&amp;quot; between playgrounds|alex@eyeos.org|Alex Fiestas}}&lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211859 Recieve new puzzles over KNewStuff]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211861 Introduce handicap as a means to configure difficulty]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}211866 Implement puzzle piles to organize pieces]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}212814 Quick piece grouping]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Palapeli|[https://bugs.kde.org/show_bug.cgi?id{{=}}213774 Add magnifying glass]|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureInProgress|Palapeli|Rewrite puzzle table mouse interaction stack|majewsky@gmx.net|Stefan Majewsky}}&lt;br /&gt;
{{FeatureTodo|Konquest|Merge the patch by Sean D'Epagnier to implement many features like map editing|pinaraf@pinaraf.info|Pierre Ducroquet}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegraphics  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|libkdcraw|Make color management options more flexible|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureDone|libksane|Improve auto-selection|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|gwenview|Show Nepomuk info in image meta info|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureTodo|gwenview|Persistent changes|agateau@kde.org|Aurelien Gateau}}&lt;br /&gt;
{{FeatureTodo|okular|Thumb creators via Okular Core|harsh@harshj.com|Harsh J}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|katepart|Add visual block mode and make the basic commands support it|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureTodo|katepart|context dependent indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|scripting configuration, esp. for indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|list of available scripts and indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|GHNS for scripts/indenters|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|katepart|easier writing of indenters, esp. by automatically reloading them when changed|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|kdeui|API to integrate KStatusNotifierItem and KNotification: both as class api and DBus specification API|davide.bettio@kdemail.net|Davide Bettio}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new astronomical calculation support classes to be used in kdelibs to build new astronomically based calendar systems, and in kdepim to build new version of libkholiday.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new calendar systems: Bahaii, Coptic, Ethiopean, Chinese, Japanese, Buddhist, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdecore|Group policy (Windows) backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|If no file printing support in Qt4.5, migrate FilePrinter class from Okular to enable file printing for all apps via QPrinter.  To be discussed on k-c-d first.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|Add framework for standard actions for 'Send to...' for e-mail, fax, etc by printing to PDF/PS.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Implement caps-lock warning for password entry widgets|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureTodo|kio|Better file information in file conflict dialog|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for number grouping other than thousands using LC_NUMERIC and LC_MONETARY formats, e.g. India 00 00 000 and China 0000 0000.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Full POSIX compliant format support for date, time, numbers and money.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement more 'named' date/time formats, e.g. ISO, UnixTimestamp, RFC3339, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add Full date format in addition to existing short and long.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement separate backends for each supported platform/desktop to use platform localisation in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for additional Country Code standards: ISO Alpha 3, ISO Numeric 3, FIPS-10.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for Country Code sub-regions, i.e. States/Provinces/etc. Needed for new KHolidays.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Improvements to KDatePicker/KDateTable for feature parity with Plasma Calendar widget, i.e. holiday support, select calendar system, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|DBus interface in StatusNotifierItem to connect it with freedesktop notifications instances|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|Khtml|Improvements in kwallet integration|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureTodo|Khtml|Basic audio/video tag support|germain@ebooksfrance.org|Michael Howell and Germain Garand}} &lt;br /&gt;
{{FeatureTodo|Khtml|Implement more of DOM3's CSSOM View module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Improved Download Dialog, multiple previews, better integration of details, changelog is displayed|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureInProgress|KNewStuff|Icon view mode|gladhornKDEorg|Reza Shah, Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|KNewStuff|Upload dialog rewritten: It now supports updating of old uploads, previews, most data that can be entered on the website and allows direct login to the account|gladhornKDEorg|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureTodo|kdeui|Social About Dialog|teo@kde.org|Téo Mrnjavac}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements -- will move to KDE 4.5 feature plan|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however -- will move to KDE 4.5 feature plan|mpyne.org|Michael Pyne}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Kopete|UPnp Support|mattr@kde.org|Matt Rogers}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle video support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle ICE support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Add support for urls to Bonjour plugin|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Kopete|Rich text support for ICQ|kedgedev@gmail.com|Roman Jarosz}} &lt;br /&gt;
{{FeatureTodo|Krdc|Connection status screen and reconnect|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureDone|Krdc|Much improved new connection screen: more info, sortable, interactive, and better use of space|murraytony@gmail.com|Tony Murray}}&lt;br /&gt;
{{FeatureInProgress|KGet|Use plasma notifications to show the progress|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureInProgress|KGet|Refaktor Torrent-Plugin to base on the newly created libktorrent from extragear|l.appelhans@gmx.de|Lukas Appelhans}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|knowledgebase|port knowledgebase plasmoid to new engine|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|knowledgebase|Add categories|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureDone|Bookmarks widget|New|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Performance improvements|jacob.benoit.1@gmail.com|Benoit Jacob}} &lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Rendering improvements (through dithering, extra iterations, and better/simpler formulas)|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Mandelbrot Wallpaper|Allow to import/export parameters and to export to PNG images|jacob.benoit.1@gmail.com|Benoit Jacob}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Add option to show &amp;quot;text&amp;quot;, &amp;quot;icons&amp;quot; or both &amp;quot;text and icons&amp;quot; for tabs|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Comic Applet|Prefetch next and previous comic strip (thx to Miha Cancula)|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
{{FeatureDone|Character Runner|New|akreuzkamp@web.de|Anton Kreuzkamp}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Kate|Replace old snippet plugin through TNG plugin|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}}&lt;br /&gt;
{{FeatureTodo|KGpg|Make keyserver actions possible to use on multiple keyservers at once|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Refactor mouse input to controllers for the bytearray widget|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add KNewStuff support to the structures tool|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureInProgress|kdelirc/kremotecontrol|Transition from KDELirc to KRemoteControl|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureInProgress|Okteta|Allow writing structure definitions in JavaScript|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureDone|Okteta|new export formats: S-Record, Intel Hex, Base32, Ascii85, Uuencoding, Xxencoding|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|add QIODevice for AbstractByteArrayModel and make mimetype detection use this instead of only filename |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/Quanta/Feature_Plan_4</id>
		<title>Projects/Quanta/Feature Plan 4</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/Quanta/Feature_Plan_4"/>
				<updated>2010-04-07T01:18:08Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a todo list for Quanta4&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Php Language Support =&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; white-space:nowrap;&amp;quot;&lt;br /&gt;
! Status !! Category !! Description !! Contact&lt;br /&gt;
{{FeatureDone|Parser|Parser written using kdevelop-pg-qt|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureTodo|Parser|PHP 5.3 support (configurable)|-}}&lt;br /&gt;
{{FeatureInProgress|DUChain|DUChain generation|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|DUChain|class declaration after class instantiation should work as in Php|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|DUChain|static variables|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|DUChain|final / abstract classes|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|DUChain|final / abstract methods|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|DUChain|adapt isDestructor/isConstructor to handle __destruct / __construct|mail@milianw.de|Milian Wolff}} &lt;br /&gt;
{{FeatureDone|DUChain|add type for PHP resources|mail@milianw.de|Milian Wolff}} &lt;br /&gt;
{{FeatureDone|DUChain|global variables: global keyword, $GLOBALS, $_GET|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|DUChain|second parse pass when project opened - to find all types correctly|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureInProgress|DUChain|try to improve performance of declaration- and usebuilder, esp. for large files|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|DUChain|user configurable project dependencies on other projects/paths|-}}&lt;br /&gt;
{{FeatureTodo|DUChain|http://www.icosaedro.it/phplint/phpdoc.html|-}}&lt;br /&gt;
{{FeatureDone|DUChain|properly support magic constants: http://de3.php.net/language.constants.predefined&lt;br /&gt;
if possible show their value while hovering|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|DUChain|add variable definitions for key/value in foreach statements|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Code Completion||niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|Code Completion|overloadable functions in class context|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|standard PHP keywords for current context (foreach, while, function, etc.)|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|Code Completion|doxygen/phpdoc comment completion / skeleton generation|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|completion for default entries of $_SERVER array|-}}&lt;br /&gt;
{{FeatureDone|Code Completion|completion after require/include, similar to what cpp does after #include|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|only show visible methods (protected/private/public)|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|only show interfaces after &amp;quot;implements&amp;quot;|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|only show classes/interfaces after &amp;quot;extends&amp;quot;|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|only show Exceptions in &amp;quot;catch()&amp;quot; and after &amp;quot;throw&amp;quot;|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Code Completion|filter abstract methods/classes|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|Code Completion|mind type hinting for function argument completion|-}}&lt;br /&gt;
{{FeatureDone|Code Completion|skeletons for while/do/for/foreach/switch/class/interface statements|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|Code Completion|filter functions and variables that won't ever be able to return arrays in foreach completion (i.e. no array, no functions that return arrays or objects, no objects)|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|group completion stuff by type, i.e. functions, classes, instances, keywords, etc.|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|Create a global Context (imports all files of a project) that is imported in every context. That way findDeclarations(...) works across all files and we can drop that PersistentSymbolTable and CodeModel stuff|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|create a phpdoc comment for functions / classes, see {{bug|95904}}|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|use PDTT tests http://wiki.eclipse.org/PDTT_-_PHP_5.3_Code_Assist_Tests|-}}&lt;br /&gt;
{{FeatureTodo|Code Completion|don't do autocompletion in strings, except for callback types|-}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Problem reporting||niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|Problem reporting|don't create problems for not found declarations - instead do it as Cpp does - so it is even configurable|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|give reasonable error messages|-}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|validate declaration visibility|-}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|configurable: report unreachable code (i.e. after return)|-}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|configurable: variable assignment instead of bool check|-}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|don't build declarations/types/uses/contexts for erroneous declarations|-}}&lt;br /&gt;
{{FeatureDone|Problem reporting|validate redeclarations, esp. classes, functions, methods etc.|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|Problem reporting|respect &amp;quot;semantic error highlighting&amp;quot; option|-}}&lt;br /&gt;
{{FeatureDone|Problem reporting|support different severities|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Internal Php functions|extract functions from php manual|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureDone|Internal Php functions|add superglobal variables ($_GET, ...)|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
{{FeatureTodo|Internal Php functions|configurable: ignore deprecated autoglobals like $argv, $HTTP_*_VARS|-}}&lt;br /&gt;
{{FeatureDone|Internal Php functions|add @since for functions only avaliable in Php 5.3|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|CodeGeneration|new Class with support for extends/implements|-}}&lt;br /&gt;
{{FeatureTodo|CodeGeneration|file template with proper phpdoc/doxygen comment|-}}&lt;br /&gt;
{{FeatureTodo|CodeGeneration|Assistant popup for creating missing include files|-}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Semantic Highlighting||-}}&lt;br /&gt;
{{FeatureDone|Semantic Highlighting|make colors of member variables&lt;br /&gt;
and esp. of &amp;quot;$this&amp;quot; consistent|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureTodo|Semantic Highlighting|highlight defines differently|-}}&lt;br /&gt;
{{FeatureTodo|Semantic Highlighting|highlight local variables in global context like local variable in func context|-}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Debugger|Full-Featured Debugger (XDebug)|niko.sams@gmail.com|Niko Sams}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Unit Tests|refactor tests to reduce repeated code|-}}&lt;br /&gt;
{{FeatureTodo|Unit Tests|introduce tests for problem reporting|-}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureInProgress|Documentation|integrate PHP.net documentation into KDevelop |mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|Documentation|remote php.net integrated|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureInProgress|Documentation|integrate local copy of PHP.net documentation|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureDone|Indenter|write an indenter script based on the C-style indenter which does not work for PHP due to &amp;lt;?php...?&amp;gt; tags&lt;br /&gt;
Note: cstyle.js works fine for PHP|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Assistant|take a look on where to integrate the assistant architecture|-}}&lt;br /&gt;
&lt;br /&gt;
{{FeatureTodo|Formatter|Add a formatter plugin for the [http://pear.php.net/package/PHP_Beautifier/ PHP beautifier]|-}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fix PHP-related Quanta bugs ([https://bugs.kde.org/buglist.cgi?query_format=advanced&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=php&amp;amp;product=kate&amp;amp;product=kdevelop&amp;amp;product=kdevplatform&amp;amp;product=quanta&amp;amp;long_desc_type=substring&amp;amp;long_desc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_status=UNCONFIRMED&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=&amp;amp;emailassigned_to2=1&amp;amp;emailreporter2=1&amp;amp;emailcc2=1&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0= list of bugs containing &amp;quot;PHP&amp;quot; keyword in products: kate, kdevelop, kdevplatform, quanta])&lt;br /&gt;
&lt;br /&gt;
== Kate PHP Highlighting ==&lt;br /&gt;
&lt;br /&gt;
There are some bugs in the general PHP highlighting for Kate and other KTextEditor components. Note: Make sure to fix it in all files which use PHP.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; white-space:nowrap;&amp;quot;&lt;br /&gt;
! Status !! Category !! Description !! Contact&lt;br /&gt;
{{FeatureDone| keywords | fix &amp;lt;?PHP ,i.e. capital PHP |mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone| constants | add missing magic constants, see http://de3.php.net/language.constants.predefined |mail@milianw.de|Milian Wolff}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
Various stuff we should investigate and probably cleanup one day. Listed here so I don't forget them:&lt;br /&gt;
&lt;br /&gt;
* make sure all iterators are const where possible&lt;br /&gt;
* be krazy&lt;br /&gt;
&lt;br /&gt;
== Known Limitations ==&lt;br /&gt;
&lt;br /&gt;
'''return-type in recursive functions'''&lt;br /&gt;
&lt;br /&gt;
In the following snippet, the variable $foo will have the wrong type mixed, instead of stdClass:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
function bar() {&lt;br /&gt;
  $bar = bar();&lt;br /&gt;
  return new stdClass;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can workaround that, by adding a ''@param stdClass'' to the doccomment of the function.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Projects/PIM/Akonadi/Development_Tools</id>
		<title>Projects/PIM/Akonadi/Development Tools</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Projects/PIM/Akonadi/Development_Tools"/>
				<updated>2010-04-01T17:31:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* Running an agent in valgrind */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Akonadi Developer Tools =&lt;br /&gt;
&lt;br /&gt;
== Akonadi Console ==&lt;br /&gt;
&lt;br /&gt;
Akonadi Console is a tool for developers working with Akonadi or on Akonadi itself.&lt;br /&gt;
&lt;br /&gt;
It provides GUI for&lt;br /&gt;
&lt;br /&gt;
* managing agents and resources&lt;br /&gt;
* retrieving, checking and even manipulating data&lt;br /&gt;
* monitoring communication between Akonadi server and its clients&lt;br /&gt;
* convenience access to the database used by the server&lt;br /&gt;
&lt;br /&gt;
=== Managing Agents ===&lt;br /&gt;
&lt;br /&gt;
[[Image:AkonadiConsoleTabAgents.png]]&lt;br /&gt;
&lt;br /&gt;
This facility is basically a GUI for [http://api.kde.org/4.x-api/kdepimlibs-apidocs/akonadi/html/classAkonadi_1_1AgentManager.html Akonadi::AgentManager] and [http://api.kde.org/4.x-api/kdepimlibs-apidocs/akonadi/html/classAkonadi_1_1AgentInstance.html Akonadi::AgentInstance].&lt;br /&gt;
&lt;br /&gt;
It enables the developer to quickly add or remove agents from the currently running Akonadi system, to check an agent's basic properties and status, etc.&lt;br /&gt;
&lt;br /&gt;
While most of these actions can also be performed through end user GUI, e.g. KDE's Systemsettings, this is usually quicker and it provides more detailed information.&lt;br /&gt;
&lt;br /&gt;
{{tip|The '''Synchronize''' action menu can be used to just synchronize the collection tree, basically a convenient way for a resource developer to call just the '''retrieveCollections()''' method.}}&lt;br /&gt;
&lt;br /&gt;
=== Collections and Items ===&lt;br /&gt;
&lt;br /&gt;
[[Image:AkonadiConsoleTabBrowser.png]]&lt;br /&gt;
&lt;br /&gt;
This facility shows all Akonadi collections, how they are organized as a tree and their items and enables the developer to perform actions on these entities.&lt;br /&gt;
&lt;br /&gt;
Developers working on agents can use this perform the most common tasks such as&lt;br /&gt;
* retrieving items: see the context menu of collection entries, basically a call to the respective resource's '''retrieveItems()''' method&lt;br /&gt;
* retrieve item payloads: either by clicking on an item or, for certain type such as contacts by switching the item view's mode to the respective data type.&lt;br /&gt;
* copy and delete items: see the context menu of item entries&lt;br /&gt;
* modify items: e.g. by changing the serialized form of the item on the '''Raw Payload''' tab&lt;br /&gt;
without having to go through an end user application.&lt;br /&gt;
&lt;br /&gt;
Developers working on end user applications can use this to simulate respective changes by other clients and to check whether changes done by the application itself are correctly applied to the shared data.&lt;br /&gt;
&lt;br /&gt;
{{tip|If a newly added resource's collections do not show up in the collection tree, it might be necessary to explicitly synchronize it. This functionality is available on the '''Agents''' tab.}}}&lt;br /&gt;
&lt;br /&gt;
=== Monitoring Akonadi Communication ===&lt;br /&gt;
&lt;br /&gt;
[[Image:AkonadiConsoleTabDebugger.png]]&lt;br /&gt;
&lt;br /&gt;
This facility allows to monitor the Akonadi data protocol based communication between client sessions and the server. It contains commands, responses and the data transported between the two sides.&lt;br /&gt;
&lt;br /&gt;
{{note|Since this can slow down operations it is disabled by default and has to be enabled manually when needed.}}&lt;br /&gt;
&lt;br /&gt;
=== Access to the Server Database ===&lt;br /&gt;
&lt;br /&gt;
Akonadi uses a SQL database for keeping relations such as which collection an item is in, properties such as MIME types, etc. as well as cached item payload data.&lt;br /&gt;
&lt;br /&gt;
Since this is quite internal to the Akonadi server, it will most likely only be interesting to people working on Akonadi, not for developers working with Akonadi.&lt;br /&gt;
&lt;br /&gt;
[[Image:AkonadiConsoleTabDBBrowser.png]]&lt;br /&gt;
&lt;br /&gt;
The database browser can query and display the database tables used by Akonadi.&lt;br /&gt;
&lt;br /&gt;
[[Image:AkonadiConsoleDBConsole.png]]&lt;br /&gt;
&lt;br /&gt;
The database console enables developers to directly send commands to the database engine.&lt;br /&gt;
&lt;br /&gt;
= Debugging Akonadi Agents =&lt;br /&gt;
&lt;br /&gt;
Agents are automatically started by the Akonadi server and thus are not debugable from the start on by the usual methods. A similar problem is known from KIO slaves, the solution is similar as well.&lt;br /&gt;
&lt;br /&gt;
== Attaching gdb at startup ==&lt;br /&gt;
&lt;br /&gt;
Export the environment variable '''AKONADI_DEBUG_WAIT''' and put the agent type in there you want to debug. You only need to specify a part of the agent type, not the whole one. Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
export AKONADI_DEBUG_WAIT=knut&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When starting an agent of this type, you'll see the following debug output by the Akonadi server which is pretty much self-explanatory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
============================================================&lt;br /&gt;
ProcessControl: Suspending process akonadi_knut_resouce&lt;br /&gt;
'gdb -pid 1234' to debug&lt;br /&gt;
'kill -SIGCONT 1234' to continue&lt;br /&gt;
============================================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Running an agent in valgrind ==&lt;br /&gt;
&lt;br /&gt;
Running an agent in valgrind is done in a similar way, you need to export '''AKONADI_VALGRIND''' and put the agent type in there.&lt;br /&gt;
&lt;br /&gt;
To specify the valgrind tool to use by exporting '''AKONADI_VALGRIND_SKIN''', the default is memcheck.&lt;br /&gt;
&lt;br /&gt;
Additional config options can be given using '''AKONADI_VALGRIND_OPTIONS'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
valgrind akonadi_cpntacs_resource using memcheck:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export AKONADI_VALGRIND=akonadi_contacts_resource&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get the name of a resource, open akonadiconsole, select your resource and use the identifier being displayed at the bottom, but stip the _0 or similar from the end.&lt;br /&gt;
&lt;br /&gt;
Profile the persons resource using callgrind, disabling instrumentation on start for faster startup, and dumping the callgrind output to a custom file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export AKONADI_VALGRIND=akonadi_contacts_resource&lt;br /&gt;
export AKONADI_VALGRIND_SKIN=callgrind&lt;br /&gt;
export AKONADI_VALGRIND_OPTIONS=&amp;quot;--instr-atstart=no --callgrind-out-file=$HOME/callgrind-vcard.%p&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Akonadi Testing and Benchmark Infrastructure =&lt;br /&gt;
&lt;br /&gt;
The [[Projects/PIM/Akonadi/Testing|Akonadi Test]] project provides tools to run Akonadi tests in self-contained environments, i.e. separated from the developer's personal setup, as well as running automated tests, e.g. as part of a unit test suite.&lt;br /&gt;
&lt;br /&gt;
[[Category:PIM]]&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Development/KDevelop-PG-Qt_Introduction</id>
		<title>Development/KDevelop-PG-Qt Introduction</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Development/KDevelop-PG-Qt_Introduction"/>
				<updated>2010-03-03T09:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:I18n/Language Navigation Bar|Development/KDevelop-PG-Qt Introduction}} &lt;br /&gt;
&lt;br /&gt;
KDevelop-PG-Qt is the parser-generator from KDevplatform. It is used for some KDevelop-languagesupport-plugins (Ruby, PHP, Java...). &lt;br /&gt;
&lt;br /&gt;
It uses Qt classes internally. There's also the original KDevelop-PG parser, which used types from the STL, but has since been superseeded by KDevelop-PG-Qt. Most of the features are the same, though it could be that the ...-Qt parser generator is more up to date and feature rich than the plain STL style generator. The ...-Qt version should be used to write parsers for KDevelop language plugins. &lt;br /&gt;
&lt;br /&gt;
= In-Depth information  =&lt;br /&gt;
&lt;br /&gt;
This document is not supposed to be a full-fledged and in-depth resource for all parts of KDevelop-PG. Instead it is intended to be a short introduction and, more importantly, a reference for developers. &lt;br /&gt;
&lt;br /&gt;
To get an in-depth introduction, read Jakob Petsovits' excellent Bachelor thesis. You find it in the Weblinks section at the bottom of this page. &lt;br /&gt;
&lt;br /&gt;
= The Application  =&lt;br /&gt;
&lt;br /&gt;
== Usage  ==&lt;br /&gt;
&lt;br /&gt;
You can find KDevelop-PG-Qt in [http://websvn.kde.org/trunk/playground/devtools/kdevelop-pg-qt SVN] . Also included in the source are three example packages.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;svn co svn://anonsvn.kde.org/home/kde/trunk/playground/devtools/&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
The program itself requests a .g file, a so called grammar, as input: &lt;br /&gt;
&amp;lt;pre&amp;gt;./kdev-pg-qt --output=''prefix'' syntax.g&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
The value of the ''--ouput'' switch decides the prefix of the output files and additionally the namespace for the generated code.&lt;br /&gt;
Kate provides elementary highlighting for KDevelop-PG-Qt's grammar-files.&lt;br /&gt;
&lt;br /&gt;
== Output Format  ==&lt;br /&gt;
&lt;br /&gt;
While evaluating the grammar and generating its parser files, the application will output information about so called ''conflicts'' to STDOUT. As said above, the following files will actually be prefixed. &lt;br /&gt;
&lt;br /&gt;
=== ast.h  ===&lt;br /&gt;
&lt;br /&gt;
AST stands for [http://en.wikipedia.org/wiki/Abstract_syntax_tree ''Abstract Syntax Tree'']. It defines the data structure in which the parse tree is saved. Each node is a struct with the postfix ''Ast'', which contains members that point to any possible sub elements. &lt;br /&gt;
&lt;br /&gt;
=== parser.h and parser.cpp  ===&lt;br /&gt;
&lt;br /&gt;
One important part of ''parser.h'' is the definition of the parser tokens, the ''TokenType'' enum. The TokenStream of your lexer should to use this. You have to write your own lexer or let one generate by Flex. See also the part about Tokenizers/Lexers below.&lt;br /&gt;
&lt;br /&gt;
Having the token stream available, you create your root item and call the parser on the parse method for the top-level AST item, e.g. DocumentAst* =&amp;amp;gt; parseDocument(&amp;amp;amp;root). On success, root will contain the AST.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parser will have one parse method for each possible node of the AST. This is nice for e.g. an expression parser or parsers that should only parse a sub-element of a full document.&lt;br /&gt;
&lt;br /&gt;
=== visitor.h and visitor.cpp  ===&lt;br /&gt;
&lt;br /&gt;
The Visitor class provides an abstract interface to walk the AST. Most of the time you don't need to use this directly, the DefaultVisitor takes some work off your shoulders.&lt;br /&gt;
&lt;br /&gt;
=== defaultvisitor.h and defaultvisitor.cpp  ===&lt;br /&gt;
&lt;br /&gt;
The DefaultVisitor is an implementation of the abstract Visitor interface and automatically visits each node in the AST. Hence, this is probably the best candidate for a base class for your personal visitors. Most language plugins use these in their Builder classes to create the DUChain.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command-Line-Options  ==&lt;br /&gt;
&lt;br /&gt;
*--namespace=''namespace'' - sets the C++ namespace for the generated sources independently from the file prefix. When this option is set, you can also use / in the --ouput option&amp;lt;br&amp;gt;&lt;br /&gt;
*--no-ast - don't create the ast.h file, more to that below&amp;lt;br&amp;gt;&lt;br /&gt;
*--debug-visitor - generates a debug visitor that prints the AST&amp;lt;br&amp;gt;&lt;br /&gt;
*--serialize-visitor - generates code for serialization via a QIODevice&lt;br /&gt;
*--terminals - all tokens will be written into the file ''kdev-pg-terminals''&lt;br /&gt;
*--symbols - all possible nodes from the AST (not the leafs) will be written into the file ''kdev-pg-symbols'' &lt;br /&gt;
*--rules - all grammar rules with informationen about their syntactic correlations will be written into a file called ''kdev-pg-rules''. useful for debugging and solving conflicts&lt;br /&gt;
*--token-text - generates a function to map token-numbers onto token-names&lt;br /&gt;
*--help - print usage information&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tokenizers/Lexers&amp;lt;br&amp;gt;  =&lt;br /&gt;
&lt;br /&gt;
As mentioned, KDevelop-PG-Qt requires an existing Tokenizer. You can either write one per hand, as was done for C++ and PHP, or you can use tools like Flex. With the existing examples, it shouldn't be too hard to write such a lexer. Between most languages, especially those ''&amp;quot;inheriting&amp;quot;'' C, there are many common syntactic elements. Especially comments and literals can be handled just the same way over and over again. Adding a simple token is trivial:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;special-command&amp;quot;    return Parser::Token_SPECIAL_COMMAND;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
That's pretty much it, take a look at eg. ''java.ll'' for an excellent example.&lt;br /&gt;
&lt;br /&gt;
The tokenizer's job, in princeple, boils down to:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*converting keywords and chars with special meanings to tokens&amp;lt;br&amp;gt;&lt;br /&gt;
*converting literals and identifier to tokens&amp;lt;br&amp;gt;&lt;br /&gt;
*clean out anything that doesn't change the semantics, e.g. comments or whitespace (the latter of course not in Python)&amp;lt;br&amp;gt;&lt;br /&gt;
*while doing the above, handling character encoding (we recommend using UTF8 as much as possible)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The rest, e.g. actually building the tree and evaluating the semantics, is part of the parser and the AST visitors.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= How to write Grammar-Files  =&lt;br /&gt;
&lt;br /&gt;
== Chomsky Type-2 Grammars  ==&lt;br /&gt;
&lt;br /&gt;
KDevelop-PG-Qt uses so called [http://en.wikipedia.org/wiki/Chomsky_hierarchy Type-2-grammars] use a concept of non-terminals (nodes) and terminals(tokens). While writing the grammar for the basic structure of your language, you should try to mimic the semantics of the language. Lets take a look at an example:&lt;br /&gt;
&lt;br /&gt;
C++-document consists of lots of declarations and definitions, a class definition could be handled e.g. in the following way:&lt;br /&gt;
&lt;br /&gt;
#''CLASS-token''&lt;br /&gt;
#a ''identifier''&lt;br /&gt;
#the ''{-token''&lt;br /&gt;
#a ''member-declarations-list''&lt;br /&gt;
#the ''}-token''&lt;br /&gt;
#and finally the '';-token''&lt;br /&gt;
&lt;br /&gt;
The ''member-declarations-list'' is of course not a part of any C++ description, it is just a ''helper'' to explain the structure of a given semantic part of your language. The grammar could then define how exactly such helper might look like.&lt;br /&gt;
&lt;br /&gt;
== Basic Syntax  ==&lt;br /&gt;
&lt;br /&gt;
Now let us have a look at a basic example, a declaration in C++, as described in grammar syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   class_declaration&lt;br /&gt;
 | struct_declaration&lt;br /&gt;
 | function_declaration&lt;br /&gt;
 | union_declaration&lt;br /&gt;
 | namespace_declaration&lt;br /&gt;
 | typedef_declaration&lt;br /&gt;
 | extern_declaration&lt;br /&gt;
-&amp;gt; declaration ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is called a ''rule'' definition. Every lower-case string in the grammar file references such a rule. Our case above defines what a ''declaration'' looks like. The ''|''-char stands for a logical ''or'', all rules have to end on two semicolons. &lt;br /&gt;
&lt;br /&gt;
In the example we reference other rules which also have to be defined. Here's for example the ''class_declaration'', note the tokens in all-upper-case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   CLASS IDENTIFIER SEMICOLON&lt;br /&gt;
 | CLASS IDENTIFIER LBRACE class_declaration* RBRACE SEMICOLON&lt;br /&gt;
-&amp;gt; class_declaration ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a new char in there: The asterisk has the same meaning as in regular expressions, i.e. that the previous rule can occur arbitrarily often or not at all.&lt;br /&gt;
&lt;br /&gt;
In a grammar ''0'' stands for an empty token. Using it in addition with parenthesizing and the logical ''or'' from above, you can express optional elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  some_required_rule SOME_TOKEN&lt;br /&gt;
    ( some_optional_stuff | some_other_stuff | 0 )&lt;br /&gt;
-&amp;gt; my_rule ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Making matched rules available to Visitors  ==&lt;br /&gt;
&lt;br /&gt;
The simple rule above could be used to parse the token stream, yet no elements would be saved in the parsetree. This can be easily done though:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   class_declaration=class_declaration&lt;br /&gt;
 | struct_declaration=struct_declaration&lt;br /&gt;
 | function_declaration=function_declaration&lt;br /&gt;
 | union_declaration=union_declaration&lt;br /&gt;
 | namespace_declaration=namespace_declaration&lt;br /&gt;
 | typedef_declaration=typedef_declaration&lt;br /&gt;
 | extern_declaration=extern_declaration&lt;br /&gt;
-&amp;gt; declaration ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The DeclarationAst struct now contains pointers to each of these elements. During the parse process the pointer for each found element gets set, all others become NULL. To store lists of elements, prepend the identifier with a hash (''#''):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   CLASS IDENTIFIER SEMICOLON&lt;br /&gt;
 | CLASS IDENTIFIER LBRACE (#class_declaration=class_declaration)* RBRACE SEMICOLON&lt;br /&gt;
-&amp;gt; class_declaration ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''TODO: internal structure of the list, important for Visitors'''&lt;br /&gt;
&lt;br /&gt;
Identifier and targets can be used in more than one place:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   #one=one (#one=one)*&lt;br /&gt;
-&amp;gt; one_or_more ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the example above, all matches to the rule ''one'' will be stored in one and the same list ''one''.&lt;br /&gt;
&lt;br /&gt;
== Defining available Tokens  ==&lt;br /&gt;
&lt;br /&gt;
Somewhere in the grammar, you should probably put it near the head, you'll have to define a list of available Tokens. From this list, the ''TokenType'' enum in ''parser.h'' will be created. Additionally to the enum value names you should define an explanation name which will e.g. be used in error messages. Note that the representation of a Token inside the source code is not required for the grammar/parser as it operates on a TokenStream, see Lexer/Tokenizer section above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%token T1 (&amp;quot;T1-Name&amp;quot;), T2 (&amp;quot;T2-Name&amp;quot;), COMMA (&amp;quot;;&amp;quot;), SEMICOLON (&amp;quot;;&amp;quot;) ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to use ''%token'' multiple times to group tokens in the grammar. Though all tokens will still be put into the same ''TokenType'' enum.&lt;br /&gt;
&lt;br /&gt;
'''TODO: explain process of writing Lexer/Tokenizer and using the parser Tokens'''&lt;br /&gt;
&lt;br /&gt;
== Special Syntax...  ==&lt;br /&gt;
&lt;br /&gt;
=== ...to use inside Rules  ===&lt;br /&gt;
&lt;br /&gt;
==== list of one or more elements ====&lt;br /&gt;
&lt;br /&gt;
Alternativly to the astersik (''*'') you can use a plus-sign (''+'') to mark lists of one-or-more elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   (#one=one)+&lt;br /&gt;
-&amp;gt; one_or_more ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== separated lists ====&lt;br /&gt;
&lt;br /&gt;
Using the ''#rule @ TOKEN'' syntax you can mark a list of ''rule'', separated by ''TOKEN'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   #item=item @ COMMA&lt;br /&gt;
-&amp;gt; comma_separated_list ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== optional items ====&lt;br /&gt;
Alternatively to the above mentioned ''(item=item | 0)'' syntax you could use the following to mark optional items (but this feature is currently disabled):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ?(item=item)&lt;br /&gt;
-&amp;gt; optional_item ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== local variables for the parse-process ====&lt;br /&gt;
&lt;br /&gt;
Using a colon ('':'') instead of the equal sign (''='') you can store local variables that will only be available during parsing, and only for the sub-tree.&lt;br /&gt;
&lt;br /&gt;
'''TODO: need example'''&lt;br /&gt;
&lt;br /&gt;
=== ...to add Hand-Written Code  ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it is required to integrate hand-written code into the generated parser. Instead of editing the end-result (**never** do that!) you should put this code into the grammar at the correct places. Here are a few examples when you'd need this:&lt;br /&gt;
&lt;br /&gt;
* custom error handling / error recovery, i.e. to prevent the parser to stop at the first error&lt;br /&gt;
* creating tokens, if you don't want to do that externally&lt;br /&gt;
* setting custom variables, especially for state tracking. e.g. in C++ you could save whether you are inside a ''private'', ''protected'' oder ''public'' section. then you could save this information inside each node of the class elements.&lt;br /&gt;
* additional verifications, lookaheads etc.&lt;br /&gt;
&lt;br /&gt;
==== General Syntax ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[:&lt;br /&gt;
// here be dragons^W code ;-)&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code will be put into the generated ''parser.cpp'' file. If you use it inside a grammar rule, it will be put into the correct position during the parse process. You can access the current node via the variable ''yynode'', it will have the type 'XYZAst**'.&lt;br /&gt;
&lt;br /&gt;
==== Global Code ====&lt;br /&gt;
&lt;br /&gt;
In KDevelop language plugins, you'll see that most grammars start with something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QtCore/QString&amp;gt;&lt;br /&gt;
#include &amp;lt;kdebug.h&amp;gt;&lt;br /&gt;
#include &amp;lt;tokenstream.h&amp;gt;&lt;br /&gt;
#include &amp;lt;language/interfaces/iproblem.h&amp;gt;&lt;br /&gt;
#include &amp;quot;phplexer.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
namespace KDevelop&lt;br /&gt;
{&lt;br /&gt;
    class DUContext;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a code section, that will be put at the beginning of ''ast.h'', i.e. into the global context.&lt;br /&gt;
&lt;br /&gt;
But there are also some newer statements available to include header-files:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%ast_header &amp;quot;header.h&amp;quot;&lt;br /&gt;
%parser_declaration_header &amp;quot;header.h&amp;quot;&lt;br /&gt;
%parser_bits_header &amp;quot;header.h&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The include-statement will be inserted into ast.h, parser.h respectively parser.cpp.&lt;br /&gt;
&lt;br /&gt;
==== Namespace Code ====&lt;br /&gt;
&lt;br /&gt;
Also it's very common to define a set of enumerations e.g. for operators, modifiers, etc. pp. Here's an stripped example from PHP, note that the code will again be put into the generated ''parser.h'' file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%namespace&lt;br /&gt;
[:&lt;br /&gt;
    enum ModifierFlags {&lt;br /&gt;
        ModifierPrivate      = 1,&lt;br /&gt;
        ModifierPublic       = 1 &amp;lt;&amp;lt; 1,&lt;br /&gt;
        ModifierProtected    = 1 &amp;lt;&amp;lt; 2,&lt;br /&gt;
        ModifierStatic       = 1 &amp;lt;&amp;lt; 3,&lt;br /&gt;
        ModifierFinal        = 1 &amp;lt;&amp;lt; 4,&lt;br /&gt;
        ModifierAbstract     = 1 &amp;lt;&amp;lt; 5&lt;br /&gt;
    };&lt;br /&gt;
...&lt;br /&gt;
    enum OperationType {&lt;br /&gt;
        OperationPlus = 1,&lt;br /&gt;
        OperationMinus,&lt;br /&gt;
        OperationConcat,&lt;br /&gt;
        OperationMul,&lt;br /&gt;
        OperationDiv,&lt;br /&gt;
        OperationMod,&lt;br /&gt;
        OperationAnd,&lt;br /&gt;
        OperationOr,&lt;br /&gt;
        OperationXor,&lt;br /&gt;
        OperationSl,&lt;br /&gt;
        OperationSr&lt;br /&gt;
    };&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you write code at the end of the grammar-file simply between ''[:'' and '':]'', it will be added to ''parser.cpp''.&lt;br /&gt;
&lt;br /&gt;
==== Additional AST member ====&lt;br /&gt;
&lt;br /&gt;
To add additional members to _every_ AST variable, use the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%ast_extra_members&lt;br /&gt;
[:&lt;br /&gt;
  KDevelop::DUContext* ducontext;&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also specify the base-class for the nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%ast_base symbol_name &amp;quot;BaseClass&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''BaseClass'' has to inherit from ''AstNode''.&lt;br /&gt;
&lt;br /&gt;
==== Additional parser class members ====&lt;br /&gt;
&lt;br /&gt;
Instead of polluting the global context with state tracker variables, and hence destroying the whole advantages of OOP, you can add additional members to the parser class. It's also very convenient to define functions for error reporting etc. pp. Again a stripped example from PHP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%parserclass (public declaration)&lt;br /&gt;
[:&lt;br /&gt;
  enum ProblemType {&lt;br /&gt;
      Error,&lt;br /&gt;
      Warning,&lt;br /&gt;
      Info&lt;br /&gt;
  };&lt;br /&gt;
  void reportProblem( Parser::ProblemType type, const QString&amp;amp; message );&lt;br /&gt;
  QList&amp;lt;KDevelop::ProblemPointer&amp;gt; problems() {&lt;br /&gt;
      return m_problems;&lt;br /&gt;
  }&lt;br /&gt;
  ...&lt;br /&gt;
  enum InitialLexerState {&lt;br /&gt;
      HtmlState = 0,&lt;br /&gt;
      DefaultState = 1&lt;br /&gt;
  };&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note, that we used ''%parserclass (public declaration)'', we could instead have used ''private'' or ''protected'' declaration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%parserclass ( [private|protected|public] declaration)&lt;br /&gt;
[:&lt;br /&gt;
// Code&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a statement to specify a base-class:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%parser_base &amp;quot;ClassName&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Initializing additional parser class members ====&lt;br /&gt;
&lt;br /&gt;
When you add member variables to the class, you'll have to initialize and or destroy them as well. Here's how (either use ctor or dtor, of course):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%parserclass ( [constructor|desctructor] )&lt;br /&gt;
[:&lt;br /&gt;
// Code&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Boolean Checks ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
?[:&lt;br /&gt;
// some bool expression&lt;br /&gt;
:]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following rule will only apply if the boolean expression evaluates to ''true''. Here's an advanced example, which also shows that you can use the pipe symbol ('|') as logical or, i.e. essentially this is a ''if... else...' conditional:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    ?[: someCondition :] SOMETOKEN ifrule=myVar&lt;br /&gt;
  | elserule=myVar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is especially convenient together with lookaheads (see below).&lt;br /&gt;
&lt;br /&gt;
==== defining local variables inside rules ====&lt;br /&gt;
&lt;br /&gt;
You can setup the grammar to define local variables whenever a rule gets applied:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
-&amp;gt; class_member [:&lt;br /&gt;
   enum { A_PUBLIC, A_PROTECTED, A_PRIVATE } access;&lt;br /&gt;
:];;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This variable is local to the rule ''class_member''.&lt;br /&gt;
&lt;br /&gt;
==== defining additional variables for the parse tree ====&lt;br /&gt;
&lt;br /&gt;
Similar to the syntax above, you can define members whenever a rule gets applied:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
-&amp;gt; class_member [&lt;br /&gt;
   [member|temporary] variable yourName: yourType&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
-&amp;gt; class_member [&lt;br /&gt;
      member variable access : AccessType;&lt;br /&gt;
];;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course ''AccessType'' has to be defined somewhere else, see e.g. the ''Additional parser class members'' section above.&lt;br /&gt;
&lt;br /&gt;
Using ''temporary'' or ''member'' is equivalent.&lt;br /&gt;
&lt;br /&gt;
= Conflicts  =&lt;br /&gt;
&lt;br /&gt;
First time your write a grammar, you'll potentially fail: Since KDevelop-PG-Qt is a ''LL(1)'' parser generator, conflicts can occur and have to be solved by hand. Here's an example for a FIRST/FIRST conflict:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   CLASS IDENTIFIER SEMICOLON&lt;br /&gt;
-&amp;gt; class_declaration ;;&lt;br /&gt;
&lt;br /&gt;
   CLASS IDENTIFIER LBRACE class_content RBRACE SEMICOLON&lt;br /&gt;
-&amp;gt; class_definition ;;&lt;br /&gt;
&lt;br /&gt;
   class_declaration&lt;br /&gt;
 | class_definition&lt;br /&gt;
-&amp;gt; class_expression ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KDevelop-PG-Qt will output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  ** WARNING found FIRST/FIRST conflict in  &amp;quot;class_expression&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Sometime's it's these warnings can be ignored, but most of the time it will lead to problems in parsing. In our example the ''class_expression'' rule won't be evaluated properly: When you try to parse a ''class_definition'', the parser will see that the first part (''CLASS'') of ''class_declaration'' matches, and jumps think's that this rule is to be applied. Since the next part of the rule does ''not'' match, an error will be reported. It does _not_ try to evaluate ''class_definition'' automatically, but there are different ways to solve this problem:&lt;br /&gt;
&lt;br /&gt;
== Backtracking  ==&lt;br /&gt;
&lt;br /&gt;
In theory such behavior might be unexpected: In BNF e.g. the above syntax would be enough and the parser would automatically jump back and retry with the next rule, here ''class_definition''. But in practice such behaviour is ''- most of the time -'' not necessary and would slow down the parser. If however such behavior is explicitly what you want, you can use an explicit backtracking syntax in your grammar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   try/rollback(class_declaration)&lt;br /&gt;
      catch(class_definition)&lt;br /&gt;
-&amp;gt; class_expression ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In theory, every FIRST/FIRST could be solved this way, but keep in mind that the more you use this feature, the slower your parser gets. If you use it, sort the rules in order of likeliness. Also, there could be cases where the sort order could make the difference between correct and wrong parsing, especially with rules that &amp;quot;extend&amp;quot; others.&lt;br /&gt;
&lt;br /&gt;
== Look ahead  ==&lt;br /&gt;
&lt;br /&gt;
KDevelop-PG-Qt has an alternative to the - ''potentially'' slow -  backtracking mechanism: Look ahead. You can use the ''LA(qint64)'' function in embedded C++ code (see sections above). ''LA(1)'' will return the current token, you most probably never need to use that. Accordingly, ''LA(2)'' returns the next and ''LA(0)'' the previous token. (If you wonder where these somewhat uncommon indexes come from: Read the thesis, or make yourself acquainted with ''LA(k)'' parser theory.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   (?[: LA(2) == Token_LBRACE :] class_definition)&lt;br /&gt;
 | class_declaration&lt;br /&gt;
-&amp;gt; class_expression&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The conflict will still be outputted, but it is ''manually'' resolved. You should always document this somewhere with a comment, for future contributors to know that this is a false-positive.&lt;br /&gt;
&lt;br /&gt;
== Elegant Solutions  ==&lt;br /&gt;
&lt;br /&gt;
Often you can solve the conflict all-together with an elegant solution. Like in our example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   LBRACE class_content RBRACE&lt;br /&gt;
-&amp;gt; class_definition ;;&lt;br /&gt;
&lt;br /&gt;
   CLASS IDENTIFIER (0 | class_definition) SEMICOLON&lt;br /&gt;
-&amp;gt; class_expression ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No conflicts, fast: everybody is happy!&lt;br /&gt;
&lt;br /&gt;
== FIRST/FOLLOW-Conflicts  ==&lt;br /&gt;
&lt;br /&gt;
A FIRST/FOLLOW conflict says, that it is undefined where a symbol ends and the parent symbol continues. A pretty stupid example is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   item*&lt;br /&gt;
-&amp;gt; item_list ;;&lt;br /&gt;
&lt;br /&gt;
   item_list item*&lt;br /&gt;
-&amp;gt; items ;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You probably see the glaring error. ''try/rollback'' helps with serious problems (e.g. parser doesn't work), though often you can ignore these conflicts. But if you do so, be aware that the parser is ''greedy'': In our example ''item_list'' will always contain ''all'' ''item'' elements, and ''items'' will ''never'' have an ''item'' member. If this is an issue that leads to later conflicts, only ''try/rollback'', custom manual code to check which rule should be used, or a refactoring of your grammar structure.&lt;br /&gt;
&lt;br /&gt;
=== Changing the Greedy Behaviour  ===&lt;br /&gt;
&lt;br /&gt;
Alternatively it is sometimes helpful/required to change the greedy behaviour. In lists you can use manual code to force a break at a given position. Here's an example that shows this on a declaration of an array with fixed size:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   typed_identifier=typed_identifier LBRACKET UNSIGNED_INTEGER&lt;br /&gt;
   [: count = static_cast&amp;lt;MyTokenStream*&amp;gt;(token)-&amp;gt;strForCurrentToken().toUInt(); :]&lt;br /&gt;
   RBRACKET EQUAL LBRACE&lt;br /&gt;
   (#expression=expression [: if(--count == 0) break; :] @ COMMA) ?[: count == 0 :]&lt;br /&gt;
   RBRACE SEMICOLON&lt;br /&gt;
-&amp;gt; initialized_fixed_array [ temporary variable count: uint; ];;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''TODO: return true/false or break??'''&lt;br /&gt;
&lt;br /&gt;
Via ''return false'' you can enforce a premature stop (== error) of the evaluation of the current rule. Using ''return true'' you stop the evaluation prematurely, but signalize that the parse process was successful.&lt;br /&gt;
&lt;br /&gt;
== try/recover  ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   try/recover(expression)&lt;br /&gt;
-&amp;gt; symbol ;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This is approximately the same as:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   [: ParserState *state = copyCurrentState(); :]&lt;br /&gt;
   try/rollback(expression)&lt;br /&gt;
   catch( [: restoreState(state); :] )&lt;br /&gt;
-&amp;gt; symbol ;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Hence you have to implement the member-functions copyCurrentState and restoreState and yaou have to define a type called ParseState. You do not have to write the declaration of those functions in the header-file, it is generated automatically if you use ''try/recover''. This concept seems to be useful if there are additional states used while parsing. The Java-parser takes usage from it very often. But I do not know a lot about this feature and it seems unimportant for me. (I guess, it is not) I would be happy when somebody could explain it to me.&lt;br /&gt;
&lt;br /&gt;
= Weblinks  =&lt;br /&gt;
&lt;br /&gt;
*[http://websvn.kde.org/trunk/playground/devtools/kdevelop-pg-qt/kdev-pg/kdev-pg-parser.yy?view=markup] - The KDevelop-PG-Qt-Grammar (it is a Bison/Yacc-grammar-file) &lt;br /&gt;
*[http://websvn.kde.org/trunk/playground/devtools/kdevelop-pg-qt/] - WebSVN &lt;br /&gt;
*[http://stud4.tuwien.ac.at/~e0127236/thesis/jpetso-javaparser.pdf] - Jakob Petsovits' bachelor thesis about using KDevelop-PG for Java Java-Parsers - It is a good in-depth introduction to everything you might want to know for writing your own grammar. Keep in mind that it is partly outdated. In doubt, refer to this page for updated syntax. Also some of the shortcomings of KDevelop-PG layed out in the thesis have been fixed in the meantime. &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/Schedules/KDE4/4.4_Feature_Plan</id>
		<title>Schedules/KDE4/4.4 Feature Plan</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/Schedules/KDE4/4.4_Feature_Plan"/>
				<updated>2010-01-21T20:54:42Z</updated>
		
		<summary type="html">&lt;p&gt;Milianw: /* kdesdk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of planned features for the 4.4 release. &lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
&lt;br /&gt;
*[[Schedules/KDE4/4.4 Release Schedule]] &lt;br /&gt;
*[[Schedules/KDE4/4.4 Release Goals]] &lt;br /&gt;
*[[Schedules/KDE4/4.3 Feature Plan]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; Legend: &lt;br /&gt;
&lt;br /&gt;
*todo =&amp;amp;gt; not started yet &lt;br /&gt;
*in-progress =&amp;amp;gt; started, but not completed yet &lt;br /&gt;
*done =&amp;amp;gt; completed&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdeaccessibility  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
{{FeatureDone|kttsd|Clean up kttsd by making it a simple wrapper around speech-dispatcher|jpwhiting@kde.org|Jeremy Whiting}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdeadmin  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|system-config-printer-kde|Restore feature parity with KDEPrint3 where possible.||Jonathan Riddell, John Layt}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdeartwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdebase-apps  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in session-management|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureTodo|Konqueror|Improvements in tab-bar widget|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|New Konqueror bookmarks using Akonadi and Nepomuk, awesome bar|edulix@gmail.com|Eduardo Robles Elvira}} &lt;br /&gt;
{{FeatureInProgress|Konqueror|Sidebar cleanups; re-introducing the history module|faure@kde.org|David Faure}} &lt;br /&gt;
{{FeatureDone|Dolphin|&lt;br /&gt;
Version control integration|peter.penz@gmx.at|Peter Penz}} &lt;br /&gt;
{{FeatureDone|Dolphin|Improved search bar including search configuration|peter.penz@gmx.at|Peter Penz}} &lt;br /&gt;
{{FeatureDone|DolphinPart|Remember the Details View expansion state in the DolphinPart|frank78ac@googlemail.com|Frank Reininghaus}} &lt;br /&gt;
{{FeatureDone|DolphinPart|Restore the &amp;quot;Edit-&amp;gt;Selection&amp;quot; menu that was in Konqueror 3|frank78ac@googlemail.com|Frank Reininghaus}} &lt;br /&gt;
{{FeatureDone|Dolphin|Open URL in a new tab if the Back, Forward or Up button in the toolbar is middle-clicked|frank78ac@googlemail.com|Frank Reininghaus}}&lt;br /&gt;
{{FeatureDone|Dolphin|Clickable tags and other resources in the metadata view: tags for example are opened as search folders in the same Dolphin window|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdebase-runtime  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KWallet|Single Sign On using PAM|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for UPnP|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for LISa|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Backend for SMB|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|network kioslave|Integrate with remote and zeroconf kioslaves|kossebau@kde.org|Friedrich Kossebau}}&lt;br /&gt;
{{FeatureTodo|Locale KCM|Add support for new KLocale features (see kdelibs section) including Digit Groups, AM/PM, etc.  Improvements to usability of existing money display options.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureInProgress|Oxygen Animated|Add smooth animations and transitions (e.g. on hover, when switching tabs, etc.) to the oxygen widget style.|hugo@oxygen-icons.org|Hugo Pereira Da Costa}}&lt;br /&gt;
{{FeatureDone|smb kioslave|add kwallet support|brandon.ml@gmail.com|Carlo Segato}} &lt;br /&gt;
{{FeatureDone|Nepomuk|Remove the ontologies and make kdebase depend on the upcoming shared-ontologies package|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|Nepomuk|Integrate removable storage service to handle mounting/unmounting of removable devices and allow searching of files on non-mounted media. The user will be asked to insert the medium in question in case it is not mounted.|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureDone|Nepomuk|New timeline KIO slave which allows to browse files by modification date in case the Nepomuk Strigi service is running.|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|Nepomuk|Give better user feedback if Nepomuk could not be initialized.|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|Locale KCM|Add support for new KLocale Currency Code and Decimal Places options (see kdelibs/klocale section).|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|Device Automounting|Add support for storage device automounting|tdfischer@fedoraproject.org|Trever Fischer}} &lt;br /&gt;
{{FeatureDone|Nepomuk|Port Nepomuk to Virtuoso: query service, strigi service: better performance especially when searching.|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureDone|thumbnail kioslave|Support for comic-book cover previews (.cbr, .cbz, .cbt files)|qwertymaniac@gmail.com|Harsh J}}&lt;br /&gt;
{{FeatureDone|Nepomuk|Add nepomuk kio slave which handles all stating of Nepomuk resources. It can even display a small HTML page for non-file resources.|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureDone|thumbnail kioslave|Support for rotated jpegs|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdebase-workspace  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Non-Plasma, Non-KWin &lt;br /&gt;
{{FeatureTodo|Icons KCM|More configurable icon sizes|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Fonts KCM|More configurable fonts|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureTodo|Solid|Improve SolidBluetooth stack, make it more stable and robust (test+fixes only)|alex@eyeos.org|Alex Fiestas}} &lt;br /&gt;
{{FeatureInProgress|Date/Time KCM|Plasma themed clock|christoph@maxiom.de|Christoph Feck}} &lt;br /&gt;
{{FeatureInProgress|System Setitngs|Reorganize modules|sourtooth@gmail.com|Ben  Cooksley}} &lt;br /&gt;
{{FeatureInProgress|Mouse KCM|XInput2 support|fredrik@kde.org|Fredrik Höglund}} &lt;br /&gt;
{{FeatureDone|Attica KCM, KDE plugin|KCM added, Attica uses KIO with the KDE plugin |gladhorn@kde.org|Frederik Gladhorn}} &lt;br /&gt;
{{FeatureInProgress|Solid::Control network environment tracking|Access a high level view of wireless networks by interface, testing in playground|wstephenson@kde.org|Will Stephenson}} &lt;br /&gt;
{{FeatureDone|System Activity|Add scripting support|tapsell@kde.org|John Tapsell}} &lt;br /&gt;
{{FeatureDone|Solid|RemoteControl Manager/Interface + Lirc backend|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureDone|System Activity|KAuth integration|tapsell@kde.org|John Tapsell}} &lt;br /&gt;
{{FeatureDone|System Settings|Improve module appearance for Icons View and provide searching hints|sourtooth@gmail.com|Ben Cooksley}} &lt;br /&gt;
{{FeatureDone|Font Installer KCM|Use PolicyKit for installing system-wide fonts|craig@kde.org|Craig Drummond}}&lt;br /&gt;
{{FeatureDone|Font Installer KCM|When multiple fonts are selected, use a list style preview of all selected fonts|craig@kde.org|Craig Drummond}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KRunner &lt;br /&gt;
{{FeatureDone|KRunner|Solid device runner|wilderkde@gmail.com|Jacopo De Simoi}}  &lt;br /&gt;
{{FeatureDone|KRunner|Manage actions in default interface|wilderkde@gmail.com|Jacopo De Simoi}}&lt;br /&gt;
{{FeatureDone|KRunner|Single runner mode|wilderkde@gmail.com|Jacopo De Simoi}}  &lt;br /&gt;
{{FeatureDone|KRunner|Window management runner|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KRunner|Add Firefox support to the bookmark runner|jangerrit@weiler-marker.com|Jan Gerrit Marker}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma - Priority Features &lt;br /&gt;
{{FeatureDone|netbook shell|a plasma shell and various containments/applets tailored for netbooks (tech preview status in 4.4)|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | Plasma &lt;br /&gt;
{{FeatureTodo|systemtray|visual connection between notifications and new protocol systray icons|notmart@gmail.com|Marco Martin}}  &lt;br /&gt;
{{FeatureTodo|libplasma|Plasmoid Cloning - because having to set things up from scratch repeatedly gets old fast|chani@kde.org|Chani}} &lt;br /&gt;
{{FeatureTodo|taskbar|&amp;quot;other desktops&amp;quot; group - I may not have time for this, feel free to take it|chani@kde.org|Chani}}&lt;br /&gt;
{{FeatureTodo|accounts applet|a plasma widget that is a central place to add accounts to social sites like identica and opendesktop, optimized for the netbook shell|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|libplasma|Improvements to Calendar/Clock widgets. Improved config ui. Allow multiple holidays on same day. Allow multiple Holiday Regions. Weekends. etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureInProgress|Quicklaunch Plasmoid|new icon size/rows config ui|l.appelhans@gmx.de|Lukas Appelhans}} &lt;br /&gt;
{{FeatureInProgress|Plasma Weather Ion|New Weather Ion for the wetter.com data source provider|thilo@ginkel.com|Thilo-Alexander Ginkel}} &lt;br /&gt;
{{FeatureInProgress|Plasma Animator|Create new Plasma::Animator API based on Qt 4.6 Kinetic||Adenilson Cavalcanti, Igor Trindade}} &lt;br /&gt;
{{FeatureInProgress|Plasma KineticScrolling|Port KineticScrolling to Qt 4.6 Kinetic||Adenilson Cavalcanti, Igor Trindade}}&lt;br /&gt;
{{FeatureInProgress|Plasma-Netbook Animated Layouts|Create Animated Layouts to SAL and NewsPaper||Adenilson Cavalcanti, Igor Trindade}}&lt;br /&gt;
{{FeatureInProgress|libplasma|Show the PopupApplet's BusyWidget inside the popup|giuliocamuffo@gmail.com|Giulio Camuffo}}&lt;br /&gt;
{{FeatureDone|Widgets Explorer| New widgets explorer |anaceciliamb@gmail.com| Ana Cecília Martins Barbosa}}&lt;br /&gt;
{{FeatureDone|Widgets Explorer| Install widgets from file, Google Gadgets and GHNS |anselmolsm@gmail.com| Anselmo L S Melo}}&lt;br /&gt;
{{FeatureInProgress|Notification queueing|||Aaron Seigo}} &lt;br /&gt;
{{FeatureInProgress|Trust Levels|package signing and verification||Rob Sheepmaker Aaron Seigo}} &lt;br /&gt;
{{FeatureInProgress|JS plasmoid improvements|Animations, KIO and QFile bindings; latter two by security policy||Aaron Seigo}}&lt;br /&gt;
{{FeatureInProgress|Kiosk improvements|||Aaron Seigo}} &lt;br /&gt;
{{FeatureInProgress|Activity Bar|||Aaron Seigo}} &lt;br /&gt;
{{FeatureDone|folderview|Hover action icons in the icon view|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureDone|folderview|Hover animations|fredrik@kde.org|Fredrik Höglund}}&lt;br /&gt;
{{FeatureDone|libplasma/kwin|slide animation for popups done by kwin|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|System tray|Plasmoid support in the system tray|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|System tray|config ui to decide between always shown, always hidden and auto hide for each systray item|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|Window List|A new plasmoid to show list of opened windows|emdeck@gmail.com|Michał Dutkiewicz}}&lt;br /&gt;
{{FeatureDone|Device Notifier|show the device actions inside the plasmoid, show the fixed devices too, other improvements|wilderkde@gmail.com, giuliocamuffo@gmail.com|Jacopo De Simoi, Giulio Camuffo}}&lt;br /&gt;
{{FeatureDone|Color Wallpaper Plugin|add support for gradients|priomsrb@gmail.com|Shafqat Bhuiyan}} &lt;br /&gt;
{{FeatureDone|libplasma|better text box look with new svg elements|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|systemtray|Make possible to browse old notifications by application name (this actually replaced the above feature)|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureDone|libplasma|Show Holiday and Holiday Region in Clock Tooltip.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureDone|libplasma|Allow user to choose Calendar System to be displayed in Calendar and Clock widgets|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureDone|knowledge base plasmoid|new plasmoid: Opendesktop.org knowledgebase client|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|opendesktop plasmoid|show friends activity|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|Plasma Addon|Battery popup layout improvements|sebas@kde.org|Sebastian Kügler}} &lt;br /&gt;
{{FeatureDone|Plasma Mouse Plugins UI|Yet Another UI Redesign|chani@kde.org|Chani}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin - Core &lt;br /&gt;
{{FeatureInProgress|KWin|Window tiling|nsm.nikhil@gmail.com|Nikhil Marathe}} &lt;br /&gt;
{{FeatureInProgress|KWin|Support for new EWMH hints|fredrik@kde.org|Fredrik Höglund}} &lt;br /&gt;
{{FeatureDone|KWin|Quick window maximization and tiling by dragging windows to the edge of the screen|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|Improved virtual desktop KCM|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|Improved window switcher (Alt+Tab)|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|SVG based window decoration theme engine (Aurorae)|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|Merged Ozone and Nitrogen window decorations into Oxygen|hugo.pereira@free.fr|Hugo Pereira Da Costa}}&lt;br /&gt;
{{FeatureDone|KWin|Window tabbing|matamax123@gmail.com|Jorge Emilio Mata}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KWin - Desktop Effects &lt;br /&gt;
{{FeatureDone|KWin|Mouse action support in Present Windows effect|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|New present windows mode to only display windows from a single application|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|Improved flip switch effect|kde@martin-graesslin.com|Martin Gräßlin}} &lt;br /&gt;
{{FeatureDone|KWin|Improved logout blur effect||Lucas Murray}} &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; colspan=&amp;quot;4&amp;quot; | KDM&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdebindings  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureDone|pykde4|Python 3 support for PyKDE4|simon@simonzone.com|Simon Edwards}} &lt;br /&gt;
{{FeatureDone|qyoto|Replace the current C# cmake macros with more sophisticated ones that also work on windows.|arno@arnorehn.de|Arno Rehn}} &lt;br /&gt;
{{FeatureInProgress|qyoto|Create a new generator for the C# assemblies|arno@arnorehn.de|Arno Rehn}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdeedu  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KStars|Display Comet Magnitudes whenever possible|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Information links in-place for each technical term|akarshsimha@gmail.com|Akarsh Simha}} {{FeatureTodo|KStars|Tool to suggest star-hopping techniques???|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Extend conjunction tool to have one object unspecified, but have a genre of objects specified instead|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Lunar Eclipses|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Simulate Satellites and Iridium Flares|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Social and Geographical Integration for KStars|akarshsimha@gmail.com|Akarsh Simha}} &lt;br /&gt;
{{FeatureTodo|KStars|Marble widget for Geolocation tool|mboquien@free.fr|Médéric Boquien}} &lt;br /&gt;
{{FeatureTodo|KStars|Better printed star charts|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Better rendering of comets/asteroids|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|KStars|Texture mapping of the skymap???|kstars@30doradus.org|Jason Harris}} &lt;br /&gt;
{{FeatureTodo|Marble|Add proper support for GPX waypoints, tracks and routes display|anders@alweb.dk|Anders Lund}}&lt;br /&gt;
{{FeatureTodo|Marble|Export map to MxN pixel bitmap|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Support for MarbleWidget::setEnabled( bool )|inge@lysator.liu.se|Inge Wallin}}&lt;br /&gt;
{{FeatureTodo|Marble|Map Contents translation|tackat@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureTodo|Kalzium|Port Kalzium to use QGV based periodic table widget|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureInProgress|Kalzium|Remove libavogadro snapshot, port to use system libavogadro|mhanwell@kde.org|Marcus D. Hanwell}}&lt;br /&gt;
{{FeatureInProgress|Marble|Add &amp;quot;download region&amp;quot; feature|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|Editing Tools|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|OSM Import|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|UI Simplification|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Custom Layouts|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Discrete Zoom Levels|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Performance Improvements|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|KML Improvements|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Sky Mode|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Measure Tool Plugin|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Settings for plugins|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Kinetic Scrolling|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Optimized 2D Mode|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Bookmarks||Gaurav Gupta}}&lt;br /&gt;
{{FeatureInProgress|Marble|Time KML support||Harshit Jain}}&lt;br /&gt;
{{FeatureInProgress|Marble|Editing GeoDataFeatures|ewoerner@kde.org|Eckhart Wörner}}&lt;br /&gt;
{{FeatureDone|Marble|Update Map (&amp;quot;F5&amp;quot;)|jmho@c-xx.com|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|Layer Management Class|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Plugin architecture for map layers|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Extending GeoPainter|rahn@kde.org|Torsten Rahn}}&lt;br /&gt;
{{FeatureInProgress|Marble|Marble Runners|hdevalence@gmail.com|Henry de Valence}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoClue Integration |ewoerner@kde.org|Eckhart Wörner}}&lt;br /&gt;
{{FeatureInProgress|Marble|Routing |jensmh@gmx.de|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|More map providers (WMS?) |jensmh@gmx.de|Jens-Michael Hoffmann}}&lt;br /&gt;
{{FeatureInProgress|Marble|GeoData Model/View rework||Thibaut Gridel}}&lt;br /&gt;
{{FeatureDone|KAlgebra|KAlgebra backend for Cantor|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KAlgebra|Support for lists|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KAlgebra|Improved MathML Presentation support|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KAlgebra|Added 2D parametric function plotting|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KAlgebra|Improved jump detections|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KAlgebra|Made lambda expressions more usable|aleixpol@kde.org|Aleix Pol}} &lt;br /&gt;
{{FeatureDone|KStars|Improve Observing List Wizard|prakash.mohan@kdemail.net|Prakash Mohan}} &lt;br /&gt;
{{FeatureDone|KStars|A rather sophisticated Observation Plan Manager|prakash.mohan@kdemail.net|Prakash Mohan}} &lt;br /&gt;
{{FeatureDone|KTurtle|Add F2 context help|cies@kde.nl|Cies Breijs}} {{FeatureDone|KTurtle|Add SVG export for the canvas|cies@kde.nl|Cies Breijs}} &lt;br /&gt;
{{FeatureDone|KTurtle|Add HTML export of the code|cies@kde.nl|Cies Breijs}} &lt;br /&gt;
{{FeatureDone|KTurtle|Add printing support for the canvas|cies@kde.nl|Cies Breijs}}&lt;br /&gt;
{{FeatureDone|Cantor|Import to kdeedu |alexanderrieder@gmail.com|Alexander Rieder}}&lt;br /&gt;
{{FeatureDone|Rocs|Import to kdeedu |tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
{{FeatureDone|KTouch|Update the &amp;quot;Colemak&amp;quot; keyboad layout and training lecture|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdegames  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|KBreakOut|Level Sets|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KBreakOut|Sound|fela.kde@gmail.com|Fela Winkelmolen}} {{FeatureTodo|KDiamond|Refactor Board and Diamond classes|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|Kolf|Replace with Kolf 2 (help on coding, artwork and level design desired) &amp;gt;&amp;gt;delayed to KDE 4.5&amp;lt;&amp;lt;|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
{{FeatureTodo|KsirK|rewrite AI code or at least correct most problems related in bug #170777. Volunteers wanted!|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureTodo|KsirK|Boost playing over Jabber|kleag@free.fr|Gaël de Chalendar}}&lt;br /&gt;
{{FeatureTodo|KSquares|Re-write computer player, make it act faster and more intelligent|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSquares|Add more types of boards: hexagonal, triangular|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Import new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Port game to new engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Adapt view to show information provided by engine|joselb@gmx.net|Johannes Bergmeier}} &lt;br /&gt;
{{FeatureTodo|KSudoku|Add new actions to GUI|joselb@gmx.net|Johannes Bergmeier}}&lt;br /&gt;
{{FeatureTodo|Granatier|Arena Editor|k.hias@gmx.de|Mathias Kraus}} &lt;br /&gt;
{{FeatureInProgress|Kigo|Allow arbitrary jumps in the undo/redo history|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureInProgress|Kigo|New Go game for KDE 4|sasch.pe@gmx.de|Sascha Peilicke}} &lt;br /&gt;
{{FeatureInProgress|Gluon|release first gluon lib with one game. [http://gluon.tuxfamily.org/]|istdasklar@gmail.com|Sacha schutz}} &lt;br /&gt;
{{FeatureInProgress|Granatier|Implement all Bonuses from the default theme|k.hias@gmx.de|Mathias Kraus}} &lt;br /&gt;
{{FeatureInProgress|KsirK|Polish the skin editor (doc, contextual help, ...)|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureDone|KAtomic|Level Sets|dimsuz@gmail.com|Dmitry Suzdalev}} &lt;br /&gt;
{{FeatureDone|Bovo|Highlight the last move to be easier to spot|pelladigabor@gmail.com|Pelladi Gabor}} &lt;br /&gt;
{{FeatureDone|Bovo|Enable undo after the game has ended, to be able to correct a fatal mis-click|pelladigabor@gmail.com|Pelladi Gabor}} &lt;br /&gt;
{{FeatureDone|Granatier|New Bomberman like game for KDE 4|k.hias@gmx.de|Mathias Kraus}} &lt;br /&gt;
{{FeatureDone|Granatier|Sidebar with informations regarding the players, like bonuses, handicaps ...|k.hias@gmx.de|Mathias Kraus}} &lt;br /&gt;
{{FeatureDone|Granatier|Add support for a background|k.hias@gmx.de|Mathias Kraus}}&lt;br /&gt;
{{FeatureDone|Granatier|Replace Phonon with QtMultimedia for better sound|k.hias@gmx.de|Mathias Kraus}} &lt;br /&gt;
{{FeatureDone|KBreakOut|Improved keyboard support|fela.kde@gmail.com|Fela Winkelmolen}} &lt;br /&gt;
{{FeatureDone|KBreakOut|Fullscreen support|fela.kde@gmail.com|Fela Winkelmolen}} &lt;br /&gt;
{{FeatureDone|KDiamond|Improve time display|majewsky@gmx.net|Stefan Majewsky}} {{FeatureDone|KGoldrunner|Add Mazes game (37 levels), contributed by Steve Mann.|ianw2@optusnet.com.au|Ian Wadham}} &lt;br /&gt;
{{FeatureDone|Killbots|Add a new game type parameter to make fast enemies a bit more intelligent.|parker.coates@gmail.com|Parker Coates}} &lt;br /&gt;
{{FeatureDone|KsirK|Previous/Next in start new game as described in bug #170774|kleag@free.fr|Gaël de Chalendar}} &lt;br /&gt;
{{FeatureDone|Kigo|Fix smaller issues with KNS2|sasch.pe@gmx.de|Sascha Peilicke}} &lt;br /&gt;
{{FeatureDone|Kigo|Improve final score visuals|sasch.pe@gmx.de|Sascha Peilicke}} &lt;br /&gt;
{{FeatureDone|Kigo|Beautify the default theme|sasch.pe@gmx.de|Sascha Peilicke}}&lt;br /&gt;
{{FeatureDone|KPat|Large internal code cleanup. Lots of small annoyances fixed.|parker.coates@gmail.com|Parker Coates}}&lt;br /&gt;
{{FeatureDone|KPat|Port animations to Qt Kinetic for significant performance improvements|Parker Coates}} &lt;br /&gt;
{{FeatureDone|Palapeli|New puzzle game for KDE SC 4|majewsky@gmx.net|Stefan Majewsky}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdegraphics  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|libkdcraw|Make color management options more flexible|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureTodo|libksane|Improve auto-selection|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureTodo|gwenview|Show Nepomuk info in image meta info|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureTodo|gwenview|Persistent changes|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureDone|gwenview|Folder thumbnails|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureDone|gwenview|Rework start page|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureDone|gwenview|Implement picture importer|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureDone|gwenview|New save-as behavior (go to saved as document)|agateau@kde.org|Aurelien Gateau}} &lt;br /&gt;
{{FeatureDone|libksane|External API for handling selections (patch from  &lt;br /&gt;
Matthias Nagl)|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureDone|libksane|Add basic twain support on Windows|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureDone|libksane|External API for specifying preview resolution|kare.sars@iki.fi|K&amp;amp;aring;re S&amp;amp;auml;rs}} &lt;br /&gt;
{{FeatureDone|libkexiv2|Store metadata in libexiv2 containers, do not lossily encode to QByteArray. Bug 183171|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
{{FeatureDone|libkexiv2|Expose exiv2 API for accessing embedded previews in RAW files.|marcel.wiesweg@gmx.de|Marcel Wiesweg}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdelibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|katepart|Add visual block mode and make the basic commands support it|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureTodo|kdeui|API to integrate KStatusNotifierItem and KNotification: both as class api and DBus specification API|davide.bettio@kdemail.net|Davide Bettio}}&lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new astronomical calculation support classes to be used in kdelibs to build new astronomically based calendar systems, and in kdepim to build new version of libkholiday.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KCalendarSystem|Add new calendar systems: Bahaii, Coptic, Ethiopean, Chinese, Japanese, Buddhist, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdecore|Group policy (Windows) backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|If no file printing support in Qt4.5, migrate FilePrinter class from Okular to enable file printing for all apps via QPrinter.  To be discussed on k-c-d first.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureTodo|KDEPrint|Add framework for standard actions for 'Send to...' for e-mail, fax, etc by printing to PDF/PS.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Implement caps-lock warning for password entry widgets|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureTodo|kio|Better file information in file conflict dialog|toddrme2178@gmail.com|Todd}}&lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for number grouping other than thousands using LC_NUMERIC and LC_MONETARY formats, e.g. India 00 00 000 and China 0000 0000.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add configuration for AM/PM symbols.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Full POSIX compliant format support for date, time, numbers and money.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement more 'named' date/time formats, e.g. ISO, UnixTimestamp, RFC3339, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add Full date format in addition to existing short and long.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Add default colour to optionally display negative numbers.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement separate backends for each supported platform/desktop to use platform localisation in place of KDE locale.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for additional Country Code standards: ISO Alpha 3, ISO Numeric 3, FIPS-10.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|KLocale|Implement support for Country Code sub-regions, i.e. States/Provinces/etc. Needed for new KHolidays.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|Improvements to KDatePicker/KDateTable for feature parity with Plasma Calendar widget, i.e. holiday support, select calendar system, etc.|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureTodo|kdeui|DBus interface in StatusNotifierItem to connect it with freedesktop notifications instances|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
{{FeatureTodo|Khtml|Improvements in kwallet integration|edulix@gmail.com|Eduardo Robles Elvira}}&lt;br /&gt;
{{FeatureTodo|Khtml|Basic audio/video tag support|germain@ebooksfrance.org|Michael Howell and Germain Garand}} &lt;br /&gt;
{{FeatureTodo|Khtml|Implement more of DOM3's CSSOM View module|germain@ebooksfrance.org|Germain Garand}}&lt;br /&gt;
{{FeatureInProgress|kdecore|Move event-filter installation out of KApplication and into a new class|lemma@confuego.org|Michael Leupold}} &lt;br /&gt;
{{FeatureInProgress|kdeui|Support floating point font sizes|christoph@maxiom.de|Christoph Feck}}&lt;br /&gt;
{{FeatureInProgress|kdeui|Finish the time chooser widget|lemma@confuego.org|Michael Leupold}}&lt;br /&gt;
{{FeatureInProgress|kio|Limit number of connections per host (per application), add job priorities|ahartmetz@gmail.com|Andreas Hartmetz}} &lt;br /&gt;
{{FeatureInProgress|kio|Support for automatically renaming conflicting files during copy and move operations|toddrme2178@gmail.com|Todd}} &lt;br /&gt;
{{FeatureInProgress|kio|Remember downloads via Nepomuk|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureInProgress|buildsystem|Modular build of KDE modules|neundorf@kde.org|Alexander Neundorf}}&lt;br /&gt;
{{FeatureInProgress|katepart|Improve katepart Vim mode.|alecastanyo@gmail.com|Alejandro Castaño}}&lt;br /&gt;
{{FeatureInProgress|kfile|Make status of file I/O display on file/folder icons(&amp;quot;progress in icons&amp;quot;).|shaun.reich@kdemail.net|Shaun Reich}}&lt;br /&gt;
{{FeatureInProgress|katepart|Factor out a generic high-level search class from the search bar. To be used by the VI input mode.|bbeschow@cs.tu-berlin.de|Bernhard Beschow}}&lt;br /&gt;
{{FeatureDone|knewstuff|Introduce binary incompatible knewstuff library (as knewstuff3, keeping knewstuff2 as well) which can talk directly to open desktop services via libattica|jpwhiting@kde.org|Jeremy Whiting}}&lt;br /&gt;
{{FeatureDone|knewstuff3|Make use of Open Collaboration Services - let users rate items, become fan, see details, have bigger preview pictures|gladhorn@kde.org|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|kdecore|Polkit-1 backend for KAuth|drf@kde.org|Dario Freddi}}&lt;br /&gt;
{{FeatureDone|KLocale|Implement ISO 4217 Currency Code support (http://en.wikipedia.org/wiki/ISO_4217).|john@layt.net|John Layt}} &lt;br /&gt;
{{FeatureDone|KLocale|Separate numeric decimal places and monetary decimal places.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|katepart|Add mapping support for the vi input mode's normal mode|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
{{FeatureDone|katepart|Support byte-order mark in unicode files|jowenn@kde.org|Joseph Wenninger}}&lt;br /&gt;
{{FeatureDone|katepart|Enable command line scripting again|dhaumann@kde.org|Dominik Haumann}}&lt;br /&gt;
{{FeatureDone|katepart|Improve TemplateInterface, i.e. snippet support|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|katepart|Add interface to access highlighting information, port html-export plugin|mail@milianw.de|Milian Wolff}} &lt;br /&gt;
{{FeatureDone|katepart|push improved AutoBrace plugin to kdelibs|mail@milianw.de|Milian Wolff}}&lt;br /&gt;
{{FeatureDone|KCalendarSystem|Add new calendar systems: Indian Civil (Saka), Pure Julian, Pure Gregorian, Ethiopian, Coptic.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|KDEPrint|Add Odd/Even page selection and server-side page selection when using CUPS.|john@layt.net|John Layt}}&lt;br /&gt;
{{FeatureDone|nepomuk|Get libnepomukquery into kdelibs|trueg@kde.org|Sebastian Trueg}}&lt;br /&gt;
{{FeatureDone|webkit|Move KDE integration of QtWebKit into kdelibs (but not KPart!)|uwolfer@kde.org|Urs Wolfer}}&lt;br /&gt;
{{FeatureDone|katepart|Implement on-the-fly spell checking for arbitrary documents.|michel.ludwig@kdemail.net|Michel Ludwig}}&lt;br /&gt;
{{FeatureDone|nepomuk|Add const versions of the accessor methods to the Nepomuk::Types classes|trueg@kde.org|Sebastian Trueg}} &lt;br /&gt;
{{FeatureDone|kdeui|Finalize the api for the new systemtray: KStatusNotifierItem|notmart@gmail.com|Marco Martin}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdemultimedia  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|JuK|Remove Qt/KDE3 support lib requirements -- will move to KDE 4.5 feature plan|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureTodo|JuK|Allow setting covers directly from URLs supported by KIO - drag/drop already allows this however -- will move to KDE 4.5 feature plan|mpyne.org|Michael Pyne}}&lt;br /&gt;
{{FeatureInProgress|KMix|Add WhatsThis help on controls (Bug 70042)|esken@kde.org|Christian Esken}} &lt;br /&gt;
{{FeatureInProgress|KMix|Generic per-App volume tab ( pulse,phonon,oss4)|helio@kde.org|Helio Castro}}&lt;br /&gt;
{{FeatureDone|KMix|Amend Keyboard Shortcuts|esken@kde.org|Christian Esken}} &lt;br /&gt;
{{FeatureDone|KMix|Allow arbitrary ordering of controls (Bug 57946)|esken@kde.org|Christian Esken}} &lt;br /&gt;
{{FeatureDone|KMix|Nicer OSD (icon, mute state)|esken@kde.org|Christian Esken}}&lt;br /&gt;
{{FeatureDone|JuK|Allow disabling crossfade|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
{{FeatureDone|JuK|Add support for MP4 and ASF files (when present in Taglib). Patch taken from Kubuntu patchset, thanks to Kubuntu devs and Jeff Mitchell.|mpyne@kde.org|Michael Pyne}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdenetwork  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Kopete|UPnp Support|mattr@kde.org|Matt Rogers}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle video support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Jabber Jingle ICE support|detlev.casanova@gmail.com|Detlev Casanova}} &lt;br /&gt;
{{FeatureTodo|Kopete|Add support for urls to Bonjour plugin|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Kopete|Rich text support for ICQ|kedgedev@gmail.com|Roman Jarosz}} &lt;br /&gt;
{{FeatureInProgress|KGet|Support for custom NewTransferDialog in BTPlugin|l.appelhans@gmx.de|Lukas Appelhans}} &lt;br /&gt;
{{FeatureInProgress|Kopete|Contacts plasmoid|earthwings@gentoo.org|Dennis Nienhüser}} &lt;br /&gt;
{{FeatureInProgress|Kopete|Telepathy protocol plugin|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureInProgress|Kopete|Telepathy Tubes Desktop Sharing plugin|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureInProgress|Kopete|Akonadi Logger(modify the history plugin)|roideuniverse@gmail.com|Kaushik Saurabh}} &lt;br /&gt;
{{FeatureInProgress|Krfb|Telepathy Tubes support|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureInProgress|Krfb|Core restructuring|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureInProgress|Telepathy|Account Management KCM|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureInProgress|Telepathy|Mission Control launcher KDED|grundleborg@googlemail.com|George Goldberg}} &lt;br /&gt;
{{FeatureDone|Kopete|Create avatars from a webcam device |alex@eyeos.org |Alex Fiestas}} &lt;br /&gt;
{{FeatureDone|Krdc|Redesigned workflow to create a new connection|uwolfer@kde.org|Urs Wolfer}} &lt;br /&gt;
{{FeatureDone|Krdc|Telepathy Tubes support||Abner Silva}}&lt;br /&gt;
{{FeatureDone|Krdc|Full Screen Switching|murraytony@gmail.com|Tony Murray}} &lt;br /&gt;
{{FeatureDone|KGet|Support for verifying signed files|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Verification of downloads using checksums|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Downloading checksums for downloads|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Repairing broken downloads|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Moving and renaming files while downloading|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Adding mirrors to downloads while downloading|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Changing the number of connections per mirror of downloads while downloading|mat69@gmx.net|Matthias Fuchs}} &lt;br /&gt;
{{FeatureDone|KGet|Assistant to create Metalinks|mat69@gmx.net|Matthias Fuchs}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdepim  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
{{FeatureInProgress|KJots|Port to Akonadi|steveire|Stephen Kelly}}&lt;br /&gt;
{{FeatureInProgress|KJots|Port to Grantlee for theming support|steveire|Stephen Kelly}}&lt;br /&gt;
{{FeatureInProgress|Akregator|Port to use KNotificationItem|tpr@d5k.net|Teemu Rytilahti}}&lt;br /&gt;
{{FeatureDone|KMail|Archiving function for mails|thomas@kdab.com|Thomas McGuire}}&lt;br /&gt;
{{FeatureDone|KMail|Clean up UI for aggregation and theme settings||James Bending}}&lt;br /&gt;
{{FeatureDone|KMail|Improve recipient picker||Bruno Bigras}}&lt;br /&gt;
{{FeatureDone|KMail|Allow to search by tag and to use filters for adding tags||Jonathan Armond}}&lt;br /&gt;
{{FeatureDone|KMail|Port addressbook-related functions to Akonadi||Tobias König}}&lt;br /&gt;
{{FeatureDone|KMail|Make the HTML status bar clickable||James Bendig}}&lt;br /&gt;
{{FeatureDone|KMail|Add a context menu entry for mailing lists to the message viewer||Daniel Black}}&lt;br /&gt;
{{FeatureDone|KMail|When switching identities in the composer, switch the template too||Jonathan Armond}}&lt;br /&gt;
{{FeatureDone|KMail|Ask for the transport to use when dealing with an invitation|thomas@kdab.com|Thomas McGuire}}&lt;br /&gt;
{{FeatureDone|KMail|Make the To and CC fields expandable/collapseable in the fancy header style||Torgny Nyblom}}&lt;br /&gt;
{{FeatureDone|KMail|Support inline images in signatures|mcguire@kde.org|Thomas McGuire}}&lt;br /&gt;
{{FeatureDone|KMail|Add a SIGNATURE command for templates||Jonathan Armond}}&lt;br /&gt;
{{FeatureDone|KMail|Use passive popups for error messages while checking for mail|mcguire@kde.org|Thomas McGuire}}&lt;br /&gt;
{{FeatureDone|KAlarm|Provide audio-only alarms|djarvie @ kde.org|David Jarvie}} &lt;br /&gt;
{{FeatureDone|KAddressbook|Completely new KAddressbook based on Akonadi||Tobias König}}&lt;br /&gt;
{{FeatureDone|Akonadi|POP3 Resource for Akonadi|mcguire@kde.org|Thomas McGuire}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= kdepimlibs  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= kdeplasma-addons  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|knowledgebase|port knowledgebase plasmoid to new engine|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureTodo|knowledgebase|Add categories|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureInProgress|opendesktop|Add messaging|ewoerner@kde.org|Eckhart Wörner}} {{FeatureInProgress|opendesktop|Add friendship management|ewoerner@kde.org|Eckhart Wörner}}&lt;br /&gt;
{{FeatureInProgress|ocs engine|Add possibility to use different providers, use attica from kdesupport|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureInProgress|opendesktop|port opendesktop plasmoid to new engine and rename accordingly|ewoerner@kde.org|Eckhart Wörner}} &lt;br /&gt;
{{FeatureInProgress|opendesktop activities|port opendesktop activities plasmoid to new engine and rename accordingly|ewoerner@kde.org|Eckhart Wörner}}&lt;br /&gt;
{{FeatureInProgress|microblogging|new appearance and new twitter api pieces support|notmart@gmail.com|Marco Martin}} &lt;br /&gt;
{{FeatureDone|plasmaboard|Added a virtual keyboard plasmoid for touchscreen users|bjoern@ruberg-wegener.de|Björn Ruberg}}&lt;br /&gt;
{{FeatureDone|FifteenPuzzle|Made it work with multiple rows and cols|tcanabrava@kde.org|Tomaz Canabrava}}&lt;br /&gt;
{{FeatureDone|Qalculate|A new advanced calculator plasmoid|agostinelli@gmail.com|Matteo Agostinelli}}&lt;br /&gt;
{{FeatureDone|KDE Observatory|A new plasmoid for visualizing KDE projects status (commits, commiters, bugs, krazy status, etc)|sandroandrade@kde.org|Sandro S. Andrade}}&lt;br /&gt;
{{FeatureDone|Spell Check|A new plasmoid for fast spell checking|emdeck@gmail.com|Michał Dutkiewicz}}&lt;br /&gt;
{{FeatureDone|Project Silk|generic Mediawiki KRunner|sebas@kde.org|Sebastian Kügler}} &lt;br /&gt;
{{FeatureDone|Project Silk|Webslice Plasmoid, qgraphicswidget|sebas@kde.org|Sebastian Kügler}} &lt;br /&gt;
{{FeatureDone|Solid|Network Manager Plasmoid|sebas@kde.org|Sebastian Kügler}} &lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdesdk  =&lt;br /&gt;
&lt;br /&gt;
{| cellspa/cing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate snowball stemmer for glossary|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Continue implementing XLIFF spec|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Segmentation [editing] functionality|shafff@NOSPAMukr.net |Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Remote translation memories|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Lokalize|Integrate with nepomuk (fast stats retrieval, tag cloud - incl sharing!)|shafff@NOSPAMukr.net|Nick Shaforostoff}} &lt;br /&gt;
{{FeatureTodo|Kate|Replace old snippet plugin through TNG plugin|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
{{FeatureDone|Kate|Integrate GHNS into snippets TNG|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
{{FeatureInProgress|Kate|Refactor parts from snippets TNG plugin into a common library for use by the plugin and for use in kdevelop|jowenn(you_know)kde(here_too)org|Joseph Wenninger}} &lt;br /&gt;
{{FeatureDone|Kate|Add common vim commands like :wq, :new, :bp/bn, etc.|ehambergαgmail.com|Erlend Hamberg}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= kdeutils  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact &lt;br /&gt;
{{FeatureTodo|Ark|Add an options dialog (maybe)|haraldhv@stud.ntnu.no|Harald Hvaal}} {{FeatureTodo|Ark|Support for custom options from the compression interface (eg. a slider for selecting compression level for rar files)|haraldhv@stud.ntnu.no|Harald Hvaal}} {{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}} {{FeatureTodo|Ark|Add feedback for the latest operation in the status bar|kubito@gmail.com|Raphael Kubo da Costa}} {{FeatureTodo|Ark|Try multiple plugins for each archive type before failing|kubito@gmail.com|Raphael Kubo da Costa}} {{FeatureTodo|Ark|Make the internal previewer optional|kubito@gmail.com|Raphael Kubo da Costa}} {{FeatureTodo|KGpg|Make keyserver actions possible to use on multiple keyservers at once|kde@opensource.sf-tec.de|Rolf Eike Beer}} {{FeatureTodo|Okteta|add Kate-like search tool|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|add support for import by drop, both url and data|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|copy again puts also a value or char variant of the data to clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|add support for memory mapping of files and 64-bit addressing|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|add further export formats like s-record and intel 16|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|add support for jobs like io, printing, string search or filter|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|Add Okular like embedded notifications|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|Store bookmarks and other view settings for next load|kossebau@kde.org|Friedrich W. H. Kossebau}} {{FeatureTodo|Okteta|Add global toggle option for the offset display, hex or decimal|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureTodo|Okteta|add QIODevice for AbstractByteArrayModel and make mimetype detection use this instead of only filename |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add Kate-like combined dialogs to query for actions on files|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Improve the titels of the changes to the bytearray to be more descriptive, best using ids to avoid text string|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Merge row and column widgets into one|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Refactor mouse input to controllers for the bytearray widget|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Add a general KPart adapter to Kasten, than finish port of Okteta KPart to Okteta Kasten|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|Okteta|Make all user interaction in the KastenCore managers plugin-based|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureTodo|printer-applet|Restore feature parity with KDEPrint3 where possible.||Jonathon Riddell, John Layt}} &lt;br /&gt;
{{FeatureTodo|kdelirc|Cycle mode function|fscheffold@googlemail.com|Frank Scheffold}} &lt;br /&gt;
{{FeatureTodo|kdelirc|Add a try button in configurations|michael_zanetti@gmx.net|Michael Zanetti}} &lt;br /&gt;
{{FeatureInProgress|KGpg|Add &amp;amp;quot;caff&amp;amp;quot; mode for keysigning|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureInProgress|kdelirc|Integrate solid backend into kdelirc frontend|fscheffold@googlemail.com|Frank Scheffold}} &lt;br /&gt;
{{FeatureDone|kdelirc|Communicate to lirc through solid|michael_zanetti@gmx.net|Michael Zanetti}}&lt;br /&gt;
{{FeatureDone|KGpg|Add improved key import result window (with useful summary, filtering, reasonable default size etc.)|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureDone|KGpg|Make generating a key a KJob so it get's better notification support|kde@opensource.sf-tec.de|Rolf Eike Beer}}&lt;br /&gt;
{{FeatureDone|Okteta|Add tool to view decoding of complex structures|alex.richardson@gmx.de|Alex Richardson}} &lt;br /&gt;
{{FeatureDone|Okteta|Rename libkakao to Kasten and make the Okteta KPart use it|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|Add embedded dialog to set selection range|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Okteta|Add Base64 encoder|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Okteta|Added data generators, like pattern, sequence or from clipboard|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Okteta|Added option to split views|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|Add marking of bytearray section to widgets, so tools like strings or pod decoder can mark the source, instead of selecting it|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|add editing capability to Decoding table |kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|Make dialogs for Goto and Select embedded|kossebau@kde.org|Friedrich W. H. Kossebau}} &lt;br /&gt;
{{FeatureDone|Okteta|Store bookmarks|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
{{FeatureDone|Okteta|Add UTF-8 option to bytearray lineedit|kossebau@kde.org|Friedrich W. H. Kossebau}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Other  =&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;&amp;quot; class=&amp;quot;sortable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;&amp;quot;&lt;br /&gt;
! Status &lt;br /&gt;
! Project &lt;br /&gt;
! Description &lt;br /&gt;
! Contact&lt;br /&gt;
{{FeatureDone|kdesupport|Add libattica to kdesupport|gladhorn@kde.org|Frederik Gladhorn}}&lt;br /&gt;
{{FeatureDone|Solid|KNetworkManager|wstephenson@kde.org|Will Stephenson}} &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	</feed>