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

List:       kde-commits
Subject:    KDE/kdebase/workspace/krunner
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2010-03-04 0:52:30
Message-ID: 1267663950.104984.22721.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1098641 by aseigo:

add an apply button


 M  +17 -12    configdialog.cpp  
 M  +5 -2      configdialog.h  


--- trunk/KDE/kdebase/workspace/krunner/configdialog.cpp #1098640:1098641
@@ -81,14 +81,14 @@
     QList<KPluginInfo> runnerInfo = KPluginInfo::fromServices(offers);
     m_sel->addPlugins(runnerInfo, KPluginSelector::ReadConfigFile, i18n("Available \
Features"), QString(), KSharedConfig::openConfig("krunnerrc"));  
-    QDialogButtonBox *buttons = new QDialogButtonBox(this);
-    buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
-    connect(buttons, SIGNAL(accepted()), this, SLOT(save()));
-    connect(buttons, SIGNAL(rejected()), this, SIGNAL(finished()));
+    m_buttons = new QDialogButtonBox(this);
+    m_buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Apply | \
QDialogButtonBox::Cancel); +    connect(m_buttons, SIGNAL(clicked(QAbstractButton*)), \
this, SLOT(save(QAbstractButton*))); +    connect(m_buttons, SIGNAL(rejected()), \
this, SIGNAL(finished()));  
     QVBoxLayout *topLayout = new QVBoxLayout(this);
     topLayout->addWidget(m_tabWidget);
-    topLayout->addWidget(buttons);
+    topLayout->addWidget(m_buttons);
 }
 
 KRunnerConfigWidget::~KRunnerConfigWidget()
@@ -139,14 +139,19 @@
     }
 }
 
-void KRunnerConfigWidget::save()
+void KRunnerConfigWidget::save(QAbstractButton *pushed)
 {
-    m_sel->save();
-    m_manager->reloadConfiguration();
-    KRunnerSettings::setInterface(m_interfaceType);
-    KRunnerSettings::setFreeFloating(m_uiOptions.freeFloatingButton->isChecked());
-    KRunnerSettings::self()->writeConfig();
-    emit finished();
+    if (m_buttons->buttonRole(pushed) == QDialogButtonBox::ApplyRole) {
+        m_sel->save();
+        m_manager->reloadConfiguration();
+        KRunnerSettings::setInterface(m_interfaceType);
+        KRunnerSettings::setFreeFloating(m_uiOptions.freeFloatingButton->isChecked());
 +        KRunnerSettings::self()->writeConfig();
+
+        if (m_buttons->standardButton(pushed) == QDialogButtonBox::Ok) {
+            emit finished();
+        }
+    }
 }
 
 #include "configdialog.moc"
--- trunk/KDE/kdebase/workspace/krunner/configdialog.h #1098640:1098641
@@ -20,16 +20,18 @@
 #ifndef KRUNNERCONFIG_H
 #define KRUNNERCONFIG_H
 
+
 #include <KTabWidget>
 
 #include "ui_interfaceOptions.h"
 
 class KRunnerDialog;
 
-class KPluginSelector;
 class QDialogButtonBox;
 class QTabWidget;
 
+class KPluginSelector;
+
 namespace Plasma {
     class RunnerManager;
 }
@@ -45,7 +47,7 @@
         void finished();
 
     private slots:
-        void save();
+        void save(QAbstractButton *pushed);
         void previewInterface();
         void setInterface(int type);
         void updateRunner(const QByteArray& runnerName);
@@ -58,6 +60,7 @@
         KRunnerDialog *m_preview;
         KPluginSelector *m_sel;
         KTabWidget *m_tabWidget;
+        QDialogButtonBox *m_buttons;
         Plasma::RunnerManager *m_manager;
         Ui::InterfaceOptions m_uiOptions;
 };


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

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