[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