tasks widget hacking

Christian Mollekopf chrigi_1 at fastmail.fm
Tue Dec 2 14:32:45 CET 2008


Am 02.12.2008, 13:54 Uhr, schrieb Marco Martin <notmart at gmail.com>:

> On Tuesday 02 December 2008, Alexis Ménard wrote:
>> On Tue, Dec 2, 2008 at 12:02 PM, Christian Mollekopf
>>
>> <chrigi_1 at fastmail.fm>wrote:
>> > Am 02.12.2008, 11:43 Uhr, schrieb Marco Martin <notmart at gmail.com>:
>> > > On Tuesday 02 December 2008, Alexis Ménard wrote:
>> > >> And the layout is recreated again and again, i am sure we can find  
>> a
>> > >> solution for that.
>> > >
>> > > time ago i tried to remove that thing, it resulted in empty holes  
>> still
>> > > sized
>> > > as there were items in it, so then tried with a simple qt program  
>> and
>> > > the problem wasn't there, so it must be a problem somewhere in
>> > > layoutwidget.cpp,
>> > > but it's pretty complex, really wasn't able to track it down
>> >
>> > Since i did most of this stuff i should attend the meeting as well =)
>> > Good for me is between 20.00- 24.00 GMT+1, today for instance would be
>> > good.
>> >
>> > The layout recreation is a workaround since the QGraphicsGridLayout
>> > doesn't remove the items properly.
>> > I think Aaron and Marco agreed on this workaround an we will have to  
>> keep
>> > it that way until it's fixed in QT.
>>
>> If the problem is in Qt then i will fix it, it's my job. And removing  
>> items
>> should work and must work...
>> I have already used QGraphicsGridLayout and it should work as far as i  
>> know
>> and the last time i used it.
>> Anyway if the bug exist why don't you write to the support of Qt  
>> Software
>> about that?
>> I have actually screen all QGraphicsLayout tasks and there are no such  
>> of
>> things. So the bug will never be fixed if it exist.
>
> i was pretty convinced it was a qt bug too, but when i tried the attached
> program it worked as expected, so it mst be something in layoutwidget.
> the very odd thing is that at the time i tried to put a loop that  
> manually
> removed all the items from the layout util it was empty before the
> relayouting, and the problem was still here
> sooo i really have no idea on what could be O.o

Initially i had a while loop to remove all items when a new item was added  
or removed.
This didn't work so i asked on the ML and was told that the  
QGraphicsGridLayout is quite buggy and i thought it was a well known  
problem.
Therefore i decided to recreate the layout every time.
But yeah, i should have reported this to Qt.

The workaround can be found in commit 874972
http://websvn.kde.org/trunk/KDE/kdebase/workspace/plasma/applets/tasks/layoutwidget.cpp?r1=874907&r2=874972

Regards

>
>
>> Anyway i will take a look at it...
>>
>> > Regards,
>> >
>> > Christian
>> >
>> > >> 2008/12/2 Aaron J. Seigo <aseigo at kde.org>
>> > >>
>> > >> > hi...
>> > >> >
>> > >> > i'd like to have a tasks widget hacking day.
>> > >> >
>> > >> > the reason for this i that the code is something of a mess
>> > >> > internally
>> > >>
>> > >> and
>> > >>
>> > >> > imho
>> > >> > it's unmaintainable in its current state. i say this because
>> > >> > changing little
>> > >> > things in one place often create rather unexpected results;  
>> there's
>> > >> > a good amount of unreachable code; there's what looks to be some
>> > >> > pretty obvious memory leaks (e.g. Tasks::m_groupTaskItems never
>> > >> > seems to have items removed
>> > >> > from it!); Tasks does bookkeeping, but for only some things, and
>> > >> > this bookkeeping is controlled from Tasks, LayoutWidget *and*
>> > >>
>> > >> TaskGroupItem!
>> > >>
>> > >> > there are bugs that sometimes results in "holes" showing up in  
>> the
>> > >> > layout, grouping not working reliably on start up and more.
>> > >> >
>> > >> > if we ship with it like this, we will hate ourselves later.
>> > >> >
>> > >> > unfortunately, i'm not particularly sure what all the reasons and
>> > >> > rationals are for some of the code decisions.
>> > >> >
>> > >> > so if you have been working on the tasks widget in the last  
>> month or
>> > >>
>> > >> two,
>> > >>
>> > >> > please respond in this thread with when would be a good time and  
>> day
>> > >>
>> > >> for
>> > >>
>> > >> > you
>> > >> > so we can get together on irc and sort this thing out. =)
>> > >> >
>> > >> > --
>> > >> > Aaron J. Seigo
>> > >> > humru othro a kohnu se
>> > >> > GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1  
>> DB43
>> > >> >
>> > >> > KDE core developer sponsored by Qt Software
>> > >> >
>> > >> >
>> > >> > _______________________________________________
>> > >> > Plasma-devel mailing list
>> > >> > Plasma-devel at kde.org
>> > >> > https://mail.kde.org/mailman/listinfo/plasma-devel
>> > >
>> > > _______________________________________________
>> > > Plasma-devel mailing list
>> > > Plasma-devel at kde.org
>> > > https://mail.kde.org/mailman/listinfo/plasma-devel
>> >
>> > --
>> > Erstellt mit Operas revolutionärem E-Mail-Modul:
>> > http://www.opera.com/mail/
>> > _______________________________________________
>> > Plasma-devel mailing list
>> > Plasma-devel at kde.org
>> > https://mail.kde.org/mailman/listinfo/plasma-devel
>
>



-- 
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/


More information about the Plasma-devel mailing list