Thanks to Ossi on IRC, this is now fixed. Benoit
2010/3/13 Benoit Jacob <jacob.benoi...@gmail.com>: > ok, finally a hopefully not too stupid question. > > Here's my code: > > void Mandelbrot::exportConfig() > { > KUrl url = KFileDialog::getSaveUrl( > KUrl(), > "*.txt|Text files", > 0, > i18n("Save File"), > KFileDialog::ConfirmOverwrite > ); > KConfig config(url.fileName()); > KConfigGroup configgroup(&config, "Mandelbrot"); > save(configgroup); > configgroup.config()->sync(); > } > > Problem: it doesn't actually write the file. Why? > > (The file dialog runs well, but the file isn't actually getting > created, and if i create it beforehand, it doesn't get written). > > I had tried following this: > http://techbase.kde.org/index.php?title=Development/Tutorials/KConfig#Writing_Entries > > Benoit > > 2010/3/13 Benoit Jacob <jacob.benoi...@gmail.com>: >> 2010/3/13 Benoit Jacob <jacob.benoi...@gmail.com>: >>> 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. >> >> Oops. >> >> It _is_ const qualified :) >> >> Sorry, I'm really tired !! >> >> Benoit >> >>> >>> 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