diff --git a/src/declarativeimports/core/units.cpp b/src/declarativeimports/core/units.cpp index ba065539a..43533dfc5 100644 --- a/src/declarativeimports/core/units.cpp +++ b/src/declarativeimports/core/units.cpp @@ -1,6 +1,7 @@ /*************************************************************************** * Copyright 2013 Marco Martin * * Copyright 2014 Sebastian Kügler * + * Copyright 2014 David Edmundson * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -59,8 +60,8 @@ Units::Units(QObject *parent) connect(KDirWatch::self(), &KDirWatch::dirty, this, &Units::settingsFileChanged); // ... but also remove/recreate cycles, like KConfig does it connect(KDirWatch::self(), &KDirWatch::created, this, &Units::settingsFileChanged); - // Trigger configuration read - settingsFileChanged(plasmarc); + // read configuration + updatePlasmaRCSettings(); } Units::~Units() @@ -70,18 +71,24 @@ Units::~Units() void Units::settingsFileChanged(const QString &file) { if (file.endsWith(plasmarc)) { - - KConfigGroup cfg = KConfigGroup(KSharedConfig::openConfig(plasmarc), groupName); - cfg.config()->reparseConfiguration(); - const int longDuration = cfg.readEntry("longDuration", defaultLongDuration); - - if (longDuration != m_longDuration) { - m_longDuration = longDuration; - emit durationChanged(); - } + KSharedConfigPtr cfg = KSharedConfig::openConfig(plasmarc); + cfg->reparseConfiguration(); + updatePlasmaRCSettings(); } } +void Units::updatePlasmaRCSettings() +{ + KConfigGroup cfg = KConfigGroup(KSharedConfig::openConfig(plasmarc), groupName); + const int longDuration = cfg.readEntry("longDuration", defaultLongDuration); + + if (longDuration != m_longDuration) { + m_longDuration = longDuration; + emit durationChanged(); + } +} + + void Units::iconLoaderSettingsChanged() { // These are not scaled, we respect the user's setting over dpi scaling diff --git a/src/declarativeimports/core/units.h b/src/declarativeimports/core/units.h index e1d9bde78..a46942361 100644 --- a/src/declarativeimports/core/units.h +++ b/src/declarativeimports/core/units.h @@ -164,11 +164,12 @@ Q_SIGNALS: private Q_SLOTS: void iconLoaderSettingsChanged(); - void settingsFileChanged(const QString &settings); + void settingsFileChanged(const QString &file); private: void updateDevicePixelRatio(); void updateSpacing(); + void updatePlasmaRCSettings(); /** * @return The dpi-adjusted size for a given icon size */