mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-01 07:05:48 +00:00
feat: 配置项优化,避免改动较大
配置项规范化 Log: Influence: 无 Task: https://pms.uniontech.com/task-view-104239.html Change-Id: I92646d1d17cdb8678a02057a0e3729d828f2e46a
This commit is contained in:
parent
7793031f37
commit
1564718c8a
@ -110,7 +110,7 @@ endif ()
|
||||
## qm files
|
||||
file(GLOB QM_FILES "translations/*.qm")
|
||||
install(FILES ${QM_FILES}
|
||||
DESTINATION share/org.deepin.dde.dock/translations)
|
||||
DESTINATION share/dde-dock/translations)
|
||||
|
||||
## dev files
|
||||
install(FILES ${INTERFACES}
|
||||
@ -125,9 +125,6 @@ install(FILES "cmake/DdeDock/DdeDockConfig.cmake"
|
||||
install(FILES gschema/com.deepin.dde.dock.module.gschema.xml
|
||||
DESTINATION share/glib-2.0/schemas)
|
||||
|
||||
#dconfig
|
||||
dconfig_meta_files(APPID org.deepin.dde.dock FILES configs/org.deepin.dde.dock.json)
|
||||
|
||||
# Address Sanitizer 内存错误检测工具,打开下面的编译选项可以看到调试信息,正常运行时不需要这些信息
|
||||
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fsanitize=address -O2")
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address -O2")
|
||||
|
@ -93,3 +93,5 @@ endif()
|
||||
|
||||
# bin
|
||||
install(TARGETS ${BIN_NAME} DESTINATION bin)
|
||||
|
||||
dconfig_meta_files(APPID org.deepin.dde.dock FILES ../configs/org.deepin.dde.dock.json)
|
||||
|
@ -667,9 +667,10 @@ void AppItem::showPreview()
|
||||
connect(m_appPreviewTips, &PreviewContainer::requestHidePopup, this, &AppItem::onResetPreview);
|
||||
|
||||
// 预览标题显示方式的配置
|
||||
DConfig config(QString("org.deepin.dde.dock"), QString());
|
||||
if (config.isValid() && config.keyList().contains("showWindowName"))
|
||||
m_appPreviewTips->setTitleDisplayMode(config.value("showWindowName").toInt());
|
||||
DConfig *config = DConfig::create("org.deepin.dde.dock", "org.deepin.dde.dock");
|
||||
if (config->isValid() && config->keyList().contains("showWindowName"))
|
||||
m_appPreviewTips->setTitleDisplayMode(config->value("showWindowName").toInt());
|
||||
delete config;
|
||||
|
||||
showPopupWindow(m_appPreviewTips, true);
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ int main(int argc, char *argv[])
|
||||
signal(SIGFPE, sig_crash);
|
||||
|
||||
app.setOrganizationName("deepin");
|
||||
app.setApplicationName("org.deepin.dde.dock");
|
||||
app.setApplicationName("dde-dock");
|
||||
app.setApplicationDisplayName("DDE Dock");
|
||||
app.setApplicationVersion("2.0");
|
||||
app.loadTranslator();
|
||||
@ -209,7 +209,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
// 任务栏单进程限制
|
||||
DGuiApplicationHelper::setSingleInstanceInterval(-1);
|
||||
if (!app.setSingleInstance(QString("org.deepin.dde.dock_%1").arg(getuid()))) {
|
||||
if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) {
|
||||
qDebug() << "set single instance failed!";
|
||||
return -1;
|
||||
}
|
||||
|
@ -48,6 +48,6 @@ install(FILES ${QM_FILES} DESTINATION share/${PLUGIN_NAME}/translations)
|
||||
|
||||
# dconfig
|
||||
file(GLOB DCONFIG_FILES "org.deepin.dde.dock.plugin.json")
|
||||
dconfig_meta_files(APPID dde-control-center FILES ${DCONFIG_FILES})
|
||||
dconfig_meta_files(APPID org.deepin.dde.control-center FILES ${DCONFIG_FILES})
|
||||
|
||||
install(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION lib/dde-control-center/modules)
|
||||
|
@ -36,9 +36,9 @@ DCORE_USE_NAMESPACE
|
||||
/**
|
||||
* @brief GSettingWatcher::GSettingWatcher 用于监听处于 \a baseSchemasId + "." + \a module 配置下的配置项内容变化,并将变化应用到绑定的控件上
|
||||
*/
|
||||
ConfigWatcher::ConfigWatcher(const QString &fileName, QObject *parent)
|
||||
ConfigWatcher::ConfigWatcher(const QString &appId, const QString &fileName, QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_config(new DConfig(fileName, QString(), this))
|
||||
, m_config(DConfig::create(appId, fileName, QString(), this))
|
||||
{
|
||||
if (m_config->isValid()) {
|
||||
connect(m_config, &DConfig::valueChanged, this, &ConfigWatcher::onStatusModeChanged);
|
||||
|
@ -41,7 +41,7 @@ class ConfigWatcher : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ConfigWatcher(const QString &fileName, QObject *parent = nullptr);
|
||||
ConfigWatcher(const QString &appId, const QString &fileName, QObject *parent = nullptr);
|
||||
~ConfigWatcher();
|
||||
|
||||
void bind(const QString &key, QWidget *binder);
|
||||
|
@ -74,7 +74,7 @@ ModuleWidget::ModuleWidget(QWidget *parent)
|
||||
, m_pluginModel(new QStandardItemModel(this))
|
||||
, m_daemonDockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this))
|
||||
, m_dockInter(new DBusInter("com.deepin.dde.Dock", "/com/deepin/dde/Dock", QDBusConnection::sessionBus(), this))
|
||||
, m_dconfigWatcher(new ConfigWatcher("org.deepin.dde.dock.plugin", this))
|
||||
, m_dconfigWatcher(new ConfigWatcher("org.deepin.dde.control-center", "org.deepin.dde.dock.plugin", this))
|
||||
, m_sliderPressed(false)
|
||||
{
|
||||
//~ contents_path /personalization/Dock
|
||||
|
@ -34,7 +34,7 @@ SettingsModule::SettingsModule()
|
||||
: QObject()
|
||||
, ModuleInterface()
|
||||
, m_moduleWidget(nullptr)
|
||||
, m_config(new DConfig("org.deepin.dde.dock.plugin", QString(), this))
|
||||
, m_config(DConfig::create("org.deepin.dde.control-center", "org.deepin.dde.dock.plugin", QString(), this))
|
||||
{
|
||||
QTranslator *translator = new QTranslator(this);
|
||||
translator->load(QString("/usr/share/dcc-dock-plugin/translations/dcc-dock-plugin_%1.qm").arg(QLocale::system().name()));
|
||||
@ -137,7 +137,7 @@ void SettingsModule::onStatusChanged()
|
||||
m_frameProxy->setWidgetVisible(module, dock, true);
|
||||
|
||||
auto visibleState = [ = ](const QString &key) {
|
||||
return (m_config->value(QString("%1").arg(key)).toString() == "Enabled");
|
||||
return (!m_config || !m_config->isValid() || m_config->value(QString("%1").arg(key)).toString() == "Enabled");
|
||||
};
|
||||
|
||||
// 三级菜单显示状态设置
|
||||
|
@ -36,6 +36,7 @@ int main(int argc, char **argv)
|
||||
|
||||
DockApplication app(argc, argv);
|
||||
// 设置应用名为dde-dock,否则dconfig相关的配置就读不到了
|
||||
// TODO dtk已经有相关接口,待下次修改
|
||||
app.setApplicationName("dde-dock");
|
||||
|
||||
qApp->setProperty("CANSHOW", true);
|
||||
|
@ -14,7 +14,7 @@ TEST_F(Test_GSettingWatcher, bind)
|
||||
{
|
||||
const QString &appName = qApp->applicationName();
|
||||
qApp->setApplicationName("dde-dock");
|
||||
ConfigWatcher watcher("org.deepin.dde.dock.plugin");
|
||||
ConfigWatcher watcher("org.deepin.dde.control-center", "org.deepin.dde.dock.plugin");
|
||||
|
||||
QWidget widget;
|
||||
watcher.bind("dockPlugins", &widget);
|
||||
@ -29,7 +29,7 @@ TEST_F(Test_GSettingWatcher, setStatus)
|
||||
{
|
||||
const QString &appName = qApp->applicationName();
|
||||
qApp->setApplicationName("dde-control-center");
|
||||
ConfigWatcher watcher("org.deepin.dde.dock.plugin");
|
||||
ConfigWatcher watcher("org.deepin.dde.control-center", "org.deepin.dde.dock.plugin");
|
||||
|
||||
QWidget widget;
|
||||
watcher.bind("dockPlugins", &widget);
|
||||
@ -39,7 +39,7 @@ TEST_F(Test_GSettingWatcher, setStatus)
|
||||
|
||||
TEST_F(Test_GSettingWatcher, onStatusModeChanged)
|
||||
{
|
||||
ConfigWatcher watcher("org.deepin.dde.dock.plugin");
|
||||
ConfigWatcher watcher("org.deepin.dde.control-center", "org.deepin.dde.dock.plugin");
|
||||
|
||||
QWidget widget;
|
||||
watcher.bind("dockPlugins", &widget);
|
||||
|
Loading…
x
Reference in New Issue
Block a user