Date: Thursday, November 26, 2015 @ 07:19:57 Author: fyan Revision: 147824
archrelease: copy trunk to community-i686, community-x86_64 Added: deepin-control-center/repos/community-i686/PKGBUILD (from rev 147823, deepin-control-center/trunk/PKGBUILD) deepin-control-center/repos/community-i686/deepin-control-center.install (from rev 147823, deepin-control-center/trunk/deepin-control-center.install) deepin-control-center/repos/community-i686/optimize_plugins_unload.patch (from rev 147823, deepin-control-center/trunk/optimize_plugins_unload.patch) deepin-control-center/repos/community-i686/show-distro-info.patch (from rev 147823, deepin-control-center/trunk/show-distro-info.patch) deepin-control-center/repos/community-x86_64/PKGBUILD (from rev 147823, deepin-control-center/trunk/PKGBUILD) deepin-control-center/repos/community-x86_64/deepin-control-center.install (from rev 147823, deepin-control-center/trunk/deepin-control-center.install) deepin-control-center/repos/community-x86_64/optimize_plugins_unload.patch (from rev 147823, deepin-control-center/trunk/optimize_plugins_unload.patch) deepin-control-center/repos/community-x86_64/show-distro-info.patch (from rev 147823, deepin-control-center/trunk/show-distro-info.patch) Deleted: deepin-control-center/repos/community-i686/PKGBUILD deepin-control-center/repos/community-i686/deepin-control-center.install deepin-control-center/repos/community-x86_64/PKGBUILD deepin-control-center/repos/community-x86_64/deepin-control-center.install ------------------------------------------------+ /PKGBUILD | 84 +++++++++++ /deepin-control-center.install | 22 ++ community-i686/PKGBUILD | 32 ---- community-i686/deepin-control-center.install | 11 - community-i686/optimize_plugins_unload.patch | 174 +++++++++++++++++++++++ community-i686/show-distro-info.patch | 77 ++++++++++ community-x86_64/PKGBUILD | 32 ---- community-x86_64/deepin-control-center.install | 11 - community-x86_64/optimize_plugins_unload.patch | 174 +++++++++++++++++++++++ community-x86_64/show-distro-info.patch | 77 ++++++++++ 10 files changed, 608 insertions(+), 86 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2015-11-26 06:19:11 UTC (rev 147823) +++ community-i686/PKGBUILD 2015-11-26 06:19:57 UTC (rev 147824) @@ -1,32 +0,0 @@ -# $Id$ -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Contributor: Josip Ponjavic <josipponjavic at gmail dot com> -# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com> - -pkgname=deepin-control-center -pkgver=2.91.2 -pkgrel=1 -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') -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') - -build(){ - cd dde-control-center - qmake-qt5 PREFIX=/usr WITH_MODULE_GRUB=NO - make -} - -package() { - cd dde-control-center - make INSTALL_ROOT="${pkgdir}" install -} Copied: deepin-control-center/repos/community-i686/PKGBUILD (from rev 147823, deepin-control-center/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,42 @@ +# $Id$ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Josip Ponjavic <josipponjavic at gmail dot com> +# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com> + +pkgname=deepin-control-center +pkgver=2.91.2 +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' '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" + 'show-distro-info.patch' + 'optimize_plugins_unload.patch') +sha256sums=('SKIP' + '076be93652adebe404a076036503b95140d70d6612e34f35502909c2617d1b1d' + 'a7c9d34538215ecd4c8f05820aadfd4c41bd33527699100c0aecad631fdef267') + +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 +} + +package() { + cd dde-control-center + make INSTALL_ROOT="${pkgdir}" install +} Deleted: community-i686/deepin-control-center.install =================================================================== --- community-i686/deepin-control-center.install 2015-11-26 06:19:11 UTC (rev 147823) +++ community-i686/deepin-control-center.install 2015-11-26 06:19:57 UTC (rev 147824) @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install "$1" -} - -post_remove() { - post_install "$1" -} Copied: deepin-control-center/repos/community-i686/deepin-control-center.install (from rev 147823, deepin-control-center/trunk/deepin-control-center.install) =================================================================== --- community-i686/deepin-control-center.install (rev 0) +++ community-i686/deepin-control-center.install 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install "$1" +} + +post_remove() { + post_install "$1" +} Copied: deepin-control-center/repos/community-i686/optimize_plugins_unload.patch (from rev 147823, deepin-control-center/trunk/optimize_plugins_unload.patch) =================================================================== --- community-i686/optimize_plugins_unload.patch (rev 0) +++ community-i686/optimize_plugins_unload.patch 2015-11-26 06:19:57 UTC (rev 147824) @@ -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(); + } + Copied: deepin-control-center/repos/community-i686/show-distro-info.patch (from rev 147823, deepin-control-center/trunk/show-distro-info.patch) =================================================================== --- community-i686/show-distro-info.patch (rev 0) +++ community-i686/show-distro-info.patch 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,77 @@ +commit 5915982ccdbf060ede5123e8f7617b1cbcb1d096 +Author: Felix Yan <felixonm...@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); Deleted: community-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2015-11-26 06:19:11 UTC (rev 147823) +++ community-x86_64/PKGBUILD 2015-11-26 06:19:57 UTC (rev 147824) @@ -1,32 +0,0 @@ -# $Id$ -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Contributor: Josip Ponjavic <josipponjavic at gmail dot com> -# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com> - -pkgname=deepin-control-center -pkgver=2.91.2 -pkgrel=1 -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') -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') - -build(){ - cd dde-control-center - qmake-qt5 PREFIX=/usr WITH_MODULE_GRUB=NO - make -} - -package() { - cd dde-control-center - make INSTALL_ROOT="${pkgdir}" install -} Copied: deepin-control-center/repos/community-x86_64/PKGBUILD (from rev 147823, deepin-control-center/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,42 @@ +# $Id$ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Josip Ponjavic <josipponjavic at gmail dot com> +# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com> + +pkgname=deepin-control-center +pkgver=2.91.2 +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' '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" + 'show-distro-info.patch' + 'optimize_plugins_unload.patch') +sha256sums=('SKIP' + '076be93652adebe404a076036503b95140d70d6612e34f35502909c2617d1b1d' + 'a7c9d34538215ecd4c8f05820aadfd4c41bd33527699100c0aecad631fdef267') + +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 +} + +package() { + cd dde-control-center + make INSTALL_ROOT="${pkgdir}" install +} Deleted: community-x86_64/deepin-control-center.install =================================================================== --- community-x86_64/deepin-control-center.install 2015-11-26 06:19:11 UTC (rev 147823) +++ community-x86_64/deepin-control-center.install 2015-11-26 06:19:57 UTC (rev 147824) @@ -1,11 +0,0 @@ -post_install() { - update-desktop-database -q -} - -post_upgrade() { - post_install "$1" -} - -post_remove() { - post_install "$1" -} Copied: deepin-control-center/repos/community-x86_64/deepin-control-center.install (from rev 147823, deepin-control-center/trunk/deepin-control-center.install) =================================================================== --- community-x86_64/deepin-control-center.install (rev 0) +++ community-x86_64/deepin-control-center.install 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install "$1" +} + +post_remove() { + post_install "$1" +} Copied: deepin-control-center/repos/community-x86_64/optimize_plugins_unload.patch (from rev 147823, deepin-control-center/trunk/optimize_plugins_unload.patch) =================================================================== --- community-x86_64/optimize_plugins_unload.patch (rev 0) +++ community-x86_64/optimize_plugins_unload.patch 2015-11-26 06:19:57 UTC (rev 147824) @@ -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(); + } + Copied: deepin-control-center/repos/community-x86_64/show-distro-info.patch (from rev 147823, deepin-control-center/trunk/show-distro-info.patch) =================================================================== --- community-x86_64/show-distro-info.patch (rev 0) +++ community-x86_64/show-distro-info.patch 2015-11-26 06:19:57 UTC (rev 147824) @@ -0,0 +1,77 @@ +commit 5915982ccdbf060ede5123e8f7617b1cbcb1d096 +Author: Felix Yan <felixonm...@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);