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