[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    [Panel-devel] engines, applets and timing
From:       "Aaron J. Seigo" <aseigo () kde ! org>
Date:       2007-09-12 18:10:23
Message-ID: 200709121210.23575.aseigo () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


hey all

so things seem to be working with the new multiple-timing thing in engines. if 
your applet doesn't care so much about when it gets updates or your engine 
doesn't care about having to deal with such things either, then this is not 
interesting to you ;)

to everyone else:

we now the ability to connect visualizations to datasources based on a timing, 
e.g. "every 60ms" or whatever. the times are normalized and everything is 
handled behind the scenes.

the big change in engines is that instead of doing their own timers, they 
should be using setUpdateInterval(uint).

additionally, engines should implement updateSource(const QString& source) if 
they have sources which need to be updated every so often (versus sources 
which respond to external events and so have no need to poll). the purpose of 
that method is probably fairly self-explanatory, and it allows the 
multiple-timing magic to happen with proper values.

setMinimumUpdateFrequency is also interesting as it allows engines to set 
lower limits on updates.

visualizations can also ask for updates to be aligned to the minute or hour 
(we can add other alignments as desired), which is obviously pretty important 
for things like clocks ;)

there are probably some gotchas here and there left in the code; hopefully we 
can shake them out as we go. but right now things seem to work; e.g. clocks 
now behave as expected, sharing the time engine like nice little boys and 
girls.

is there anyone interested in going through the existing engines and making 
the necessary changes? those would be: getting rid of engine-global update 
timers and implementing updateSource(const QString&) where appropriate.

-- 
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 Trolltech

[Attachment #5 (application/pgp-signature)]

_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic