mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
fix(datetime): connect control-center 24 hours setting
This commit is contained in:
parent
54d6447abc
commit
7dcfcfc846
@ -26,11 +26,15 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#define PLUGIN_STATE_KEY "enable"
|
#define PLUGIN_STATE_KEY "enable"
|
||||||
#define TIME_FORMAT_KEY "24HourFormat"
|
#define TIME_FORMAT_KEY "Use24HourFormat"
|
||||||
|
|
||||||
DatetimePlugin::DatetimePlugin(QObject *parent)
|
DatetimePlugin::DatetimePlugin(QObject *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
{
|
{
|
||||||
|
m_interface = new QDBusInterface("com.deepin.daemon.Timedate", "/com/deepin/daemon/Timedate", "com.deepin.daemon.Timedate");
|
||||||
|
|
||||||
|
QDBusConnection sessionBus = QDBusConnection::sessionBus();
|
||||||
|
sessionBus.connect("com.deepin.daemon.Timedate", "/com/deepin/daemon/Timedate", "org.freedesktop.DBus.Properties", "PropertiesChanged", this, SLOT(propertiesChanged()));
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString DatetimePlugin::pluginName() const
|
const QString DatetimePlugin::pluginName() const
|
||||||
@ -178,22 +182,25 @@ void DatetimePlugin::invokedMenuItem(const QString &itemKey, const QString &menu
|
|||||||
|
|
||||||
if (menuId == "open") {
|
if (menuId == "open") {
|
||||||
DDBusSender()
|
DDBusSender()
|
||||||
.service("com.deepin.dde.ControlCenter")
|
.service("com.deepin.dde.ControlCenter")
|
||||||
.interface("com.deepin.dde.ControlCenter")
|
.interface("com.deepin.dde.ControlCenter")
|
||||||
.path("/com/deepin/dde/ControlCenter")
|
.path("/com/deepin/dde/ControlCenter")
|
||||||
.method(QString("ShowModule"))
|
.method(QString("ShowModule"))
|
||||||
.arg(QString("datetime"))
|
.arg(QString("datetime"))
|
||||||
.call();
|
.call();
|
||||||
} else {
|
} else {
|
||||||
const bool value = m_proxyInter->getValue(this, TIME_FORMAT_KEY, true).toBool();
|
const bool value = m_interface->property(TIME_FORMAT_KEY).toBool();
|
||||||
m_proxyInter->saveValue(this, TIME_FORMAT_KEY, !value);
|
m_interface->setProperty(TIME_FORMAT_KEY, !value);
|
||||||
m_centralWidget->set24HourFormat(!value);
|
m_centralWidget->set24HourFormat(!value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatetimePlugin::pluginSettingsChanged()
|
void DatetimePlugin::pluginSettingsChanged()
|
||||||
{
|
{
|
||||||
m_centralWidget->set24HourFormat(m_proxyInter->getValue(this, TIME_FORMAT_KEY, true).toBool());
|
const bool value = m_interface->property(TIME_FORMAT_KEY).toBool();
|
||||||
|
|
||||||
|
m_proxyInter->saveValue(this, TIME_FORMAT_KEY, value);
|
||||||
|
m_centralWidget->set24HourFormat(value);
|
||||||
|
|
||||||
refreshPluginItemsVisible();
|
refreshPluginItemsVisible();
|
||||||
}
|
}
|
||||||
@ -223,3 +230,8 @@ void DatetimePlugin::refreshPluginItemsVisible()
|
|||||||
else
|
else
|
||||||
m_proxyInter->itemRemoved(this, pluginName());
|
m_proxyInter->itemRemoved(this, pluginName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DatetimePlugin::propertiesChanged()
|
||||||
|
{
|
||||||
|
pluginSettingsChanged();
|
||||||
|
}
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
|
class QDBusInterface;
|
||||||
class DatetimePlugin : public QObject, PluginsItemInterface
|
class DatetimePlugin : public QObject, PluginsItemInterface
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -63,6 +64,7 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void updateCurrentTimeString();
|
void updateCurrentTimeString();
|
||||||
void refreshPluginItemsVisible();
|
void refreshPluginItemsVisible();
|
||||||
|
void propertiesChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<DatetimeWidget> m_centralWidget;
|
QPointer<DatetimeWidget> m_centralWidget;
|
||||||
@ -71,6 +73,8 @@ private:
|
|||||||
QTimer *m_refershTimer;
|
QTimer *m_refershTimer;
|
||||||
|
|
||||||
QString m_currentTimeString;
|
QString m_currentTimeString;
|
||||||
|
|
||||||
|
QDBusInterface *m_interface;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DATETIMEPLUGIN_H
|
#endif // DATETIMEPLUGIN_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user