[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.3/kdelibs/plasma
From:       Richard Dale <Richard_Dale () tipitina ! demon ! co ! uk>
Date:       2009-08-20 18:20:31
Message-ID: 1250792431.600078.4739.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1013766 by rdale:

* Add a Plasma::AppletScript::addStandardConfigurationPages() method that adds
standard pages to a configuration dialog such as the shortcuts one. In
conjunction with standardConfigurationDialog() this will allow script engines
to use the same dialogs as C++ applets



 M  +9 -9      applet.cpp  
 M  +9 -0      scripting/appletscript.cpp  
 M  +6 -0      scripting/appletscript.h  


--- branches/KDE/4.3/kdelibs/plasma/applet.cpp #1013765:1013766
@@ -1584,13 +1584,14 @@
         }
 
         d->addGlobalShortcutsPage(dialog);
-        connect(dialog, SIGNAL(applyClicked()), this, SLOT(configDialogFinished()));
-        connect(dialog, SIGNAL(okClicked()), this, SLOT(configDialogFinished()));
         dialog->show();
     } else if (d->script) {
         d->script->showConfigurationInterface();
     } else {
-        d->generateGenericConfigDialog()->show();
+        KConfigDialog *dialog = d->generateGenericConfigDialog();
+        createConfigurationInterface(dialog);
+        d->addGlobalShortcutsPage(dialog);
+        dialog->show();
     }
 
     emit releaseVisualFocus();
@@ -1640,12 +1641,6 @@
     dialog->setFaceType(KPageDialog::Auto);
     dialog->setWindowTitle(configWindowTitle());
     dialog->setAttribute(Qt::WA_DeleteOnClose, true);
-    q->createConfigurationInterface(dialog);
-    addGlobalShortcutsPage(dialog);
-    //TODO: Apply button does not correctly work for now, so do not show it
-    dialog->showButton(KDialog::Apply, false);
-    QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()));
-    QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()));
     QObject::connect(dialog, SIGNAL(finished()), nullManager, SLOT(deleteLater()));
     return dialog;
 }
@@ -1668,6 +1663,11 @@
     layout->addWidget(shortcutEditor);
     layout->addStretch();
     dialog->addPage(page, i18n("Keyboard Shortcut"), "preferences-desktop-keyboard");
+
+    //TODO: Apply button does not correctly work for now, so do not show it
+    dialog->showButton(KDialog::Apply, false);
+    QObject::connect(dialog, SIGNAL(applyClicked()), q, SLOT(configDialogFinished()));
+    QObject::connect(dialog, SIGNAL(okClicked()), q, SLOT(configDialogFinished()));
 }
 
 void AppletPrivate::clearShortcutEditorPtr()
--- branches/KDE/4.3/kdelibs/plasma/scripting/appletscript.cpp #1013765:1013766
@@ -140,6 +140,15 @@
     return 0;
 }
 
+void AppletScript::addStandardConfigurationPages(KConfigDialog *dialog)
+{
+    if (applet()) {
+        return applet()->d->addGlobalShortcutsPage(dialog);
+    }
+
+    return;
+}
+
 void AppletScript::configChanged()
 {
 }
--- branches/KDE/4.3/kdelibs/plasma/scripting/appletscript.h #1013765:1013766
@@ -180,6 +180,12 @@
      */
     KConfigDialog *standardConfigurationDialog();
 
+    /**
+     * This method should be called after a scripting applet has added
+     * its own pages to a configuration dialog
+     */
+    void addStandardConfigurationPages(KConfigDialog *dialog);
+
 private:
     AppletScriptPrivate *const d;
 };
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic