[arch-commits] Commit in deepin-control-center/trunk (3 files)

Felix Yan fyan at archlinux.org
Thu Nov 26 06:19:12 UTC 2015


    Date: Thursday, November 26, 2015 @ 07:19:11
  Author: fyan
Revision: 147823

upgpkg: deepin-control-center 2.91.2-2

Added:
  deepin-control-center/trunk/optimize_plugins_unload.patch
  deepin-control-center/trunk/show-distro-info.patch
Modified:
  deepin-control-center/trunk/PKGBUILD

-------------------------------+
 PKGBUILD                      |   20 +++-
 optimize_plugins_unload.patch |  174 ++++++++++++++++++++++++++++++++++++++++
 show-distro-info.patch        |   77 +++++++++++++++++
 3 files changed, 266 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-11-26 06:11:34 UTC (rev 147822)
+++ PKGBUILD	2015-11-26 06:19:11 UTC (rev 147823)
@@ -5,23 +5,33 @@
 
 pkgname=deepin-control-center
 pkgver=2.91.2
-pkgrel=1
+pkgrel=2
 pkgdesc='New control center for linux deepin'
 arch=('i686' 'x86_64')
 url="http://github.com/linuxdeepin/dde-control-center"
 license=('GPL3')
 depends=('desktop-file-utils' 'libdui' 'gtk3' 'deepin-account-faces' 'deepin-api'
-         'deepin-daemon' 'deepin-dbus-factory')
+         'deepin-daemon' 'deepin-dbus-factory' 'startdde')
 makedepends=('deepin-dock' 'deepin-gettext-tools' 'git')
 conflicts=('dde-control-center')
 replaces=('dde-control-center')
 groups=('deepin')
 install="${pkgname}.install"
-source=("git+https://github.com/linuxdeepin/dde-control-center.git#tag=$pkgver")
-sha256sums=('SKIP')
+source=("git+https://github.com/linuxdeepin/dde-control-center.git#tag=$pkgver"
+        'show-distro-info.patch'
+        'optimize_plugins_unload.patch')
+sha256sums=('SKIP'
+            '076be93652adebe404a076036503b95140d70d6612e34f35502909c2617d1b1d'
+            'a7c9d34538215ecd4c8f05820aadfd4c41bd33527699100c0aecad631fdef267')
 
-build(){
+prepare() {
   cd dde-control-center
+  patch -p1 -i ../show-distro-info.patch
+  patch -p1 -i ../optimize_plugins_unload.patch
+}
+
+build() {
+  cd dde-control-center
   qmake-qt5 PREFIX=/usr WITH_MODULE_GRUB=NO
   make
 }

Added: optimize_plugins_unload.patch
===================================================================
--- optimize_plugins_unload.patch	                        (rev 0)
+++ optimize_plugins_unload.patch	2015-11-26 06:19:11 UTC (rev 147823)
@@ -0,0 +1,174 @@
+diff --git a/frame/contentview.cpp b/frame/contentview.cpp
+index 6bec669..cb4e3dd 100644
+--- a/frame/contentview.cpp
++++ b/frame/contentview.cpp
+@@ -16,7 +16,6 @@ ContentView::ContentView(QWidget *parent)
+     m_pluginLoader = new QPluginLoader(this);
+ #ifdef QT_DEBUG
+     m_pluginLoader->setLoadHints(QLibrary::ResolveAllSymbolsHint);
+-#else
+ #endif
+     m_pluginsManager = PluginsManager::getInstance(this);
+ 
+@@ -76,16 +75,19 @@ ContentView::~ContentView()
+ 
+ void ContentView::switchToModule(ModuleMetaData module)
+ {
+-    qDebug() << "load plugin: " << module.path;
+-
+     unloadPlugin();
+ 
++    qDebug() << "load plugin: " << module.path;
++
+     // load new plugin
+     m_pluginLoader->setFileName(module.path);
++    m_sideBar->blockSignals(true);
+     m_sideBar->switchToModule(module.id);
++    m_sideBar->blockSignals(false);
+ 
+     QObject *instance = m_pluginLoader->instance();
+     ModuleInterface *interface = qobject_cast<ModuleInterface *>(instance);
++    qDebug() << "get instance: " << instance << interface;
+ 
+     do {
+         if (!interface)
+@@ -154,23 +156,7 @@ void ContentView::reLayout(bool hideInLeft)
+ 
+ void ContentView::switchToModule(const QString pluginId)
+ {
+-    // unload old plugin
+-    m_pluginLoader->unload();
+-    // load new plugin
+-    m_pluginLoader->setFileName(m_pluginsManager->pluginPath(pluginId));
+-    m_sideBar->switchToModule(pluginId);
+-
+-    QObject *instance = m_pluginLoader->instance();
+-
+-    if (instance) {
+-        ModuleInterface *interface = qobject_cast<ModuleInterface *>(instance);
+-        if(m_hideInLeft)
+-            m_layout->insertWidget(0, interface->getContent());
+-        else
+-            m_layout->addWidget(interface->getContent());
+-    } else {
+-        qDebug() << m_pluginLoader->errorString();
+-    }
++    switchToModule(m_pluginsManager->pluginMetaData(pluginId));
+ }
+ 
+ void ContentView::onModuleSelected(ModuleMetaData meta)
+@@ -199,10 +185,15 @@ void ContentView::onModuleSelected(ModuleMetaData meta)
+ 
+ void ContentView::unloadPlugin()
+ {
++//    if (m_lastPluginInterface)
++//        m_lastPluginInterface->preUnload();
++
+     if (m_lastPluginWidget)
+     {
++        m_lastPluginWidget->hide();
+         m_lastPluginWidget->setParent(nullptr);
+         m_lastPluginWidget->deleteLater();
++//        delete m_lastPluginWidget;
+         m_lastPluginWidget = nullptr;
+     }
+ 
+diff --git a/frame/frame.cpp b/frame/frame.cpp
+index 3d18246..7ba33e8 100644
+--- a/frame/frame.cpp
++++ b/frame/frame.cpp
+@@ -227,8 +227,9 @@ void Frame::updateGeometry(const QRect &primaryRect)
+     setFixedHeight(primaryRect.height());
+     m_centeralWarpper->setFixedHeight(primaryRect.height());
+     m_centeralWidget->setFixedHeight(primaryRect.height());
+-    m_contentView->setFixedHeight(primaryRect.height());
++
+     m_homeScreen->setFixedHeight(primaryRect.height());
++    m_contentView->setFixedHeight(primaryRect.height());
+ 
+     QFrame::updateGeometry();
+ }
+diff --git a/frame/pluginsmanager.cpp b/frame/pluginsmanager.cpp
+index e1e1c41..1163870 100644
+--- a/frame/pluginsmanager.cpp
++++ b/frame/pluginsmanager.cpp
+@@ -34,7 +34,7 @@ int PluginsManager::pluginIndex(const ModuleMetaData &plugin) const
+     return pluginIndex(plugin.id);
+ }
+ 
+-const QString PluginsManager::pluginPath(const QString pluginId) const
++const QString PluginsManager::pluginPath(const QString &pluginId) const
+ {
+     int index(pluginIndex(pluginId));
+ 
+@@ -49,6 +49,13 @@ const QList<ModuleMetaData> &&PluginsManager::pluginsList() const
+     return std::move(m_pluginsList);
+ }
+ 
++const ModuleMetaData PluginsManager::pluginMetaData(const QString &pluginId) const
++{
++    const int index = pluginIndex(pluginId);
++
++    return m_pluginsList.at(index);
++}
++
+ PluginsManager::PluginsManager(QObject *parent)
+     : QObject(parent)
+ {
+diff --git a/frame/pluginsmanager.h b/frame/pluginsmanager.h
+index af7cd6c..84a103e 100644
+--- a/frame/pluginsmanager.h
++++ b/frame/pluginsmanager.h
+@@ -18,8 +18,9 @@ public:
+ 
+     int pluginIndex(const QString pluginId) const;
+     int pluginIndex(const ModuleMetaData &plugin) const;
+-    const QString pluginPath(const QString pluginId) const;
++    const QString pluginPath(const QString &pluginId) const;
+     const QList<ModuleMetaData>&& pluginsList() const;
++    const ModuleMetaData pluginMetaData(const QString &pluginId) const;
+ 
+ signals:
+     void pluginInserted(const int position, const ModuleMetaData &meta) const;
+diff --git a/modules/remote_assistance/remoteassistance.cpp b/modules/remote_assistance/remoteassistance.cpp
+index f5c916c..14d4a89 100644
+--- a/modules/remote_assistance/remoteassistance.cpp
++++ b/modules/remote_assistance/remoteassistance.cpp
+@@ -142,6 +142,11 @@ RemoteAssistance::RemoteAssistance()
+     m_impl->initPanel();
+ }
+ 
++RemoteAssistance::~RemoteAssistance()
++{
++//    delete m_impl->m_view;
++}
++
+ QFrame* RemoteAssistance::getContent()
+ {
+     return m_impl->m_view;
+diff --git a/modules/remote_assistance/remoteassistance.h b/modules/remote_assistance/remoteassistance.h
+index 2efee49..dd8b010 100644
+--- a/modules/remote_assistance/remoteassistance.h
++++ b/modules/remote_assistance/remoteassistance.h
+@@ -27,7 +27,7 @@ class RemoteAssistance: public QObject, public ModuleInterface {
+     Q_INTERFACES(ModuleInterface)
+ public:
+     RemoteAssistance();
+-    ~RemoteAssistance(){}
++    ~RemoteAssistance();
+     QFrame* getContent() Q_DECL_OVERRIDE;
+ 
+ public slots:
+diff --git a/modules/system_info/systeminfo.cpp b/modules/system_info/systeminfo.cpp
+index 28eab8c..bf34d8d 100644
+--- a/modules/system_info/systeminfo.cpp
++++ b/modules/system_info/systeminfo.cpp
+@@ -174,6 +174,8 @@ SystemInfo::SystemInfo()
+ 
+ SystemInfo::~SystemInfo()
+ {
++    m_centeralFrame->hide();
++    m_centeralFrame->setParent(nullptr);
+     m_centeralFrame->deleteLater();
+ }
+ 

Added: show-distro-info.patch
===================================================================
--- show-distro-info.patch	                        (rev 0)
+++ show-distro-info.patch	2015-11-26 06:19:11 UTC (rev 147823)
@@ -0,0 +1,77 @@
+commit 5915982ccdbf060ede5123e8f7617b1cbcb1d096
+Author: Felix Yan <felixonmars at archlinux.org>
+Date:   Wed Nov 25 13:12:45 2015 +0800
+
+    Show distribution info in System Info tab
+    
+    Change-Id: Id7d23c60e88285e385c6f32f1fd6f0d1ca3b6094
+
+diff --git a/modules/system_info/dbus/dbussysteminfo.h b/modules/system_info/dbus/dbussysteminfo.h
+index ffb07c5..3d280a2 100644
+--- a/modules/system_info/dbus/dbussysteminfo.h
++++ b/modules/system_info/dbus/dbussysteminfo.h
+@@ -55,6 +55,18 @@ public:
+     inline QString version() const
+     { return qvariant_cast< QString >(property("Version")); }
+ 
++    Q_PROPERTY(QString DistroID READ distroId)
++    inline QString distroId() const
++    { return qvariant_cast< QString >(property("DistroID")); }
++
++    Q_PROPERTY(QString DistroDesc READ distroDesc)
++    inline QString distroDesc() const
++    { return qvariant_cast< QString >(property("DistroDesc")); }
++
++    Q_PROPERTY(QString DistroVer READ distroVer)
++    inline QString distroVer() const
++    { return qvariant_cast< QString >(property("DistroVer")); }
++
+ public Q_SLOTS: // METHODS
+ Q_SIGNALS: // SIGNALS
+ };
+diff --git a/modules/system_info/systeminfo.cpp b/modules/system_info/systeminfo.cpp
+index 7c1de7b..36c2ec6 100644
+--- a/modules/system_info/systeminfo.cpp
++++ b/modules/system_info/systeminfo.cpp
+@@ -51,6 +51,12 @@ SystemInfo::SystemInfo()
+     info_sysVersionContent->setAlignment(Qt::AlignVCenter | Qt::AlignLeft);
+     info_sysVersionContent->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ 
++    QLabel *info_sysDistro = new QLabel(tr("Distribution:"));
++    info_sysDistro->setAlignment(Qt::AlignVCenter | Qt::AlignRight);
++    QLabel *info_sysDistroContent = new QLabel(QString(tr("%1 %2")).arg(m_dbusSystemInfo.distroDesc(), m_dbusSystemInfo.distroVer()));
++    info_sysDistroContent->setAlignment(Qt::AlignVCenter | Qt::AlignLeft);
++    info_sysDistroContent->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
++
+     QLabel *info_sysType = new QLabel(tr("System Type:"));
+     info_sysType->setAlignment(Qt::AlignVCenter | Qt::AlignRight);
+     QLabel *info_sysTypeContent = new QLabel(QString(tr("%1 Bit")).arg(m_dbusSystemInfo.systemType()));
+@@ -75,14 +81,20 @@ SystemInfo::SystemInfo()
+     QGridLayout *infoGrid = new QGridLayout;
+     infoGrid->addWidget(info_sysVersion, 0, 0);
+     infoGrid->addWidget(info_sysVersionContent, 0, 1);
+-    infoGrid->addWidget(info_sysType, 1, 0);
+-    infoGrid->addWidget(info_sysTypeContent, 1, 1);
+-    infoGrid->addWidget(info_cpuType, 2, 0);
+-    infoGrid->addWidget(info_cpuTypeContent, 2, 1);
+-    infoGrid->addWidget(info_memory, 3, 0);
+-    infoGrid->addWidget(info_memoryContent, 3, 1);
+-    infoGrid->addWidget(info_hardDrive, 4, 0);
+-    infoGrid->addWidget(info_hardDriveContent, 4, 1);
++
++    if (m_dbusSystemInfo.distroId() != "" && m_dbusSystemInfo.distroId() != "Deepin") {
++        infoGrid->addWidget(info_sysDistro, 1, 0);
++        infoGrid->addWidget(info_sysDistroContent, 1, 1);
++    }
++
++    infoGrid->addWidget(info_sysType, 2, 0);
++    infoGrid->addWidget(info_sysTypeContent, 2, 1);
++    infoGrid->addWidget(info_cpuType, 3, 0);
++    infoGrid->addWidget(info_cpuTypeContent, 3, 1);
++    infoGrid->addWidget(info_memory, 4, 0);
++    infoGrid->addWidget(info_memoryContent, 4, 1);
++    infoGrid->addWidget(info_hardDrive, 5, 0);
++    infoGrid->addWidget(info_hardDriveContent, 5, 1);
+ 
+     QVBoxLayout *infoLayout = new QVBoxLayout;
+     infoLayout->addWidget(deepinLogo);



More information about the arch-commits mailing list