knotify: implement save and load for the KCM

now to implemented KNotificationConfigWidget..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-08-25 19:40:09 +03:00
parent 48c9f4c366
commit a011628b2a
2 changed files with 22 additions and 10 deletions

View file

@ -31,6 +31,8 @@
K_PLUGIN_FACTORY(KCMNotificationFactory, registerPlugin<KCMNotification>();) K_PLUGIN_FACTORY(KCMNotificationFactory, registerPlugin<KCMNotification>();)
K_EXPORT_PLUGIN(KCMNotificationFactory("kcmknotificationconfig", "kcm_knotificationconfig")) K_EXPORT_PLUGIN(KCMNotificationFactory("kcmknotificationconfig", "kcm_knotificationconfig"))
static const QString s_kdenotification = QString::fromLatin1("kde");
KCMNotification::KCMNotification(QWidget *parent, const QVariantList &args) KCMNotification::KCMNotification(QWidget *parent, const QVariantList &args)
: KCModule(KCMNotificationFactory::componentData(), parent), : KCModule(KCMNotificationFactory::componentData(), parent),
m_layout(nullptr), m_layout(nullptr),
@ -40,11 +42,11 @@ KCMNotification::KCMNotification(QWidget *parent, const QVariantList &args)
{ {
Q_UNUSED(args); Q_UNUSED(args);
setButtons(KCModule::Default | KCModule::Apply); setButtons(KCModule::Apply);
setQuickHelp(i18n("<h1>Notifications Configuration</h1> This module allows you to change KDE notification options.")); setQuickHelp(i18n("<h1>Notifications Configuration</h1> This module allows you to change KDE notification options."));
KAboutData *about = new KAboutData( KAboutData *about = new KAboutData(
I18N_NOOP("kcmkgreeter"), 0, I18N_NOOP("kcmknotificationconfig"), 0,
ki18n("KDE Notifications Configuration Module"), ki18n("KDE Notifications Configuration Module"),
0, KLocalizedString(), KAboutData::License_GPL, 0, KLocalizedString(), KAboutData::License_GPL,
ki18n("Copyright 2023, Ivailo Monev <email>xakepa10@gmail.com</email>") ki18n("Copyright 2023, Ivailo Monev <email>xakepa10@gmail.com</email>")
@ -75,9 +77,11 @@ KCMNotification::KCMNotification(QWidget *parent, const QVariantList &args)
} }
} }
m_notificationsbox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_notificationsbox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
connect(m_notificationsbox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSourceIndexChanged(int)));
m_layout->addWidget(m_notificationsbox, 0, 1); m_layout->addWidget(m_notificationsbox, 0, 1);
m_notificationswidget = new KNotificationConfigWidget(QString(), this); m_notificationswidget = new KNotificationConfigWidget(s_kdenotification, this);
connect(m_notificationswidget, SIGNAL(changed(bool)), this, SLOT(slotNotificationChanged(bool)));
m_layout->addWidget(m_notificationswidget, 1, 0, 1, 2); m_layout->addWidget(m_notificationswidget, 1, 0, 1, 2);
} }
@ -87,20 +91,25 @@ KCMNotification::~KCMNotification()
void KCMNotification::load() void KCMNotification::load()
{ {
// TODO: m_notificationswidget->setNotification(s_kdenotification);
emit changed(false); emit changed(false);
} }
void KCMNotification::save() void KCMNotification::save()
{ {
// TODO: m_notificationswidget->save();
emit changed(false); emit changed(false);
} }
void KCMNotification::defaults() void KCMNotification::slotSourceIndexChanged(int index)
{ {
// TODO: const QString notification = m_notificationsbox->itemData(index).toString();
emit changed(true); m_notificationswidget->setNotification(notification);
}
void KCMNotification::slotNotificationChanged(bool state)
{
emit changed(state);
} }
#include "moc_knotificationconfig.cpp" #include "moc_knotificationconfig.cpp"

View file

@ -26,7 +26,7 @@
#include <knotificationconfigwidget.h> #include <knotificationconfigwidget.h>
/** /**
* Control KDE free space notifier * Control KDE notifications
* *
* @author Ivailo Monev (xakepa10@gmail.com) * @author Ivailo Monev (xakepa10@gmail.com)
*/ */
@ -41,7 +41,10 @@ public:
public Q_SLOTS: public Q_SLOTS:
void load() final; void load() final;
void save() final; void save() final;
void defaults() final;
private Q_SLOTS:
void slotSourceIndexChanged(int index);
void slotNotificationChanged(bool state);
private: private:
QGridLayout* m_layout; QGridLayout* m_layout;