Группа :: Графические оболочки/Прочее
Пакет: deepin-control-center
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: deepin-control-center-fix-build-deepinid-syncdaemon.patch
Скачать
Скачать
From 4fed17a47575494a90b25daa3b282e6018ca269b Mon Sep 17 00:00:00 2001
From: Leontiy Volodin <lvol@altlinux.org>
Date: Thu, 24 Jun 2021 13:31:16 +0300
Subject: [PATCH] Revert "feat: Е╟├Д©²Е╜≤Г■╗Ф┬╥Ф∙╟Ф█╝Г └Ф▌╔Е▐ёД╩▌deepinidФ■╧Д╦╨sync.daemon"
This reverts commit 78dbf5de28f6f560917578b19d1ed6ba67a25cf8.
---
src/frame/modules/sync/syncworker.cpp | 31 +++++++++++++++++++++++++++----
src/frame/modules/sync/syncworker.h | 1 +
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/src/frame/modules/sync/syncworker.cpp b/src/frame/modules/sync/syncworker.cpp
index 8d8d4c8..0b6ed51 100644
--- a/src/frame/modules/sync/syncworker.cpp
+++ b/src/frame/modules/sync/syncworker.cpp
@@ -23,24 +23,31 @@ SyncWorker::SyncWorker(SyncModel *model, QObject *parent)
m_syncInter->setSync(false, false);
m_deepinId_inter->setSync(false, false);
+ QDBusConnection::sessionBus().connect("com.deepin.sync.Daemon",
+ "/com/deepin/sync/Daemon",
+ "org.freedesktop.DBus.Properties",
+ "PropertiesChanged",
+ "sa{sv}as",
+ this, SLOT(userInfoChanged(QDBusMessage)));
+
QDBusConnection::systemBus().connect("com.deepin.license", "/com/deepin/license/Info",
"com.deepin.license.Info", "LicenseStateChange",
this, SLOT(licenseStateChangeSlot()));
connect(m_syncInter, &SyncInter::StateChanged, this, &SyncWorker::onStateChanged, Qt::QueuedConnection);
connect(m_syncInter, &SyncInter::LastSyncTimeChanged, this, &SyncWorker::onLastSyncTimeChanged, Qt::QueuedConnection);
connect(m_syncInter, &SyncInter::SwitcherChange, this, &SyncWorker::onSyncModuleStateChanged, Qt::QueuedConnection);
- connect(m_syncInter, &SyncInter::UserInfoChanged, m_model, &SyncModel::setUserinfo, Qt::QueuedConnection);
+ connect(m_deepinId_inter, &DeepinId::UserInfoChanged, m_model, &SyncModel::setUserinfo, Qt::QueuedConnection);
- auto req = m_syncInter->isValid();
+ auto req = m_deepinId_inter->isValid();
m_model->setSyncIsValid(req && valueByQSettings<bool>(DCC_CONFIG_FILES, "CloudSync", "AllowCloudSync", false));
- connect(m_syncInter, &DeepinId::serviceValidChanged, this, [=](bool valid) {
+ connect(m_deepinId_inter, &DeepinId::serviceValidChanged, this, [=](bool valid) {
m_model->setSyncIsValid(valid && valueByQSettings<bool>(DCC_CONFIG_FILES, "CloudSync", "AllowCloudSync", false));
});
licenseStateChangeSlot();
- m_model->setUserinfo(m_syncInter->userInfo());
+ m_model->setUserinfo(m_deepinId_inter->userInfo());
}
void SyncWorker::activate()
@@ -106,6 +113,22 @@ void SyncWorker::setSync(std::pair<SyncType, bool> state)
}
}
+void SyncWorker::userInfoChanged(QDBusMessage msg)
+{
+ QList<QVariant> arguments = msg.arguments();
+
+ QVariantMap changedProps = qdbus_cast<QVariantMap>(arguments.at(1).value<QDBusArgument>());
+ if (changedProps.empty() || changedProps.keys().first().compare("UserInfo")) {
+ qDebug() << "userInfoChanged changedProps=" << changedProps;
+ return;
+ }
+ QVariantMap userInfo;
+ QDBusArgument arg = changedProps.value("UserInfo").value<QDBusArgument>();
+ arg >> userInfo;
+ qDebug() << userInfo;
+ m_model->setUserinfo(userInfo);
+}
+
void SyncWorker::loginUser()
{
m_deepinId_inter->Login();
diff --git a/src/frame/modules/sync/syncworker.h b/src/frame/modules/sync/syncworker.h
index ffd04f1..a5116fd 100644
--- a/src/frame/modules/sync/syncworker.h
+++ b/src/frame/modules/sync/syncworker.h
@@ -29,6 +29,7 @@ public Q_SLOTS:
void loginUser();
void logoutUser();
void setAutoSync(bool autoSync);
+ void userInfoChanged(QDBusMessage msg);
void licenseStateChangeSlot();
private:
--
libgit2 1.1.0