[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