diff --git a/libnotificationmanager/CMakeLists.txt b/libnotificationmanager/CMakeLists.txt --- a/libnotificationmanager/CMakeLists.txt +++ b/libnotificationmanager/CMakeLists.txt @@ -38,10 +38,10 @@ install(FILES libnotificationmanager.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) # Settings -kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/donotdisturbsettings.kcfgc) -kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/notificationsettings.kcfgc) -kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/jobsettings.kcfgc) -kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/badgesettings.kcfgc) +kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/donotdisturbsettings.kcfgc GENERATE_MOC) +kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/notificationsettings.kcfgc GENERATE_MOC) +kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/jobsettings.kcfgc GENERATE_MOC) +kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/badgesettings.kcfgc GENERATE_MOC) # DBus # Notifications diff --git a/libnotificationmanager/kcfg/badgesettings.kcfgc b/libnotificationmanager/kcfg/badgesettings.kcfgc --- a/libnotificationmanager/kcfg/badgesettings.kcfgc +++ b/libnotificationmanager/kcfg/badgesettings.kcfgc @@ -5,3 +5,4 @@ Mutators=true DefaultValueGetters=true Notifiers=true +GenerateProperties=true diff --git a/libnotificationmanager/kcfg/donotdisturbsettings.kcfgc b/libnotificationmanager/kcfg/donotdisturbsettings.kcfgc --- a/libnotificationmanager/kcfg/donotdisturbsettings.kcfgc +++ b/libnotificationmanager/kcfg/donotdisturbsettings.kcfgc @@ -5,3 +5,4 @@ Mutators=true DefaultValueGetters=true Notifiers=true +GenerateProperties=true diff --git a/libnotificationmanager/kcfg/jobsettings.kcfgc b/libnotificationmanager/kcfg/jobsettings.kcfgc --- a/libnotificationmanager/kcfg/jobsettings.kcfgc +++ b/libnotificationmanager/kcfg/jobsettings.kcfgc @@ -5,3 +5,4 @@ Mutators=true DefaultValueGetters=true Notifiers=true +GenerateProperties=true diff --git a/libnotificationmanager/kcfg/notificationsettings.kcfgc b/libnotificationmanager/kcfg/notificationsettings.kcfgc --- a/libnotificationmanager/kcfg/notificationsettings.kcfgc +++ b/libnotificationmanager/kcfg/notificationsettings.kcfgc @@ -5,6 +5,7 @@ Mutators=true DefaultValueGetters=true Notifiers=true +GenerateProperties=true # For Settings::PopupPosition IncludeFiles=\"settings.h\" UseEnumTypes=true diff --git a/libnotificationmanager/settings.h b/libnotificationmanager/settings.h --- a/libnotificationmanager/settings.h +++ b/libnotificationmanager/settings.h @@ -30,6 +30,8 @@ #include "notificationmanager_export.h" +class KCoreConfigSkeleton; + namespace NotificationManager { @@ -338,6 +340,8 @@ */ Q_INVOKABLE void revokeApplicationInhibitions(); + QList configSkeletons() const; + signals: void settingsChanged(); diff --git a/libnotificationmanager/settings.cpp b/libnotificationmanager/settings.cpp --- a/libnotificationmanager/settings.cpp +++ b/libnotificationmanager/settings.cpp @@ -285,6 +285,8 @@ NotificationSettings::self()->setDefaults(); JobSettings::self()->setDefaults(); BadgeSettings::self()->setDefaults(); + emit settingsChanged(); + d->setDirty(false); } bool Settings::live() const @@ -602,6 +604,14 @@ Server::self().clearInhibitions(); } +QList Settings::configSkeletons() const +{ + return QList() << DoNotDisturbSettings::self() + << NotificationSettings::self() + << JobSettings::self() + << BadgeSettings::self(); +} + bool Settings::notificationSoundsInhibited() const { return DoNotDisturbSettings::notificationSoundsMuted();