[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:05:34 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=f06c865

The following commit has been merged in the master branch:
commit f06c8656e909206a41122625e23cc9935b3ec573
Author: Rohan Garg <rohangarg at kubuntu.org>
Date:   Fri Sep 28 23:38:08 2012 +0530

    Add a way to reset the config to default settings
---
 KTp/Widgets/notificationconfigdialog.cpp | 50 +++++++++++++++++++++++++++++++-
 KTp/Widgets/notificationconfigdialog.h   |  3 ++
 2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/KTp/Widgets/notificationconfigdialog.cpp b/KTp/Widgets/notificationconfigdialog.cpp
index 46dc823..512a1db 100644
--- a/KTp/Widgets/notificationconfigdialog.cpp
+++ b/KTp/Widgets/notificationconfigdialog.cpp
@@ -23,12 +23,15 @@
 #include <QVBoxLayout>
 #include <QHBoxLayout>
 #include <QLabel>
+#include <QDBusInterface>
 
 #include <TelepathyQt/Contact>
 
 #include <KNotifyConfigWidget>
 #include <KComboBox>
 #include <KAboutData>
+#include <KConfig>
+#include <KSharedConfig>
 
 KTp::NotificationConfigDialog::NotificationConfigDialog(const Tp::ContactPtr &contact, QWidget *parent)
     : KDialog(parent)
@@ -36,9 +39,11 @@ KTp::NotificationConfigDialog::NotificationConfigDialog(const Tp::ContactPtr &co
 {
     Q_ASSERT(contact);
     m_contact = contact;
+    m_currentSelection = 0;
     setCaption(i18n("Configure notifications for %1", m_contact.data()->alias()));
     setAttribute(Qt::WA_DeleteOnClose);
-    setButtons(KDialog::Apply | KDialog::Cancel);
+    setButtons(KDialog::Apply | KDialog::Cancel | KDialog::Default );
+    enableApply(false);
 
     QWidget *centralWidget = new QWidget(this);
     QVBoxLayout *vboxLayout = new QVBoxLayout(centralWidget);
@@ -64,6 +69,10 @@ KTp::NotificationConfigDialog::NotificationConfigDialog(const Tp::ContactPtr &co
             SLOT(saveConfig()));
     connect(comboBox, SIGNAL(currentIndexChanged(int)),
             SLOT(updateNotifyWidget(int)));
+    connect(this, SIGNAL(defaultClicked()),
+            SLOT(defaults()));
+    connect(m_notifyWidget, SIGNAL(changed(bool)),
+            SLOT(enableApply(bool)));
 }
 
 KTp::NotificationConfigDialog::~NotificationConfigDialog()
@@ -86,6 +95,8 @@ void KTp::NotificationConfigDialog::updateNotifyWidget(int selection)
         m_notifyWidget->setApplication(QLatin1String("ktelepathy"));
         setCaption(i18n("Configure notifications for all users"));
     }
+
+    m_currentSelection = selection;
 }
 
 void KTp::NotificationConfigDialog::show()
@@ -93,3 +104,40 @@ void KTp::NotificationConfigDialog::show()
     m_notifyWidget->show();
     setVisible(true);
 }
+
+void KTp::NotificationConfigDialog::defaults()
+{
+    KSharedConfigPtr config = KSharedConfig::openConfig(QLatin1String("ktelepathy.notifyrc"));
+    KConfigGroup *configGroup;
+
+    if (m_currentSelection == 0) {
+        Q_FOREACH(const QString &group, config->groupList()) {
+            if (group.endsWith(m_contact.data()->id())) {
+                configGroup = new KConfigGroup(config, group);
+                configGroup->deleteGroup();
+                delete configGroup;
+            }
+        }
+    } else if (m_currentSelection == 1) {
+        Q_FOREACH(const QString &group, config->groupList()) {
+            if (group.startsWith(QLatin1String("Event"))) {
+                configGroup = new KConfigGroup(config, group);
+                configGroup->deleteGroup();
+                delete configGroup;
+            }
+        }
+    }
+    config->sync();
+    //ask the notify daemon to reload the config
+    if (QDBusConnection::sessionBus().interface()->isServiceRegistered(QLatin1String("org.kde.knotify")))
+    {
+        QDBusInterface( QLatin1String("org.kde.knotify"), QLatin1String("/Notify"),
+                        QLatin1String("org.kde.KNotify")).call( QLatin1String("reconfigure" ));
+    }
+    updateNotifyWidget(m_currentSelection);
+}
+
+void KTp::NotificationConfigDialog::enableApply(bool state)
+{
+        enableButtonApply(state);
+}
diff --git a/KTp/Widgets/notificationconfigdialog.h b/KTp/Widgets/notificationconfigdialog.h
index bd3dd5e..0c7fe34 100644
--- a/KTp/Widgets/notificationconfigdialog.h
+++ b/KTp/Widgets/notificationconfigdialog.h
@@ -40,9 +40,12 @@ public:
 private:
     KNotifyConfigWidget *m_notifyWidget;
     Tp::ContactPtr m_contact;
+    int m_currentSelection;
 private Q_SLOTS:
     void saveConfig();
     void updateNotifyWidget(int);
+    void defaults();
+    void enableApply(bool);
 };
 
 }

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list