exporting/importing config keys? plus: Mandelbrot news
Benoit Jacob
jacob.benoit.1 at gmail.com
Sat Mar 13 19:15:28 CET 2010
2010/3/13 Benoit Jacob <jacob.benoit.1 at gmail.com>:
> 2010/3/13 Benoit Jacob <jacob.benoit.1 at gmail.com>:
>> 2010/3/13 Marco Martin <notmart at gmail.com>:
>>> On Saturday 13 March 2010, Benoit Jacob wrote:
>>>> Hi,
>>>>
>>>> I've just made a bunch of Mandelbrot improvements in trunk, plus 1
>>>> bugfix backported to 4.4, see below.
>>>
>>> great :)
>>>
>>>> I would like to honor this feature request:
>>>> http://forum.kde.org/brainstorm.php#idea55395_page1
>>>>
>>>> Basically I want to create a right-click desktop menu entry that
>>>> allows to export/import Mandelbrot's configuration to/from a file.
>>>>
>>>> Does KDE's config system allow that right away? Or should I code my
>>>> own file I/O?
>>>>
>>> create a new kconfig on a new file, a kconfiggroup on it, then write all your
>>> config entries copied from the main kconfiggroup
>>>
>>>> Also, any example code for adding a right-click menu to a plasma wallpaper?
>>> QList<QAction*> Wallpaper::contextualActions()
>>
>> I tried that but can't get it to work: it compiles, but the actions
>> don't show up in the right click menu.
>>
>> Here's what I did. In my Mandelbrot (inheriting Wallpaper) class I
>> have new members,
>>
>> QAction m_exportImageAction;
>> QAction m_exportConfigAction;
>> QAction m_importConfigAction;
>>
>> Then they are initialized in the initialization list of my Mandelbrot
>> constructor:
>>
>> Mandelbrot::Mandelbrot(QObject *parent, const QVariantList &args)
>> : Plasma::Wallpaper(parent, args), m_image(0), m_tiling(this),
>> m_exportImageAction(i18n("Export image..."), 0),
>> m_exportConfigAction(i18n("Export parameters..."), 0),
>> m_importConfigAction(i18n("Import parameters..."), 0),
>
> I also tried passing 'this' instead of '0' for the 'parent' argument
> here, no difference...
>
>>
>> Then, in the body of that constructor, I do:
>>
>> contextualActions().append(&m_exportImageAction);
>> contextualActions().append(&m_exportConfigAction);
>> contextualActions().append(&m_importConfigAction);
>>
>> connect(&m_exportImageAction, SIGNAL(triggered()), this,
>> SLOT(exportImage()));
>> connect(&m_exportConfigAction, SIGNAL(triggered()), this,
>> SLOT(exportConfig()));
>> connect(&m_importConfigAction, SIGNAL(triggered()), this,
>> SLOT(importConfig()));
>>
>> What am I doing wrong?
Found it --- contextualActions(), despite _not_ being const-qualified,
is returning a list _by value_. Since I didn't see a const-qualifier,
my brain just assumed it would return a reference.
Looks like I have to use setContextualActions.
Benoit
>>
>> Thanks
>> Benoit
>>
>>>
>>> (wouldn't make more sense putting it into the config dialog anyways?)
>>>
>>> Cheers,
>>> Marco Martin
>>> _______________________________________________
>>> Plasma-devel mailing list
>>> Plasma-devel at kde.org
>>> https://mail.kde.org/mailman/listinfo/plasma-devel
>>>
>>
>
More information about the Plasma-devel
mailing list