Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37751061
en ru br
Репозитории ALT

Группа :: Графические оболочки/Прочее
Пакет: 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
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin