2010/3/13 Benoit Jacob <jacob.benoi...@gmail.com>: > 2010/3/13 Benoit Jacob <jacob.benoi...@gmail.com>: >> 2010/3/13 Marco Martin <notm...@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@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