I'm writing a plasmoid to control redshift. Redshift is a program that change the colour temperature of the monitor.
Here you can find the current plasmoid I wrote: http://kde-apps.org/content/show.php/Redshift+plasmoid?content=148737 The current plasmoid span a redshift process from inside of it, so if I create two plasmoids they span two different process that create problems each other. What I want is create a plasmoid that can control this process through a dataengine, in such a way there is only one process running, controlled by multiple plasmoids. When the user click on the plasmoid it should be able to start and pause the process. So I need to create a service that perform the start/stop operations on the process. If the configuration is changed the process needs to be restarted. So I have to think about the correct way to connect the config changed event to the restart operation. I hope I've been clear enough. 2012/2/22 Weng Xuetian <wen...@gmail.com>: > 在 2012年2月22日 星期三 10:45:13,Simone Gaiarin 写道: >> Thank you. The problem was that I didn't run the plasmoid on the same >> process. >> >> What can be the best way to store a KProcess to the dataengine? >> Idea 1: >> Subclass the DataContainer class and store the KProcess in that class, >> like the Executable dataEngine does. When the source is requested i >> use addSource(). >> Idea 2: >> Store the Kprocess as a private member of the dataengine. >> >> When I ask for the Service, which is the best way to act on the KProcess? >> Can I create a method to get the KProcess from the datacontainer? Or >> this will break the semantic of the datacontainer, that is supposed to >> just listen to signal updateRequested(). >> >> Example: >> >> serviceForSource(const QString &source) >> { >> container = query(source); >> pointerToProcess = container.getPointerToProcess(); >> return new MyService(pointerToProcess,source); >> } >> >> The service will implement the operation "start" and "stop" that let >> to pause and resume the process. >> > I think you can put KProcess in the dataengine as private member, and operate > it only with dataengine service, not to direct get the pointer. > > What's your requirement by the way? I think there might be better solution for > your idea. > _______________________________________________ > Plasma-devel mailing list > Plasma-devel@kde.org > https://mail.kde.org/mailman/listinfo/plasma-devel > _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel