> To make clear why I need this for digital clock:
>
> In digital clock we use Plasma::DataEngine and connectSource(...) with
> interval 1sec or 60secs (depending on user's configuration).
> DataEngine calls dataUpdated(...) every that interval and inside this
> function we update displayed time in panel + displayed time in tooltip
> - even if it's not displayed (tooltip). That causes a lot of unneeded
> updates when tooltip is not visible.
>
> Problem will be even bigger when we introduce multizones support (I
> have patch 90% ready). For each timezone we will use single query and
> we will add response to tooltip. That will cause horribly big amount
> on unneeded operations.

Sorry if I say something stupid here but to solve this issue couldn't the tooltip just get updated before it is shown (updateToolTip), that is, retrieving the time from all the required timezones and then, for the seconds, get synced with the seconds info provided by the plasmoid itself (If I understood it right, via data Updated).

That way the "expensive" retrieval of data would be the same either the tooltip is shown or not.
Maybe is too hackish that way?