diff --git a/private/packages.cpp b/private/packages.cpp index 1592c2fc1..7027ab077 100644 --- a/private/packages.cpp +++ b/private/packages.cpp @@ -79,12 +79,14 @@ void PlasmoidPackage::pathChanged() void PlasmoidPackage::createNewWidgetBrowser(QWidget *parent) { - KNS::Engine engine(0); - if (engine.init("plasmoids.knsrc")) { - //FIXME: this should not be modal, but requires fixes in knewstuff2 first - KNS::Entry::List entries = engine.downloadDialogModal(parent); + KNS::Engine *engine = new KNS::Engine(parent); + if (engine->init("plasmoids.knsrc")) { + engine->downloadDialog(this, SLOT(widgetBrowserFinished())); } +} +void PlasmoidPackage::widgetBrowserFinished() +{ emit newWidgetBrowserFinished(); } diff --git a/private/packages_p.h b/private/packages_p.h index 547ddf6d4..7e00f91bb 100644 --- a/private/packages_p.h +++ b/private/packages_p.h @@ -38,6 +38,9 @@ public: protected: void pathChanged(); + +protected Q_SLOTS: + void widgetBrowserFinished(); }; class ThemePackage : public PackageStructure