diff --git a/src/lib/dstring.cpp b/src/lib/dstring.cpp index 9b7bf7e..6d69c1d 100644 --- a/src/lib/dstring.cpp +++ b/src/lib/dstring.cpp @@ -21,8 +21,6 @@ #include "dstring.h" -#include - DString::DString() { @@ -35,9 +33,11 @@ DString::~DString() std::vector DString::splitChars(const char *cs, char c) { - assert(cs); - std::vector ret; + if (!cs) { + return ret; + } + unsigned long idx = 0; unsigned long size = strlen(cs); bool found = false; @@ -90,8 +90,9 @@ std::vector DString::splitVectorChars(const std::vector &cont bool DString::startWith(const char *chars, const char *prefix) { - assert(chars); - assert(prefix); + if (!chars || !prefix) { + return false; + } size_t len; len = strlen(prefix); @@ -105,8 +106,9 @@ bool DString::startWith(const std::string &str, const std::string &prefix) bool DString::endWith(const char *chars, const char *suffix) { - assert(chars); - assert(suffix); + if (!chars || !suffix) { + return false; + } size_t charsLen = strlen(chars); size_t suffixLen = strlen(suffix); diff --git a/src/modules/dock/docksettings.cpp b/src/modules/dock/docksettings.cpp index 63f64ed..b627a55 100644 --- a/src/modules/dock/docksettings.cpp +++ b/src/modules/dock/docksettings.cpp @@ -22,18 +22,17 @@ #include "docksettings.h" #include "settings.h" -#include #include #include #include +#include DCORE_USE_NAMESPACE -static DConfig *dockSettings = Settings::ConfigPtr(configDock); -static DConfig *appearanceSettings = Settings::ConfigPtr(configAppearance); - DockSettings::DockSettings(QObject *parent) : QObject (parent) + , dockSettings(Settings::ConfigPtr(configDock)) + , appearanceSettings(Settings::ConfigPtr(configAppearance)) { init(); } diff --git a/src/modules/dock/docksettings.h b/src/modules/dock/docksettings.h index 13459fe..3bfccc9 100644 --- a/src/modules/dock/docksettings.h +++ b/src/modules/dock/docksettings.h @@ -187,6 +187,13 @@ public: }; class Settings; +namespace Dtk { +namespace Core { +class DConfig; +} +} + +using namespace Dtk::Core; // 任务栏组策略配置类 class DockSettings: public QObject @@ -246,6 +253,9 @@ private: DockSettings(QObject *paret = nullptr); DockSettings(const DockSettings &); DockSettings& operator= (const DockSettings &); + + DConfig *dockSettings; + DConfig *appearanceSettings; }; #endif // DOCKSETTINGS_H diff --git a/src/modules/launcher/launchersettings.cpp b/src/modules/launcher/launchersettings.cpp index 735f7df..9df02ff 100644 --- a/src/modules/launcher/launchersettings.cpp +++ b/src/modules/launcher/launchersettings.cpp @@ -22,17 +22,16 @@ #include "launchersettings.h" #include "settings.h" -#include #include #include #include +#include DCORE_USE_NAMESPACE -static DConfig *dconfig = Settings::ConfigPtr(configLauncher); - LauncherSettings::LauncherSettings(QObject *parent) : QObject(parent) + , dconfig(Settings::ConfigPtr(configLauncher)) { // 绑定属性 connect(dconfig, &DConfig::valueChanged, this, [&] (const QString &key) { diff --git a/src/modules/launcher/launchersettings.h b/src/modules/launcher/launchersettings.h index b1ce0e8..240725d 100644 --- a/src/modules/launcher/launchersettings.h +++ b/src/modules/launcher/launchersettings.h @@ -27,6 +27,14 @@ #include #include +namespace Dtk { +namespace Core { +class DConfig; +} +} + +using namespace Dtk::Core; + // 启动器相关配置 class LauncherSettings : public QObject { @@ -34,6 +42,7 @@ class LauncherSettings : public QObject LauncherSettings(QObject *paret = nullptr); LauncherSettings(const LauncherSettings &); LauncherSettings& operator= (const LauncherSettings &); + DConfig *dconfig; public: static inline LauncherSettings *instance() { diff --git a/src/modules/startmanager/startmanagersettings.cpp b/src/modules/startmanager/startmanagersettings.cpp index 39ad843..000373f 100644 --- a/src/modules/startmanager/startmanagersettings.cpp +++ b/src/modules/startmanager/startmanagersettings.cpp @@ -23,16 +23,21 @@ #include "settings.h" #include "gsetting.h" -#include #include #include #include +#include DCORE_USE_NAMESPACE -static DConfig *launchConfig = Settings::ConfigPtr(configLauncher); -static DConfig *startConfig = Settings::ConfigPtr(configStartdde); -static DConfig *xsettingsConfig = Settings::ConfigPtr(configXsettings); +StartManagerSettings::StartManagerSettings(QObject *parent) + : QObject (parent) + , launchConfig(Settings::ConfigPtr(configLauncher)) + , startConfig(Settings::ConfigPtr(configStartdde)) + , xsettingsConfig(Settings::ConfigPtr(configXsettings)) +{ + +} QVector StartManagerSettings::getUseProxyApps() { @@ -101,8 +106,3 @@ QString StartManagerSettings::getDefaultTerminalExecArg() } return ret; } - -StartManagerSettings::StartManagerSettings(QObject *paret) -{ - -} diff --git a/src/modules/startmanager/startmanagersettings.h b/src/modules/startmanager/startmanagersettings.h index 6394402..0541945 100644 --- a/src/modules/startmanager/startmanagersettings.h +++ b/src/modules/startmanager/startmanagersettings.h @@ -28,10 +28,17 @@ #include "common.h" #include "gsetting.h" - #include #include +namespace Dtk { +namespace Core { +class DConfig; +} +} + +using namespace Dtk::Core; + class StartManagerSettings : public QObject { Q_OBJECT @@ -54,9 +61,13 @@ public: Q_SIGNALS: private: - StartManagerSettings(QObject *paret = nullptr); + StartManagerSettings(QObject *parent = nullptr); StartManagerSettings(const StartManagerSettings &); StartManagerSettings& operator= (const StartManagerSettings &); + + DConfig *launchConfig; + DConfig *startConfig; + DConfig *xsettingsConfig; }; #endif // STARTMANAGERSETTINGS_H