[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Querying the dict dataengine
From: alan moore <me () alandmoore ! com>
Date: 2009-08-18 3:10:23
Message-ID: 4A8A1B9F.2050900 () alandmoore ! com
[Download RAW message or body]
Aaron J. Seigo wrote:
> On Saturday 15 August 2009, alan moore wrote:
>> Hello; I am working on my first plasmoid (in Python), so apologies in
>> advance if I'm a blockhead.
>>
>> I'm trying to remake the old kicker dictionary applet. I have code that
>> works by calling the "dict" CLI command, but naturally I want to switch
>> that to working with a data engine. I'm a bit hazy on how to
>> communicate with the dict dataEngine and get what I want from it;
>> specifically:
>>
>> - How do I tell it what server/dictionary to use? I saw there is a
>> setServer() function in the code, but it's private.
>
> i don't believe there is a way to do this currently. it could be done in a few
> ways:
>
> * the source name could be the server, though that's not backwards compatible
>
> * there could be a serviceForSource that returns a service that lets one
> define what the server(s) to use for that word should be.
>
> the latter is probably the way to go. it requires a bit of work to the dict
> dataengine in kdebase, but wouldn't be too difficult. other engines implement
> serviceForSource as well, so examples abound :)
Thanks, I'll look at it; though I wouldn't recommend anyone hold their
breath waiting for me to produce working c++ code.
>
>> I also tried using connectSource(), then assigning mydef in dataUpdated.
>> I noticed in that case that I first got an empty dictionary, then a
>> few moments later the actual data I was looking for.
>
> that's correct; the process is asynchronous so it will update later. there is
> no way around that unless we make the entire internet synchronous ;)
>
The delay wasn't really the problem, but rather the initial bogus
output. I guess I'm thinking of this like a database query -- ask a
question, wait a bit, get an answer. I can see how connectSource()
makes sense in a situation where you have a constant stream of data you
want to tap into and pipe out to a widget, but is there not a mechanism
for simply doing a one-off query? I thought that's what the query()
method was for, but that wasn't working out either.
Am I thinking about this all wrong?
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic