Message: previous - next
Month: April 2012

Re: [trinity-devel] TQt Rationale

From: Aleksey Midenkov <midenok@...>
Date: Tue, 17 Apr 2012 21:01:20 +0400
On Tue, Apr 17, 2012 at 5:36 PM, Calvin Morrison <mutantturkey@...> wrote:
> On 17 April 2012 04:19, Aleksey Midenkov <midenok@...> wrote:
>> On Tue, Apr 17, 2012 at 8:35 AM, Timothy Pearson
>> <kb9vqf@...> wrote:
>>> All,
>>> I have written a brief draft document with some of the rationale behind
>>> the TQt interface layer and the TQt conversion on the Wiki here:
>>> Thank you to all who have (gently) reminded many times to get some kind of
>>> rationale written up.  The current document is not complete, and I welcome
>>> questions and corrections on the provided Etherpad so that I may address
>>> all concerns from the developers here on this matter.
>>> If this works out, and I think it will, we will have features that no
>>> other KDE 3.5.10 fork can ever attain.  Please keep this in mind before
>>> ripping into the implementation details; I took a significant risk in
>>> doing this and I am already seeing benefits in the existence of a viable
>>> TDE Qt4 theme engine alone--who knows what will happen now that Webkit and
>>> other libraries are suddenly available for use in TDE!
>> But there is an alternative exists that seem to be better in following aspects:
>> 1. Proxying is limited to only Qt4. TQt proxies both Qt3 and Qt4. This
>> minimizes performance overhead and leaves less space for unforeseen
>> problems.
>> 2. Narrower API that require intrusion. This means much less man work.
>> 3. Gradual switch from Qt3 to Qt4. When have more Qt4 objects than
>> Qt3. Proxying may be switched to Qt3 and Qt4 will be called direct.
>> 4. Transparency. Leaves original code intact. As in p.2 this saves
>> much of man work. Less bugs. Programmers are happy to see familiar
>> code. Less keyboard presses. Electricity save. Shorter lines.  Eye
>> exertion save. Time save. Whatever. :)
> I would like to see an example of this that works before even
> considering it. many things are great in theory and fail miserably in
> reality.

There are working examples in bug 900. Please look at
lib_vinegret.tar.gz (C example) and qt_vinaigrette.tar.gz (C++ Qt3 and
Qt4 example).