<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.sim-im.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dirihle</id>
	<title>Sim-Im - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.sim-im.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dirihle"/>
	<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Special:Contributions/Dirihle"/>
	<updated>2026-04-25T21:28:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Simlib_diagram&amp;diff=2599</id>
		<title>Simlib diagram</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Simlib_diagram&amp;diff=2599"/>
		<updated>2010-08-19T15:37:16Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Simlib_preliminary_v1.png]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Class_Overview&amp;diff=2598</id>
		<title>Class Overview</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Class_Overview&amp;diff=2598"/>
		<updated>2010-08-19T15:37:02Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* New architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Simlib diagram]]&lt;br /&gt;
&lt;br /&gt;
== '''CLASSES::BRANCH_PLAYGROUND''' ==&lt;br /&gt;
&lt;br /&gt;
'''simlib:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/simlib-qt4-port-layouted.png ClassDiagramm]&lt;br /&gt;
&lt;br /&gt;
'''_core:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/simlib-qt4-port-layouted.png ClassDiagramm]&lt;br /&gt;
&lt;br /&gt;
'''icq:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/icq-qt4-port-layouted.png ClassDiagramm]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=File:Simlib_preliminary_v1.png&amp;diff=2597</id>
		<title>File:Simlib preliminary v1.png</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=File:Simlib_preliminary_v1.png&amp;diff=2597"/>
		<updated>2010-08-19T15:36:30Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Class_Overview&amp;diff=2596</id>
		<title>Class Overview</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Class_Overview&amp;diff=2596"/>
		<updated>2010-08-19T15:33:39Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== New architecture ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''CLASSES::BRANCH_PLAYGROUND''' ==&lt;br /&gt;
&lt;br /&gt;
'''simlib:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/simlib-qt4-port-layouted.png ClassDiagramm]&lt;br /&gt;
&lt;br /&gt;
'''_core:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/simlib-qt4-port-layouted.png ClassDiagramm]&lt;br /&gt;
&lt;br /&gt;
'''icq:'''&lt;br /&gt;
* [http://www.sim.gosign.de/cd/icq-qt4-port-layouted.png ClassDiagramm]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=ClientManager&amp;diff=2560</id>
		<title>ClientManager</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=ClientManager&amp;diff=2560"/>
		<updated>2009-11-26T17:29:18Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently, ContactList is responsible for Client gathering and manipulation.&lt;br /&gt;
This responsibility should be passed to ClientManager&lt;br /&gt;
==Requirements==&lt;br /&gt;
ContactList responsibilities:&lt;br /&gt;
# Client object creation/destruction&lt;br /&gt;
# Client object storage&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=ContactList&amp;diff=2559</id>
		<title>ContactList</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=ContactList&amp;diff=2559"/>
		<updated>2009-11-25T17:25:37Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
# Group and Contact objects storage and access provider&lt;br /&gt;
# Serialization/deserialization&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=ProfileManager&amp;diff=2558</id>
		<title>ProfileManager</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=ProfileManager&amp;diff=2558"/>
		<updated>2009-11-25T17:20:20Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
ProfileManager have following list of responsibilities:&lt;br /&gt;
# Profile enumeration&lt;br /&gt;
# Profile creation/destruction/renaming&lt;br /&gt;
# Profile selection&lt;br /&gt;
## On profile change, a signal/event should be emit to all entities that store their settings in profile&lt;br /&gt;
# Provide access to current profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Profile responsibilities:&lt;br /&gt;
# Maintain a list of enabled/disabled plugins&lt;br /&gt;
# Provide get/set methods for this list&lt;br /&gt;
# Provide access to config storage object (SIM::Config)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Config responsibilities:&lt;br /&gt;
# Saving/loading profile data to/from disk&lt;br /&gt;
# Storing/restoring PropertyHub data&lt;br /&gt;
In other words, Config should be an intermediate object between PropertyHub and config files on disk&lt;br /&gt;
&lt;br /&gt;
PropertyHub responsibilities:&lt;br /&gt;
# Generic data storage with string keys&lt;br /&gt;
# Serialization/deserialization&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tests==&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=PluginManager&amp;diff=2557</id>
		<title>PluginManager</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=PluginManager&amp;diff=2557"/>
		<updated>2009-11-25T17:08:00Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
# Manager must to enumerate available plugins, load any of available plugin, unload any loaded plugin&lt;br /&gt;
# Plugins placement may by different on different platforms and release or debug build&lt;br /&gt;
## Linux:&lt;br /&gt;
### Release:&lt;br /&gt;
### Debug:&lt;br /&gt;
## Window:&lt;br /&gt;
### Release:&lt;br /&gt;
### Debug:&lt;br /&gt;
## MacOS:&lt;br /&gt;
### Release: &amp;quot;%Application%/Content/PlugIns&amp;quot;&lt;br /&gt;
### Debug: &amp;quot;%Application%/Content/PlugIns&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Tests==&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2528</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2528"/>
		<updated>2009-11-09T16:24:58Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* Those subsystems are considered to be part of the core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Generic subsystem framework]]&lt;br /&gt;
&lt;br /&gt;
=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[ClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;br /&gt;
&lt;br /&gt;
[[SocketFactory]]&lt;br /&gt;
&lt;br /&gt;
[[Commands framework]]&lt;br /&gt;
&lt;br /&gt;
[[Event subsystem]]&lt;br /&gt;
&lt;br /&gt;
[[Icon storage]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2527</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2527"/>
		<updated>2009-11-09T16:23:53Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* Those subsystems are considered to be part of the core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Generic subsystem framework]]&lt;br /&gt;
&lt;br /&gt;
=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[ClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;br /&gt;
&lt;br /&gt;
[[SocketFactory]]&lt;br /&gt;
&lt;br /&gt;
[[Commands framework]]&lt;br /&gt;
&lt;br /&gt;
[[Event subsystem]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2526</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2526"/>
		<updated>2009-11-09T16:13:55Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* Those subsystems are considered to be part of the core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Generic subsystem framework]]&lt;br /&gt;
&lt;br /&gt;
=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[ClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;br /&gt;
&lt;br /&gt;
[[SocketFactory]]&lt;br /&gt;
&lt;br /&gt;
[[Commands framework]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2525</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2525"/>
		<updated>2009-11-09T15:35:39Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* Those subsystems are considered to be part of the core */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Generic subsystem framework]]&lt;br /&gt;
&lt;br /&gt;
=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[ClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;br /&gt;
&lt;br /&gt;
[[SocketFactory]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2516</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2516"/>
		<updated>2009-09-22T15:23:19Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Generic subsystem framework]]&lt;br /&gt;
&lt;br /&gt;
=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[IMClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2515</id>
		<title>Subsystems list</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Subsystems_list&amp;diff=2515"/>
		<updated>2009-09-21T14:40:35Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Those subsystems are considered to be part of the core ===&lt;br /&gt;
&lt;br /&gt;
[[ProfileManager]]&lt;br /&gt;
&lt;br /&gt;
[[PluginManager]]&lt;br /&gt;
&lt;br /&gt;
[[IMClientManager]]&lt;br /&gt;
&lt;br /&gt;
[[ContactList]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Developing&amp;diff=2514</id>
		<title>Developing</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Developing&amp;diff=2514"/>
		<updated>2009-09-21T14:37:53Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Compilation | Compilation instructions]]&lt;br /&gt;
&lt;br /&gt;
[[UpdatingMessages | Updating .po files with i18n from source code ]]&lt;br /&gt;
&lt;br /&gt;
[[Class Overview | Class Diagrams ]]&lt;br /&gt;
&lt;br /&gt;
==== Sim-IM4 developing ====&lt;br /&gt;
&lt;br /&gt;
[[Subsystems list | List of sim's core subsystems]]&lt;br /&gt;
&lt;br /&gt;
[[Porting issues | Issues of things which should be changed/fixed]]&lt;br /&gt;
&lt;br /&gt;
[[Refactoring issues | Refactoring proposals and diagrams]]&lt;br /&gt;
&lt;br /&gt;
[[Reports | Code Analyze Buildlogs, Leak checking etc.]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Refactoring_issues&amp;diff=2422</id>
		<title>Refactoring issues</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Refactoring_issues&amp;diff=2422"/>
		<updated>2009-05-08T16:00:02Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ContactList, Client and Contact should be implemented somehow like this:&lt;br /&gt;
[[Image:Im_protocol_diagram.png]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=File:Im_protocol_diagram.png&amp;diff=2421</id>
		<title>File:Im protocol diagram.png</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=File:Im_protocol_diagram.png&amp;diff=2421"/>
		<updated>2009-05-08T15:58:00Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Developing&amp;diff=2420</id>
		<title>Developing</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Developing&amp;diff=2420"/>
		<updated>2009-05-08T15:54:31Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Compilation | Compilation instructions]]&lt;br /&gt;
&lt;br /&gt;
[[UpdatingMessages | Updating .po files with i18n from source code ]]&lt;br /&gt;
&lt;br /&gt;
[[Class Overview | Class Diagrams of your favourite Messenger ]]&lt;br /&gt;
&lt;br /&gt;
[[Refactoring issues | Refactoring proposals and diagrams]]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2419</id>
		<title>Sim 0.9.5 changelog</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2419"/>
		<updated>2009-05-03T03:46:20Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;Please, update it as you want, I'm sure I missed a lot.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Translation updates [r1921, r2051, r2188, r2205]&lt;br /&gt;
* GPL icons [r1928, r1930, r1931, r1936, r2023]&lt;br /&gt;
* GPL sounds [r1989, r1990]&lt;br /&gt;
* OS/2 support [r1935, r2267, r2268, r2269]&lt;br /&gt;
* Audiere support [r1947, r1948, r1950, r1957, r2260]&lt;br /&gt;
* Support for Jabber's own encryption protocol [r2041, patch #2125]&lt;br /&gt;
* Floating windows fixes [r2070, r2259]&lt;br /&gt;
* LED Notification in N/A status [r1963-r1983, r1991, r1997]&lt;br /&gt;
* Network cable plugging/unplugging detection [r2375, r2464, r2483, r2493, r2494, r2502]&lt;br /&gt;
* Moved to cmake from autotools [r2419, and a lot of Nikolay's revisions]&lt;br /&gt;
* Tabs-Cycling (Alt+Left/Right) [r2451]&lt;br /&gt;
&lt;br /&gt;
==== Bugfixes ====&lt;br /&gt;
* Weather plugin fixes:&lt;br /&gt;
** Proxy caching [r2038]&lt;br /&gt;
** Incorrect location [r2090]&lt;br /&gt;
* Basic auth proxy bug fixed [r2039]&lt;br /&gt;
* Fixed profile loss in some cases [r2040, r2044, r2046]&lt;br /&gt;
* Status web-aware fix [r2041, r2058]&lt;br /&gt;
* Various fixes in update-plugin [r2042]&lt;br /&gt;
* Jabber fixes:&lt;br /&gt;
** Incorrect subscription iq processing [r2047]&lt;br /&gt;
** Contact group changing [r2048]&lt;br /&gt;
** Send contact crash [r2088]&lt;br /&gt;
** 'City' field in user info was being retreived incorrectly [r2296]&lt;br /&gt;
* Floaty window fixes [r2065, r2069, r2259]&lt;br /&gt;
* ICQ fixes:&lt;br /&gt;
** Multiple socket connection bug [r2113]&lt;br /&gt;
** Fix for some passwords [r2117]&lt;br /&gt;
** Crash on adding ICQ contacts to visible/invisible list when it is joint with MSN or Yahoo [r2222]&lt;br /&gt;
** Crash when sim-im goes offline while some messages is still sending in ICQ [r2251]&lt;br /&gt;
** Problems with colons and semicolons in interest [r2261]&lt;br /&gt;
** Contact movement between groups caused auth loss [r2363]&lt;br /&gt;
** MD5 login fix [r2478]&lt;br /&gt;
* Fixed authorization request from message window bug [r2136]&lt;br /&gt;
* Multiple OSD fixes [...]&lt;br /&gt;
* Multiple History fixes [r2053, r2171]&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2402</id>
		<title>Sim 0.9.5 changelog</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2402"/>
		<updated>2009-05-01T04:01:19Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Translation updates [r1921, r2051, r2188, r2205]&lt;br /&gt;
* GPL icons [r1928, r1930, r1931, r1936, r2023]&lt;br /&gt;
* GPL sounds [r1989, r1990]&lt;br /&gt;
* OS/2 support [r1935, r2267, r2268, r2269]&lt;br /&gt;
* Audiere support [r1947, r1948, r1950, r1957, r2260]&lt;br /&gt;
* Support for Jabber's own encryption protocol [r2041, patch #2125]&lt;br /&gt;
* Floating windows fixes [r2070, r2259]&lt;br /&gt;
* LED Notification in N/A status [r1963-r1983, r1991, r1997]&lt;br /&gt;
* Network cable plugging/unplugging detection [r2375, r2464, r2483, r2493, r2494, r2502]&lt;br /&gt;
* Moved to cmake from autotools [...]&lt;br /&gt;
&lt;br /&gt;
==== Bugfixes ====&lt;br /&gt;
to be continued :)&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2401</id>
		<title>Sim 0.9.5 changelog</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2401"/>
		<updated>2009-04-30T16:10:56Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Translation updates [r1921, r2051]&lt;br /&gt;
* GPL icons [r1928, r1930, r1931, r1936, r2023]&lt;br /&gt;
* GPL sounds [r1989, r1990]&lt;br /&gt;
* OS/2 support [r1935]&lt;br /&gt;
* Audiere support [r1947, r1948, r1950, r1957]&lt;br /&gt;
* Support for Jabber's own encryption protocol [r2041, patch #2125]&lt;br /&gt;
* Floating windows docking [r2070]&lt;br /&gt;
* LED Notification in N/A status [r1963-r1983, r1991, r1997]&lt;br /&gt;
to be continued :)&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2400</id>
		<title>Sim 0.9.5 changelog</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Sim_0.9.5_changelog&amp;diff=2400"/>
		<updated>2009-04-30T13:57:06Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coming soon.&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Roadmap&amp;diff=2399</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Roadmap&amp;diff=2399"/>
		<updated>2009-04-30T13:50:15Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: /* Sim-IM 0.9.5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sim-IM 0.9.4.4 ==&lt;br /&gt;
&lt;br /&gt;
We are not planning to release any bugfix releases of 0.9.4.x branch. If you are interested in porting bug-fixes from 0.9.5 branch into 0.9.4.x, please contact the development team via [[Mailing lists]].&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 0.9.5 ==&lt;br /&gt;
[[Sim 0.9.5 changelog|Changelog]]&lt;br /&gt;
&lt;br /&gt;
'''General layout:''' Finish all tasks that were started by WRAR team, fix all known bugs that crashes or spoils something (if fix is possible without great architecture changes), or works totally wrong.  Other bugs are optional, but also good to fix.&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4286&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4286]'''  Internal unicode usage: use QString and QByteArray where ever is possible. '''Partly done by [[User:Chehrlic|Chehrlic]].'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4287&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4287] '''Jabber:''' Support for XEP-0092 (Software Version).&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:WRAR|WRAR]] and [[User:Serzh|Serzh]].'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4288&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4288]'' '''Jabber:''' Implement File Transfer (XEP-0096, XEP-0065). '''Started by [[User:Shaplov|Shaplov]]'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;'''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4289&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4289]''' '''ICQ:''' Support for new avatar approach in ICQ 5.1 and QIP.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Partly done by [[User:Chehrlic|Chehrlic]] and dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;'''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=15110&amp;amp;group_id=4482 Bug #15110]'''  '''ICQ:''' Sim-IM user's Avatar/Photo is not visible in non-Sim-IM clients&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4290&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4290] Profiles Renaming feature.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:Serzh|Serzh]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4291&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4291]''' Move from autoconf/automake to cmake. '''Partly done'''&lt;br /&gt;
** &amp;lt;s&amp;gt;'''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4292&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4292]''' Implement creating source tarball via cpack&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Almost done by dirihle'''&amp;lt;/font&amp;gt; &lt;br /&gt;
** '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4293&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4293]'''  Make i18n messages processing autoconf/automake independant '''Partly done by [[User:Shaplov|Shaplov]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4294&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4294]''' Remove non-free media content from the project source code (see [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=8843&amp;amp;group_id=4482 Bug #8843])&lt;br /&gt;
** '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4295&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4295]''' Create GUN/(L)GPL iconset based on Crystal KDE icons. '''Partly done by [[User:Shaplov|Shaplov]]&lt;br /&gt;
** &amp;lt;s&amp;gt;'''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4296&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4296]''' Create GUN/(L)GPL sound set.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:Noragen|Noragen]]'''&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4297&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4297]''' KDE spell check should work&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=5995&amp;amp;group_id=4482 Bug #5995] KDE spell check: Marked misspelled words is sent to recipient coloured in red color&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=5994&amp;amp;group_id=4482 Bug #5994] KDE spell check tries to analyse html tags of formatted message&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12254&amp;amp;group_id=4482 Bug #12254] KDE spell check highlights all words in message in some cases.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4298&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4298] Correct processing of connection troubles and correct reconnect&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10945&amp;amp;group_id=4482 Bug #10945] Sim-IM can't connect the network after changing of network address &lt;br /&gt;
**[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4299&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4299] Go to inactive status when connection to the server is lost&lt;br /&gt;
**[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4300&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4300] Go to incative status when OS reports network down. '''Partly done by dirihle'''&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10650&amp;amp;group_id=4482 Bug #10650] Impossible to add Non-IM contact:&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by Vooft (Mikheev N.)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11757&amp;amp;group_id=4482 Bug #11757] '''ICQ:''' Users from ignore list can't be deleted from contact list&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by int32 (Dmitry Karasik)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11493&amp;amp;group_id=4482 Bug #11493] '''ICQ:''' Impossible to change value of &amp;quot;Allow other to view my status from the web&amp;quot; option&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by dushistov_ea'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9129&amp;amp;group_id=4482 Bug #9129] '''ICQ:''' Filetransfer is broken '''Almost done by dirihle and noragen'''&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11669&amp;amp;group_id=4482  Bug #11669] Unable to connect password protected HTTPS Proxy&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by Alex Masterov'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10426&amp;amp;group_id=4482 Bug #10426] '''Jabber:''' Some messages is received twice.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by reklov'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;'''Jabber:''' Impossible to move some contacts from one group to another&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10994&amp;amp;group_id=4482 Bug #10994] Sim-IM loose configure files when disk is full&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Sim-IM loose configure files when pressing Cancel while changing profile&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt; &amp;lt;font color=red&amp;gt;&amp;lt;b&amp;gt;THIS HAS TO BE REVALIDATED DUE TO CHANGE OF LOGINDLG.CPP&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11221&amp;amp;group_id=4482 Bug #11221] Send button for &amp;quot;Authorization request&amp;quot; is always disabled, when request is sending from message window menu.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Noragen|Noragen]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
*[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12255&amp;amp;group_id=4482 Bug #12255] Update button in userinfo/settings window is not re-enabling after updating.&lt;br /&gt;
*&amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12313&amp;amp;group_id=4482 Bug #12313] ICQ: Messages does not arrive ICQ6-Users (but it seems to work with SIM 0.9.4.3/4 ? needs testing)&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by chehrlic (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12348&amp;amp;group_id=4482 Bug #12348] AIM: Messages does not arrive ICQ6-Users (but it seems to work with SIM 0.9.4.3/4 ? needs testing)&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by Dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
*[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14123&amp;amp;group_id=4482 Bug #14123] New profile -&amp;gt; contact Msg's are not displayed until self send, due to creation of history file&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10530&amp;amp;group_id=4482 Bug #10530]'' '''ICQ:''' Impossible to send SMS&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9681&amp;amp;group_id=4482 Bug #9681]'' '''Jabber:''' Problems with bold and underlined text in messages from gaim/pidgin&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9051&amp;amp;group_id=4482 Bug #9051]'' '''ICQ:''' Jabber groups is created on ICQ server when using ICQ and Jabber together&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12257&amp;amp;group_id=4482 Bug #12257]'' '''Jabber:''' Sim-IM crashes when trying to send contact (Contact List menu option).&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Chehrlic|Chehrlic]] (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=6969&amp;amp;group_id=4482 Bug #6969]'' Yahoo search and add does not work.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9236&amp;amp;group_id=4482 Bug #9236]'' Online contacts shown as offline after period of time (OSCAR-Specs-Problem, only non-authorized contacts seems to be affected)&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed needs testing by chehrlic (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12314&amp;amp;group_id=4482 Bug #12314]'' ICQ: Change Passwords is not possible&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12316&amp;amp;group_id=4482 Bug #12316]'' Jabber: Change Passwords is not possible&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12319&amp;amp;group_id=4482 Bug #12319]'' Server-stored Non-IM contacts are afaik are not added to contactlist... (not processed?)&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12320&amp;amp;group_id=4482 Bug #12320]'' Yahoo/MSN joined with ICQ contacts, cannot be put in visible/invisible list ==&amp;gt; crash&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14122&amp;amp;group_id=4482 Bug #14122]'' new ICQ connection -&amp;gt; old account loose in/visible grouping&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14121&amp;amp;group_id=4482 Bug #14121]'' moving User in another group looses auth-status&amp;lt;/s&amp;gt; &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''fixed by dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14120&amp;amp;group_id=4482 Bug #14120]'' ICQ6-User is only after auth and sim-restart visible in SIM&lt;br /&gt;
&lt;br /&gt;
'''Legend: '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;'''Bug #XXXXX'''&amp;lt;/font&amp;gt; &amp;amp;mdash; Bugs/tasks that blocks release. Can't release without fixing them&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;Bug #XXXXX&amp;lt;/font&amp;gt; &amp;amp;mdash; Normal bugs/tasks. Should be fixed if there is no serious problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;''Bug #XXXXX''&amp;lt;/font&amp;gt; &amp;amp;mdash; Optional bugs/tasks. We can release without fixing them, though would be good to fix them anyway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&amp;lt;font color=#3366BB&amp;gt;Bug #XXXXX&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt; &amp;amp;mdash; Fixed bug/finished task&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 0.9.5.1 ==&lt;br /&gt;
* [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12259&amp;amp;group_id=4482 Bug #12259] MSN, Yahoo and OSCAR plugin can't be used together. Non-IM-Contacts conflicting, too. We should at least warn a user when creating new connection. ==&amp;gt;fix Group management&lt;br /&gt;
&lt;br /&gt;
==Sim-IM 0.9.6==&lt;br /&gt;
&lt;br /&gt;
=== Semi-port to qt4 using qt3support===&lt;br /&gt;
&lt;br /&gt;
We should do (or at last try as much as possible) Sim-IM buildable both with qt3 and with qt4 (using qt3support). &lt;br /&gt;
&lt;br /&gt;
Qt3support is a library that provides backward compatibility classes that allows to build qt3 code with qt4, without great changes. Also it provides specific script that parses and the code and change qt3 staff with qt3support and qt4 staff. To build the code with both qt3 and qt4 we should make these changes revertable. Here are general types of changes made by qt3support script, and the ways this changes may be done revertable:&lt;br /&gt;
&lt;br /&gt;
====Usage of Compatibility Classes====&lt;br /&gt;
''' QXxxxxxx -&amp;gt; Q3Xxxxxxx''': Qt4 provides a number of [http://doc.trolltech.com/4.4/compatclasses.html Q3 Compatibility Classes] which differs from Qt3 ones just by adding &amp;quot;3&amp;quot; to the name of the classes. So thats what qt3support script does, just changes class names. To make code, changed in that way, buildable with qt3 we should rename these class names back to Qt3 notation. This can be done by simple &amp;lt;code&amp;gt;#define Q3PopupMenu QPopupMenu&amp;lt;/code&amp;gt; in qt3-specific .h file.&lt;br /&gt;
&lt;br /&gt;
==== Const's Namespace Changes  ====&lt;br /&gt;
'''WType_Popup -&amp;gt; Qt::WType_Popup'''. The second difference between Qt3 and Qt4's Qt3Support is changes of namespaces of different consts. All Qt3 consts are located in common namespace, and in Qt4 they were moved to different namespaces, mostly in Qt-namespace. So when qt3support parses code, it adds namespaces to conts's names. To make code buildable by both frameworks we should create Compatibility Consts, that will be  replaced by preprocessor to qt3 const or to qt4 before building the code. Just add &amp;lt;code&amp;gt;#define Q3WType_Popup WType_Popup&amp;lt;/code&amp;gt; into qt3-specific .h file and &amp;lt;code&amp;gt;#define Q3WType_Popup Qt::WType_Popup&amp;lt;/code&amp;gt; into qt4-specific .h file.&lt;br /&gt;
&lt;br /&gt;
==== Incompatibility in class names ====&lt;br /&gt;
'''QIconSet -&amp;gt; QIcon''' Names of some classes were changed, while moving from qt3 to qt4, though classes remans method-compatible. For example qt3support script changes class name QIconSet  into QIcon. Everything else remains the same. To make this code qt3 buildable we should create specific compatibility class-name ourself, Q3IconSet for example, which will be replaced by the real name required by each framework: &amp;lt;code&amp;gt;#define Q3IconSet QIconSet&amp;lt;/code&amp;gt; in qt3-specific .h file, and &amp;lt;code&amp;gt;#define Q3IconSet QIcon&amp;lt;/code&amp;gt; in qt4-specific .h file&lt;br /&gt;
&lt;br /&gt;
==== QString issues ====&lt;br /&gt;
'''QString::utf8''' is widely used in Sim-IM, and not recommended to use in qt4 as [http://doc.trolltech.com/4.4/threads.html#reentrant not reentant]. Qt4 recomeds to use QString::toUtf8 instead. But there is no such method in qt3. So we should create Compatibility class Q4String, witch will emulate toUtf8 method for qt3 builds, and use that method instead of utf8&lt;br /&gt;
&lt;br /&gt;
==== QCString issues ====&lt;br /&gt;
'''QCString''' has compatibility class  Q3CString in qt3support, but we should better not to use it at all. We should replace all QCStrings by QStrings and QByteArrays, depending on context.&lt;br /&gt;
&lt;br /&gt;
==== Other issues ====&lt;br /&gt;
'''All other''' issues can be bypassed by writing code twice, and enclose in &amp;lt;code&amp;gt;#ifdef QT3 ..... #else  ....  #endif&amp;lt;/code&amp;gt;. Hope there will be not too much code enclosed in such ifdef's&lt;br /&gt;
&lt;br /&gt;
=== Architecture  changes ===&lt;br /&gt;
&lt;br /&gt;
==== Get rid of static casts ====&lt;br /&gt;
We should remove all static casts between static structures and all void * function arguments.&lt;br /&gt;
&lt;br /&gt;
==== Step-by-step incoming/outgoing message processing ====&lt;br /&gt;
1. All messages should be sent and received only via event system. Procedure that sends message should know nothing about client that sends that message, only client's id.&lt;br /&gt;
&lt;br /&gt;
2. Handle message receiveing(sending) as multistep event. Each plugin will be able to bind to some step, do something (may be change some message properties), and then pass message through, hold it, or remove it. For example:&lt;br /&gt;
&lt;br /&gt;
 0. Jabber: Incomming message: start processing.&lt;br /&gt;
 1. Antispam: Known contact: pass&lt;br /&gt;
 2. History: Logs message into file: pass&lt;br /&gt;
 3. Soud: Says ku-ku: pass&lt;br /&gt;
 4. Contact list: Show blinking message: hold (till user says 'open')&lt;br /&gt;
 4.1. (User press 'open')&lt;br /&gt;
 5. Contaner: shows new message: pass&lt;br /&gt;
 6. (no other actions: finished)&lt;br /&gt;
&lt;br /&gt;
In this way user list for example should not know anything about container, it just passes message to the next element&lt;br /&gt;
of the queue, may be setting some flag, like &amp;quot;open in new container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In this way we can also write &amp;quot;robot&amp;quot; plugin that will bind between steps 2 and 3, and do something if this message.&lt;br /&gt;
belongs to him, fetch this message away and nobody will be bothered by ku-ku.&lt;br /&gt;
&lt;br /&gt;
And so on. (History plugin might be binded to all levels to mark changes of the state (for example that message were read)&lt;br /&gt;
in history file)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create TextMessage abstract class:&lt;br /&gt;
** This class should be inherited by protocol specific TextMessages classes&lt;br /&gt;
** All interaction with message: showing, creating new message to send, etc should be done via virtual functions of that class&lt;br /&gt;
** All plugins are able to get incoming message and do something with sending message (which are represented by this class), if they want to by using existing event system (so will need to add some events for it)&lt;br /&gt;
* After TextMessage class is implemented we will be able:&lt;br /&gt;
** Rewrite history plugin&lt;br /&gt;
** Create spam-filter plugin&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 0.9.7 and later ==&lt;br /&gt;
* Create Contat protocol independent generic class&lt;br /&gt;
* Create Group protocol independent generic class&lt;br /&gt;
* Create Protocol protocol independent generic class&lt;br /&gt;
* Create Profile abstract class&lt;br /&gt;
* Try to separate parsing code from UI-specific code&lt;br /&gt;
* Something else&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 1.0==&lt;br /&gt;
*Port to QT4.x&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
	<entry>
		<id>http://www.sim-im.org/index.php?title=Roadmap&amp;diff=2377</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="http://www.sim-im.org/index.php?title=Roadmap&amp;diff=2377"/>
		<updated>2009-02-23T03:17:50Z</updated>

		<summary type="html">&lt;p&gt;Dirihle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sim-IM 0.9.4.4 ==&lt;br /&gt;
&lt;br /&gt;
We are not planning to release any bugfix releases of 0.9.4.x branch. If you are interested in porting bug-fixes from 0.9.5 branch into 0.9.4.x, please contact the development team via [[Mailing lists]].&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 0.9.5 ==&lt;br /&gt;
'''General layout:''' Finish all tasks that were started by WRAR team, fix all known bugs that crashes or spoils something (if fix is possible without great architecture changes), or works totally wrong.  Other bugs are optional, but also good to fix.&lt;br /&gt;
&lt;br /&gt;
=== Tasks ===&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4286&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4286]'''  Internal unicode usage: use QString and QByteArray where ever is possible. '''Partly done by [[User:Chehrlic|Chehrlic]].'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4287&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4287] '''Jabber:''' Support for XEP-0092 (Software Version).&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:WRAR|WRAR]] and [[User:Serzh|Serzh]].'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4288&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4288]'' '''Jabber:''' Implement File Transfer (XEP-0096, XEP-0065). '''Started by [[User:Shaplov|Shaplov]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4289&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4289]''' '''ICQ:''' Support for new avatar approach in ICQ 5.1 and QIP. '''Partly done by [[User:Chehrlic|Chehrlic]]'''&lt;br /&gt;
** '''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=15110&amp;amp;group_id=4482 Bug #15110]'''  '''ICQ:''' Sim-IM user's Avatar/Photo is not visible in non-Sim-IM clients '''Assigned to dirihle'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4290&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4290] Profiles Renaming feature.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:Serzh|Serzh]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4291&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4291]''' Move from autoconf/automake to cmake. '''Partly done'''&lt;br /&gt;
** '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4292&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4292]''' Implement creating source tarball via cpack&lt;br /&gt;
** '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4293&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4293]'''  Make i18n messages processing autoconf/automake independant '''Started by [[User:Shaplov|Shaplov]]'''&lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4294&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4294]''' Remove non-free media content from the project source code (see [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=8843&amp;amp;group_id=4482 Bug #8843])&lt;br /&gt;
** '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4295&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4295]''' Create GUN/(L)GPL iconset based on Crystal KDE icons. '''Partly done by [[User:Shaplov|Shaplov]]&lt;br /&gt;
** &amp;lt;s&amp;gt;'''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4296&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4296]''' Create GUN/(L)GPL sound set.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''Done by [[User:Noragen|Noragen]]'''&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* '''[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4297&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4297]''' KDE spell check should work&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=5995&amp;amp;group_id=4482 Bug #5995] KDE spell check: Marked misspelled words is sent to recipient coloured in red color&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=5994&amp;amp;group_id=4482 Bug #5994] KDE spell check tries to analyse html tags of formatted message&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12254&amp;amp;group_id=4482 Bug #12254] KDE spell check highlights all words in message in some cases.&lt;br /&gt;
&lt;br /&gt;
* [http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4298&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4298] Correct processing of connection troubles and correct reconnect&lt;br /&gt;
**[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10945&amp;amp;group_id=4482 Bug #10945] Sim-IM can't connect the network after changing of network address &lt;br /&gt;
**[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4299&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4299] Go to inactive status when connection to the server is lost&lt;br /&gt;
**[http://developer.berlios.de/pm/task.php?func=detailtask&amp;amp;project_task_id=4300&amp;amp;group_id=4482&amp;amp;group_project_id=1890 Task #4300] Go to incative status when OS reports network down. '''Partly done by dirihle'''&lt;br /&gt;
&lt;br /&gt;
=== Bugs ===&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10650&amp;amp;group_id=4482 Bug #10650] Impossible to add Non-IM contact:&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by Vooft (Mikheev N.)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11757&amp;amp;group_id=4482 Bug #11757] '''ICQ:''' Users from ignore list can't be deleted from contact list&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by int32 (Dmitry Karasik)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11493&amp;amp;group_id=4482 Bug #11493] '''ICQ:''' Impossible to change value of &amp;quot;Allow other to view my status from the web&amp;quot; option&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by dushistov_ea'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9129&amp;amp;group_id=4482 Bug #9129] '''ICQ:''' Filetransfer is broken '''In progress by dirihle and noragen'''&lt;br /&gt;
* [http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12259&amp;amp;group_id=4482 Bug #12259] MSN, Yahoo and OSCAR plugin can't be used together. Non-IM-Contacts conflicting, too. We should at least warn a user when creating new connection. ==&amp;gt;fix Groupmanagement&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11669&amp;amp;group_id=4482  Bug #11669] Unable to connect password protected HTTPS Proxy&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by Alex Masterov'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10426&amp;amp;group_id=4482 Bug #10426] '''Jabber:''' Some messages is received twice.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by reklov'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;'''Jabber:''' Impossible to move some contacts from one group to another&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10994&amp;amp;group_id=4482 Bug #10994] Sim-IM loose configure files when disk is full&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Sim-IM loose configure files when pressing Cancel while changing profile&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt; &amp;lt;font color=red&amp;gt;&amp;lt;b&amp;gt;THIS HAS TO BE REVALIDATED DUE TO CHANGE OF LOGINDLG.CPP&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=11221&amp;amp;group_id=4482 Bug #11221] Send button for &amp;quot;Authorization request&amp;quot; is always disabled, when request is sending from message window menu.&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Noragen|Noragen]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
*[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12255&amp;amp;group_id=4482 Bug #12255] Update button in userinfo/settings window is not re-enabling after updating.&lt;br /&gt;
*&amp;lt;s&amp;gt;[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12313&amp;amp;group_id=4482 Bug #12313] ICQ: Messages does not arrive ICQ6-Users (but it seems to work with SIM 0.9.4.3/4 ? needs testing)&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by chehrlic (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
*[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12348&amp;amp;group_id=4482 Bug #12348] AIM: Messages does not arrive ICQ6-Users (but it seems to work with SIM 0.9.4.3/4 ? needs testing)&lt;br /&gt;
*[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14123&amp;amp;group_id=4482 Bug #14123] New profile -&amp;gt; contact Msg's are not displayed until self send, due to creation of history file&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=10530&amp;amp;group_id=4482 Bug #10530]'' '''ICQ:''' Impossible to send SMS&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9681&amp;amp;group_id=4482 Bug #9681]'' '''Jabber:''' Problems with bold and underlined text in messages from gaim/pidgin&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9051&amp;amp;group_id=4482 Bug #9051]'' '''ICQ:''' Jabber groups is created on ICQ server when using ICQ and Jabber together&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12257&amp;amp;group_id=4482 Bug #12257]'' '''Jabber:''' Sim-IM crashes when trying to send contact (Contact List menu option).&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Chehrlic|Chehrlic]] (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=6969&amp;amp;group_id=4482 Bug #6969]'' Yahoo search and add does not work.&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=9236&amp;amp;group_id=4482 Bug #9236]'' Online contacts shown as offline after period of time (OSCAR-Specs-Problem, only non-authorized contacts seems to be affected)&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed needs testing by chehrlic (Christian Ehrlicher)'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12314&amp;amp;group_id=4482 Bug #12314]'' ICQ: Change Passwords is not possible&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12316&amp;amp;group_id=4482 Bug #12316]'' Jabber: Change Passwords is not possible&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12319&amp;amp;group_id=4482 Bug #12319]'' Server-stored Non-IM contacts are afaik are not added to contactlist... (not processed?)&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=12320&amp;amp;group_id=4482 Bug #12320]'' Yahoo/MSN joined with ICQ contacts, cannot be put in visible/invisible list ==&amp;gt; crash&amp;lt;/s&amp;gt; &amp;lt;font color=green&amp;gt;'''fixed by [[User:Shaplov|Shaplov]]'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14122&amp;amp;group_id=4482 Bug #14122]'' new ICQ connection -&amp;gt; old account loose in/visible grouping&lt;br /&gt;
* &amp;lt;s&amp;gt;''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14121&amp;amp;group_id=4482 Bug #14121]'' moving User in another group looses auth-status&amp;lt;/s&amp;gt; &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'''fiexed by dirihle'''&amp;lt;/font&amp;gt;&lt;br /&gt;
* ''[http://developer.berlios.de/bugs/?func=detailbug&amp;amp;bug_id=14120&amp;amp;group_id=4482 Bug #14120]'' ICQ6-User is only after auth and sim-restart visible in SIM&lt;br /&gt;
&lt;br /&gt;
'''Legend: '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;'''Bug #XXXXX'''&amp;lt;/font&amp;gt; &amp;amp;mdash; Bugs/tasks that blocks release. Can't release without fixing them&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;Bug #XXXXX&amp;lt;/font&amp;gt; &amp;amp;mdash; Normal bugs/tasks. Should be fixed if there is no serious problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#3366BB&amp;gt;''Bug #XXXXX''&amp;lt;/font&amp;gt; &amp;amp;mdash; Optional bugs/tasks. We can release without fixing them, though would be good to fix them anyway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&amp;lt;font color=#3366BB&amp;gt;Bug #XXXXX&amp;lt;/font&amp;gt;&amp;lt;/s&amp;gt; &amp;amp;mdash; Fixed bug/finished task&lt;br /&gt;
&lt;br /&gt;
==Sim-IM 0.9.6==&lt;br /&gt;
&lt;br /&gt;
=== Semi-port to qt4 using qt3support===&lt;br /&gt;
&lt;br /&gt;
We should do (or at last try as much as possible) Sim-IM buildable both with qt3 and with qt4 (using qt3support). &lt;br /&gt;
&lt;br /&gt;
Qt3support is a library that provides backward compatibility classes that allows to build qt3 code with qt4, without great changes. Also it provides specific script that parses and the code and change qt3 staff with qt3support and qt4 staff. To build the code with both qt3 and qt4 we should make these changes revertable. Here are general types of changes made by qt3support script, and the ways this changes may be done revertable:&lt;br /&gt;
&lt;br /&gt;
====Usage of Compatibility Classes====&lt;br /&gt;
''' QXxxxxxx -&amp;gt; Q3Xxxxxxx''': Qt4 provides a number of [http://doc.trolltech.com/4.4/compatclasses.html Q3 Compatibility Classes] which differs from Qt3 ones just by adding &amp;quot;3&amp;quot; to the name of the classes. So thats what qt3support script does, just changes class names. To make code, changed in that way, buildable with qt3 we should rename these class names back to Qt3 notation. This can be done by simple &amp;lt;code&amp;gt;#define Q3PopupMenu QPopupMenu&amp;lt;/code&amp;gt; in qt3-specific .h file.&lt;br /&gt;
&lt;br /&gt;
==== Const's Namespace Changes  ====&lt;br /&gt;
'''WType_Popup -&amp;gt; Qt::WType_Popup'''. The second difference between Qt3 and Qt4's Qt3Support is changes of namespaces of different consts. All Qt3 consts are located in common namespace, and in Qt4 they were moved to different namespaces, mostly in Qt-namespace. So when qt3support parses code, it adds namespaces to conts's names. To make code buildable by both frameworks we should create Compatibility Consts, that will be  replaced by preprocessor to qt3 const or to qt4 before building the code. Just add &amp;lt;code&amp;gt;#define Q3WType_Popup WType_Popup&amp;lt;/code&amp;gt; into qt3-specific .h file and &amp;lt;code&amp;gt;#define Q3WType_Popup Qt::WType_Popup&amp;lt;/code&amp;gt; into qt4-specific .h file.&lt;br /&gt;
&lt;br /&gt;
==== Incompatibility in class names ====&lt;br /&gt;
'''QIconSet -&amp;gt; QIcon''' Names of some classes were changed, while moving from qt3 to qt4, though classes remans method-compatible. For example qt3support script changes class name QIconSet  into QIcon. Everything else remains the same. To make this code qt3 buildable we should create specific compatibility class-name ourself, Q3IconSet for example, which will be replaced by the real name required by each framework: &amp;lt;code&amp;gt;#define Q3IconSet QIconSet&amp;lt;/code&amp;gt; in qt3-specific .h file, and &amp;lt;code&amp;gt;#define Q3IconSet QIcon&amp;lt;/code&amp;gt; in qt4-specific .h file&lt;br /&gt;
&lt;br /&gt;
==== QString issues ====&lt;br /&gt;
'''QString::utf8''' is widely used in Sim-IM, and not recommended to use in qt4 as [http://doc.trolltech.com/4.4/threads.html#reentrant not reentant]. Qt4 recomeds to use QString::toUtf8 instead. But there is no such method in qt3. So we should create Compatibility class Q4String, witch will emulate toUtf8 method for qt3 builds, and use that method instead of utf8&lt;br /&gt;
&lt;br /&gt;
==== QCString issues ====&lt;br /&gt;
'''QCString''' has compatibility class  Q3CString in qt3support, but we should better not to use it at all. We should replace all QCStrings by QStrings and QByteArrays, depending on context.&lt;br /&gt;
&lt;br /&gt;
==== Other issues ====&lt;br /&gt;
'''All other''' issues can be bypassed by writing code twice, and enclose in &amp;lt;code&amp;gt;#ifdef QT3 ..... #else  ....  #endif&amp;lt;/code&amp;gt;. Hope there will be not too much code enclosed in such ifdef's&lt;br /&gt;
&lt;br /&gt;
=== Architecture  changes ===&lt;br /&gt;
&lt;br /&gt;
==== Get rid of static casts ====&lt;br /&gt;
We should remove all static casts between static structures and all void * function arguments.&lt;br /&gt;
&lt;br /&gt;
==== Step-by-step incoming/outgoing message processing ====&lt;br /&gt;
1. All messages should be sent and received only via event system. Procedure that sends message should know nothing about client that sends that message, only client's id.&lt;br /&gt;
&lt;br /&gt;
2. Handle message receiveing(sending) as multistep event. Each plugin will be able to bind to some step, do something (may be change some message properties), and then pass message through, hold it, or remove it. For example:&lt;br /&gt;
&lt;br /&gt;
 0. Jabber: Incomming message: start processing.&lt;br /&gt;
 1. Antispam: Known contact: pass&lt;br /&gt;
 2. History: Logs message into file: pass&lt;br /&gt;
 3. Soud: Says ku-ku: pass&lt;br /&gt;
 4. Contact list: Show blinking message: hold (till user says 'open')&lt;br /&gt;
 4.1. (User press 'open')&lt;br /&gt;
 5. Contaner: shows new message: pass&lt;br /&gt;
 6. (no other actions: finished)&lt;br /&gt;
&lt;br /&gt;
In this way user list for example should not know anything about container, it just passes message to the next element&lt;br /&gt;
of the queue, may be setting some flag, like &amp;quot;open in new container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In this way we can also write &amp;quot;robot&amp;quot; plugin that will bind between steps 2 and 3, and do something if this message.&lt;br /&gt;
belongs to him, fetch this message away and nobody will be bothered by ku-ku.&lt;br /&gt;
&lt;br /&gt;
And so on. (History plugin might be binded to all levels to mark changes of the state (for example that message were read)&lt;br /&gt;
in history file)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create TextMessage abstract class:&lt;br /&gt;
** This class should be inherited by protocol specific TextMessages classes&lt;br /&gt;
** All interaction with message: showing, creating new message to send, etc should be done via virtual functions of that class&lt;br /&gt;
** All plugins are able to get incoming message and do something with sending message (which are represented by this class), if they want to by using existing event system (so will need to add some events for it)&lt;br /&gt;
* After TextMessage class is implemented we will be able:&lt;br /&gt;
** Rewrite history plugin&lt;br /&gt;
** Create spam-filter plugin&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 0.9.7 and later ==&lt;br /&gt;
* Create Contat protocol independent generic class&lt;br /&gt;
* Create Group protocol independent generic class&lt;br /&gt;
* Create Protocol protocol independent generic class&lt;br /&gt;
* Create Profile abstract class&lt;br /&gt;
* Try to separate parsing code from UI-specific code&lt;br /&gt;
* Something else&lt;br /&gt;
&lt;br /&gt;
== Sim-IM 1.0==&lt;br /&gt;
*Port to QT4.x&lt;/div&gt;</summary>
		<author><name>Dirihle</name></author>
	</entry>
</feed>