From 98f0c759430157415c2eacb4f11d1cd9d886c337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=8D=9A=E6=96=87?= Date: Wed, 22 Jun 2016 16:41:36 +0800 Subject: [PATCH] add display mode changed signal Change-Id: I5edc6fc2220b58d2ee0cb6c13f867bea43860084 --- frame/panel/mainpanel.cpp | 14 ++++++++++++-- frame/panel/mainpanel.h | 1 + frame/util/docksettings.cpp | 5 +++++ frame/util/docksettings.h | 1 + frame/window/mainwindow.cpp | 1 + 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/frame/panel/mainpanel.cpp b/frame/panel/mainpanel.cpp index b40a31f4e..4176463ba 100644 --- a/frame/panel/mainpanel.cpp +++ b/frame/panel/mainpanel.cpp @@ -58,6 +58,16 @@ void MainPanel::updateDockPosition(const Position dockPosition) m_itemAdjustTimer->start(); } +void MainPanel::updateDockDisplayMode(const DisplayMode displayMode) +{ + const QList itemList = m_itemController->itemList(); + for (auto item : itemList) + { + if (item->itemType() == DockItem::Placeholder) + item->setVisible(displayMode == Dock::Efficient); + } +} + void MainPanel::resizeEvent(QResizeEvent *e) { QWidget::resizeEvent(e); @@ -192,13 +202,13 @@ void MainPanel::adjustItemSize() int base; if (m_position == Dock::Top || m_position == Dock::Bottom) { - qDebug() << "width: " << totalWidth << width(); +// qDebug() << "width: " << totalWidth << width(); overflow = totalWidth; base = width(); } else { - qDebug() << "height: " << totalHeight << height(); +// qDebug() << "height: " << totalHeight << height(); overflow = totalHeight; base = height(); } diff --git a/frame/panel/mainpanel.h b/frame/panel/mainpanel.h index b91f9fcf5..69d60052b 100644 --- a/frame/panel/mainpanel.h +++ b/frame/panel/mainpanel.h @@ -16,6 +16,7 @@ public: explicit MainPanel(QWidget *parent = 0); void updateDockPosition(const Position dockPosition); + void updateDockDisplayMode(const Dock::DisplayMode displayMode); private: void resizeEvent(QResizeEvent *e); diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index 79ea63ae5..df5e05e9d 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -91,6 +91,11 @@ DockSettings::DockSettings(QObject *parent) calculateWindowConfig(); } +DisplayMode DockSettings::displayMode() const +{ + return m_displayMode; +} + Position DockSettings::position() const { return m_position; diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index e62e361c9..dddbd071f 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -24,6 +24,7 @@ class DockSettings : public QObject public: explicit DockSettings(QObject *parent = 0); + DisplayMode displayMode() const; Position position() const; int screenHeight() const; const QRect primaryRect() const; diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index 3e7980462..3e95c4ad5 100644 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -83,6 +83,7 @@ void MainWindow::updateGeometry() { setFixedSize(m_settings->windowSize()); m_mainPanel->updateDockPosition(m_settings->position()); + m_mainPanel->updateDockDisplayMode(m_settings->displayMode()); const QRect primaryRect = m_settings->primaryRect(); const int offsetX = (primaryRect.width() - width()) / 2;