fix: 修复从任务栏无法打开控制中心问题

由于控制中心适配了v23的接口,所以需要在任务栏增加USE_AM宏的控制,未使用USE_AM宏的调用com.deepin.dde.ControlCenter接口,使用USE_AM宏的使用org.deepin.dde.ControlCenter1接口。

Log: 优化任务栏打开控制中心的问题
Influence: 任务栏-任务栏设置-打开控制中心 任务栏-蓝牙-蓝牙设置 任务栏-日期-日期时间设置 任务栏-电源-电源设置 任务栏-关机-关机设置 任务栏-声音-声音设置 观察是否正常打开控制中心
Bug: https://pms.uniontech.com/bug-view-149189.html
Change-Id: I3373fc641c35e7589730a7cd595f2f55929ad2ec
This commit is contained in:
donghualin 2022-08-16 10:29:10 +00:00
parent 830e0a7b2f
commit c78f101e84
10 changed files with 133 additions and 32 deletions

View File

@ -158,12 +158,21 @@ QMenu *MenuWorker::createMenu(QMenu *settingsMenu)
void MenuWorker::onDockSettingsTriggered()
{
DDBusSender().service("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.interface("org.deepin.dde.ControlCenter")
#ifdef USE_AM
DDBusSender().service("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.method("ShowPage")
.arg(QString("personalization/desktop/dock"))
.call();
#else
DDBusSender().service("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.method("ShowPage")
.arg(QString("personalization/dock"))
.call();
#endif
}
void MenuWorker::showDockSettingsMenu(QMenu *menu)

View File

@ -194,10 +194,17 @@ void VolumeDevicesWidget::initConnection()
m_deviceList->update();
} else {
// 打开控制中心的声音模块
DDBusSender().service("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.interface("org.deepin.dde.ControlCenter")
#ifdef USE_AM
DDBusSender().service("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.method("ShowPage").arg(QString("sound")).call();
#else
DDBusSender().service("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.method("ShowPage").arg(QString("sound")).call();
#endif
hide();
}
});

View File

@ -113,14 +113,25 @@ void AirplaneModeItem::invokeMenuItem(const QString menuId, const bool checked)
if (menuId == SHIFT)
m_airplaneModeInter->Enable(!m_airplaneModeInter->enabled());
else if (menuId == SETTINGS)
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("network"))
.arg(QString("Airplane Mode"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("network"))
.arg(QString("Airplane Mode"))
.call();
#endif
*/
}

View File

@ -117,13 +117,23 @@ void BluetoothItem::invokeMenuItem(const QString menuId, const bool checked)
if (menuId == SHIFT) {
m_applet->setAdapterPowered(!m_adapterPowered);
} else if (menuId == SETTINGS) {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("bluetooth"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("bluetooth"))
.call();
#endif
}
}

View File

@ -274,15 +274,24 @@ void BluetoothApplet::initConnect()
{
connect(m_adaptersManager, &AdaptersManager::adapterIncreased, this, &BluetoothApplet::onAdapterAdded);
connect(m_adaptersManager, &AdaptersManager::adapterDecreased, this, &BluetoothApplet::onAdapterRemoved);
connect(m_settingLabel, &SettingLabel::clicked, this, [ = ] {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("bluetooth"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("bluetooth"))
.call();
#endif
});
connect(DApplicationHelper::instance(), &DApplicationHelper::themeTypeChanged, this, &BluetoothApplet::updateIconTheme);
connect(m_airPlaneModeInter, &DBusAirplaneMode::EnabledChanged, this, &BluetoothApplet::setAirplaneModeEnabled);

View File

@ -190,13 +190,23 @@ void DatetimePlugin::invokedMenuItem(const QString &itemKey, const QString &menu
Q_UNUSED(checked)
if (menuId == "open") {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("datetime"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("datetime"))
.call();
#endif
} else {
const bool value = timedateInterface()->property(TIME_FORMAT_KEY).toBool();
timedateInterface()->setProperty(TIME_FORMAT_KEY, !value);

View File

@ -173,14 +173,25 @@ void DBusAdaptors::refreshMenuSelection()
void DBusAdaptors::handleActionTriggered(QAction *action)
{
if (action == m_addLayoutAction) {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method("ShowPage")
.arg(QString("keyboard"))
.arg(QString("Keyboard Layout/Add Keyboard Layout"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method("ShowPage")
.arg(QString("keyboard"))
.arg(QString("Keyboard Layout/Add Keyboard Layout"))
.call();
#endif
}
const QString layout = action->objectName();

View File

@ -113,7 +113,11 @@ bool PowerPlugin::pluginIsDisable()
const QString PowerPlugin::itemCommand(const QString &itemKey)
{
if (itemKey == POWER_KEY)
return QString("dbus-send --print-reply --dest=org.deepin.dde.ControlCenter /org/deepin/dde/ControlCenter org.deepin.dde.ControlCenter.ShowPage \"string:power\"");
#ifdef USE_AM
return QString("dbus-send --print-reply --dest=org.deepin.dde.ControlCenter1 /org/deepin/dde/ControlCenter1 org.deepin.dde.ControlCenter1.ShowPage \"string:power\"");
#else
return QString("dbus-send --print-reply --dest=com.deepin.dde.ControlCenter /com/deepin/dde/ControlCenter com.deepin.dde.ControlCenter.ShowPage \"string:power\"");
#endif
return QString();
}
@ -149,13 +153,23 @@ void PowerPlugin::invokedMenuItem(const QString &itemKey, const QString &menuId,
Q_UNUSED(checked)
if (menuId == "power") {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("power"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("power"))
.call();
#endif
}
}

View File

@ -233,13 +233,23 @@ void ShutdownPlugin::invokedMenuItem(const QString &itemKey, const QString &menu
QCoreApplication::processEvents(QEventLoop::AllEvents, 200);
if (menuId == "power") {
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("power"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("power"))
.call();
#endif
} else if (menuId == "Lock") {
if (QFile::exists(ICBC_CONF_FILE)) {
QDBusMessage send = QDBusMessage::createMethodCall("com.deepin.dde.lockFront", "/com/deepin/dde/lockFront", "com.deepin.dde.lockFront", "SwitchTTYAndShow");

View File

@ -128,13 +128,23 @@ void SoundItem::invokeMenuItem(const QString menuId, const bool checked)
if (menuId == MUTE)
m_sinkInter->SetMuteQueued(!m_sinkInter->mute());
else if (menuId == SETTINGS)
#ifdef USE_AM
DDBusSender()
.service("org.deepin.dde.ControlCenter")
.interface("org.deepin.dde.ControlCenter")
.path("/org/deepin/dde/ControlCenter")
.service("org.deepin.dde.ControlCenter1")
.interface("org.deepin.dde.ControlCenter1")
.path("/org/deepin/dde/ControlCenter1")
.method(QString("ShowPage"))
.arg(QString("sound"))
.call();
#else
DDBusSender()
.service("com.deepin.dde.ControlCenter")
.interface("com.deepin.dde.ControlCenter")
.path("/com/deepin/dde/ControlCenter")
.method(QString("ShowPage"))
.arg(QString("sound"))
.call();
#endif
}
void SoundItem::resizeEvent(QResizeEvent *e)