add display mode changed signal

Change-Id: I5edc6fc2220b58d2ee0cb6c13f867bea43860084
This commit is contained in:
石博文 2016-06-22 16:41:36 +08:00 committed by Hualet Wang
parent fc746d4505
commit 98f0c75943
5 changed files with 20 additions and 2 deletions

View File

@ -58,6 +58,16 @@ void MainPanel::updateDockPosition(const Position dockPosition)
m_itemAdjustTimer->start();
}
void MainPanel::updateDockDisplayMode(const DisplayMode displayMode)
{
const QList<DockItem *> 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();
}

View File

@ -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);

View File

@ -91,6 +91,11 @@ DockSettings::DockSettings(QObject *parent)
calculateWindowConfig();
}
DisplayMode DockSettings::displayMode() const
{
return m_displayMode;
}
Position DockSettings::position() const
{
return m_position;

View File

@ -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;

View File

@ -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;