Load resources after MainWindow showed

Change-Id: I0eeb19cbba6375a35c38db0b39ef521c68b12c98
This commit is contained in:
杨万青 2015-09-25 17:44:47 +08:00 committed by mr.asianwang
parent 593b20d5c1
commit d745f26758
Notes: Deepin Code Review 2016-06-14 07:19:47 +00:00
Code-Review+2: <mr.asianwang@gmail.com>
Verified+1: <mr.asianwang@gmail.com>
Submitted-by: <mr.asianwang@gmail.com>
Submitted-at: Mon, 28 Sep 2015 09:16:18 +0800
Reviewed-on: https://cr.deepin.io/7408
Project: dde/dde-dock
Branch: refs/heads/master
5 changed files with 23 additions and 10 deletions

View File

@ -47,6 +47,7 @@ int main(int argc, char *argv[])
MainWidget w;
w.show();
w.loadResources();
RegisterDdeSession();

View File

@ -112,6 +112,11 @@ MainWidget::~MainWidget()
}
void MainWidget::loadResources()
{
m_mainPanel->loadResources();
}
DockUIDbus::DockUIDbus(MainWidget *parent):
QDBusAbstractAdaptor(parent),
m_parent(parent)

View File

@ -25,6 +25,7 @@ class MainWidget : public QWidget
public:
MainWidget(QWidget *parent = 0);
~MainWidget();
void loadResources();
protected:
void enterEvent(QEvent *event);

View File

@ -101,36 +101,34 @@ void Panel::initWidthAnimation()
void Panel::initPluginManager()
{
DockPluginManager *pluginManager = new DockPluginManager(this);
m_pluginManager = new DockPluginManager(this);
connect(m_dockModeData, &DockModeData::dockModeChanged, pluginManager, &DockPluginManager::onDockModeChanged);
connect(pluginManager, &DockPluginManager::itemMove, [=](AbstractDockItem *baseItem, AbstractDockItem *targetItem){
connect(m_dockModeData, &DockModeData::dockModeChanged, m_pluginManager, &DockPluginManager::onDockModeChanged);
connect(m_pluginManager, &DockPluginManager::itemMove, [=](AbstractDockItem *baseItem, AbstractDockItem *targetItem){
m_pluginLayout->moveItem(m_pluginLayout->indexOf(targetItem), m_pluginLayout->indexOf(baseItem));
});
connect(pluginManager, &DockPluginManager::itemAppend, [=](AbstractDockItem *targetItem){
connect(m_pluginManager, &DockPluginManager::itemAppend, [=](AbstractDockItem *targetItem){
m_pluginLayout->addItem(targetItem);
connect(targetItem, &AbstractDockItem::needPreviewShow, this, &Panel::onNeedPreviewShow);
connect(targetItem, &AbstractDockItem::needPreviewHide, this, &Panel::onNeedPreviewHide);
connect(targetItem, &AbstractDockItem::needPreviewImmediatelyHide, this, &Panel::onNeedPreviewImmediatelyHide);
connect(targetItem, &AbstractDockItem::needPreviewUpdate, m_globalPreview, &PreviewFrame::resizeWithContent);
});
connect(pluginManager, &DockPluginManager::itemInsert, [=](AbstractDockItem *baseItem, AbstractDockItem *targetItem){
connect(m_pluginManager, &DockPluginManager::itemInsert, [=](AbstractDockItem *baseItem, AbstractDockItem *targetItem){
m_pluginLayout->insertItem(targetItem, m_pluginLayout->indexOf(baseItem));
connect(targetItem, &AbstractDockItem::needPreviewShow, this, &Panel::onNeedPreviewShow);
connect(targetItem, &AbstractDockItem::needPreviewHide, this, &Panel::onNeedPreviewHide);
connect(targetItem, &AbstractDockItem::needPreviewImmediatelyHide, this, &Panel::onNeedPreviewImmediatelyHide);
connect(targetItem, &AbstractDockItem::needPreviewUpdate, m_globalPreview, &PreviewFrame::resizeWithContent);
});
connect(pluginManager, &DockPluginManager::itemRemoved, [=](AbstractDockItem* item) {
connect(m_pluginManager, &DockPluginManager::itemRemoved, [=](AbstractDockItem* item) {
m_pluginLayout->removeItem(item);
item->deleteLater();
});
connect(PanelMenu::instance(), &PanelMenu::settingPlugin, [=]{
QRect rec = QApplication::desktop()->screenGeometry();
pluginManager->onPluginsSetting(rec.height() - height());
m_pluginManager->onPluginsSetting(rec.height() - height());
});
pluginManager->initAll();
}
void Panel::initPluginLayout()
@ -162,7 +160,6 @@ void Panel::initAppManager()
m_appManager = new AppManager(this);
connect(m_appManager, &AppManager::entryAdded, this, &Panel::onAppItemAdd);
connect(m_appManager, &AppManager::entryRemoved, this, &Panel::onAppItemRemove);
m_appManager->initEntries();
}
void Panel::initReflection()
@ -446,6 +443,12 @@ void Panel::showPanelMenu()
PanelMenu::instance()->showMenu(tmpPos.x(),tmpPos.y());
}
void Panel::loadResources()
{
m_pluginManager->initAll();
m_appManager->initEntries();
}
void Panel::setY(int value)
{
move(x(), value);

View File

@ -17,6 +17,7 @@
#include "panelmenu.h"
class LayoutDropMask;
class DockPluginManager;
class Panel : public QLabel
{
Q_OBJECT
@ -31,6 +32,7 @@ public:
void setContainMouse(bool value); //for smart-hide and keep-hide
bool isFashionMode(); //for qss setting background
void showPanelMenu();
void loadResources();
signals:
void startShow();
@ -90,6 +92,7 @@ private:
QWidget *m_parentWidget = NULL;
LayoutDropMask *m_pluginLayoutMask = NULL;
DockLayout *m_appLayout = NULL;
DockPluginManager *m_pluginManager = NULL;
bool m_containMouse = false;
bool m_isFashionMode = false;