mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
optimize state
Change-Id: I12a06315c8ecbee872d2e6b75108b903134a36de
This commit is contained in:
parent
9ad6126e92
commit
184725a2d2
@ -266,6 +266,8 @@ void MainPanel::adjustItemSize()
|
||||
|
||||
// ensure all extra space assigned
|
||||
Q_ASSERT(extraDecrease == 0);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
void MainPanel::itemInserted(const int index, DockItem *item)
|
||||
|
@ -34,6 +34,7 @@ DockSettings::DockSettings(QWidget *parent)
|
||||
m_position = Dock::Position(m_dockInter->position());
|
||||
m_displayMode = Dock::DisplayMode(m_dockInter->displayMode());
|
||||
m_hideMode = Dock::HideMode(m_dockInter->hideMode());
|
||||
m_hideState = Dock::HideState(m_dockInter->hideState());
|
||||
m_iconSize = m_dockInter->iconSize();
|
||||
AppItem::setIconBaseSize(m_iconSize);
|
||||
DockItem::setDockPosition(m_position);
|
||||
@ -92,7 +93,7 @@ DockSettings::DockSettings(QWidget *parent)
|
||||
connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged);
|
||||
connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::displayModeChanged);
|
||||
connect(m_dockInter, &DBusDock::HideModeChanged, this, &DockSettings::hideModeChanged);
|
||||
connect(m_dockInter, &DBusDock::HideStateChanged, this, &DockSettings::windowVisibleChanegd);
|
||||
connect(m_dockInter, &DBusDock::HideStateChanged, this, &DockSettings::hideStateChanegd);
|
||||
|
||||
connect(m_itemController, &DockItemController::itemInserted, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection);
|
||||
connect(m_itemController, &DockItemController::itemRemoved, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection);
|
||||
@ -124,7 +125,7 @@ int DockSettings::screenHeight() const
|
||||
|
||||
HideState DockSettings::hideState() const
|
||||
{
|
||||
return HideState(m_dockInter->hideState());
|
||||
return m_hideState;
|
||||
}
|
||||
|
||||
const QRect DockSettings::primaryRect() const
|
||||
@ -232,6 +233,13 @@ void DockSettings::hideModeChanged()
|
||||
emit windowHideModeChanged();
|
||||
}
|
||||
|
||||
void DockSettings::hideStateChanegd()
|
||||
{
|
||||
m_hideState = Dock::HideState(m_dockInter->hideState());
|
||||
|
||||
emit windowVisibleChanegd();
|
||||
}
|
||||
|
||||
void DockSettings::dockItemCountChanged()
|
||||
{
|
||||
if (m_displayMode == Dock::Efficient)
|
||||
|
@ -49,6 +49,7 @@ private slots:
|
||||
void iconSizeChanged();
|
||||
void displayModeChanged();
|
||||
void hideModeChanged();
|
||||
void hideStateChanegd();
|
||||
void dockItemCountChanged();
|
||||
void primaryScreenChanged();
|
||||
|
||||
@ -59,6 +60,7 @@ private:
|
||||
int m_iconSize;
|
||||
Position m_position;
|
||||
HideMode m_hideMode;
|
||||
HideState m_hideState;
|
||||
DisplayMode m_displayMode;
|
||||
QRect m_primaryRect;
|
||||
QSize m_mainWindowSize;
|
||||
|
@ -82,6 +82,9 @@ void MainWindow::setFixedSize(const QSize &size)
|
||||
|
||||
void MainWindow::move(int x, int y)
|
||||
{
|
||||
if (this->pos() == QPoint(x, y))
|
||||
return;
|
||||
|
||||
if (m_posChangeAni->state() == QPropertyAnimation::Running)
|
||||
return m_posChangeAni->setEndValue(QPoint(x, y));
|
||||
|
||||
@ -106,13 +109,13 @@ void MainWindow::initComponents()
|
||||
void MainWindow::initConnections()
|
||||
{
|
||||
connect(m_settings, &DockSettings::dataChanged, m_positionUpdateTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||
connect(m_settings, &DockSettings::windowGeometryChanged, this, &MainWindow::updateGeometry);
|
||||
connect(m_settings, &DockSettings::windowHideModeChanged, this, &MainWindow::setStrutPartial);
|
||||
connect(m_settings, &DockSettings::windowVisibleChanegd, this, &MainWindow::updatePanelVisible);
|
||||
connect(m_settings, &DockSettings::windowGeometryChanged, this, &MainWindow::updateGeometry, Qt::QueuedConnection);
|
||||
connect(m_settings, &DockSettings::windowHideModeChanged, this, &MainWindow::setStrutPartial, Qt::QueuedConnection);
|
||||
connect(m_settings, &DockSettings::windowVisibleChanegd, this, &MainWindow::updatePanelVisible, Qt::QueuedConnection);
|
||||
|
||||
connect(m_panelHideAni, &QPropertyAnimation::finished, this, &MainWindow::updateGeometry);
|
||||
|
||||
connect(m_positionUpdateTimer, &QTimer::timeout, this, &MainWindow::updatePosition);
|
||||
connect(m_positionUpdateTimer, &QTimer::timeout, this, &MainWindow::updatePosition, Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void MainWindow::updatePosition()
|
||||
@ -134,6 +137,7 @@ void MainWindow::updateGeometry()
|
||||
m_mainPanel->updateDockDisplayMode(m_settings->displayMode());
|
||||
|
||||
QSize size = m_settings->windowSize();
|
||||
setFixedSize(size);
|
||||
if (m_settings->hideState() == Hide)
|
||||
{
|
||||
m_sizeChangeAni->stop();
|
||||
@ -146,10 +150,6 @@ void MainWindow::updateGeometry()
|
||||
}
|
||||
QWidget::setFixedSize(size);
|
||||
}
|
||||
else
|
||||
{
|
||||
setFixedSize(size);
|
||||
}
|
||||
|
||||
const QRect primaryRect = m_settings->primaryRect();
|
||||
const int offsetX = (primaryRect.width() - size.width()) / 2;
|
||||
@ -169,6 +169,7 @@ void MainWindow::updateGeometry()
|
||||
Q_ASSERT(false);
|
||||
}
|
||||
|
||||
qDebug() << this->size() << m_mainPanel->size();
|
||||
update();
|
||||
}
|
||||
|
||||
@ -230,9 +231,12 @@ void MainWindow::setStrutPartial()
|
||||
|
||||
void MainWindow::expand()
|
||||
{
|
||||
if (m_mainPanel->pos() == QPoint(0, 0))
|
||||
const QPoint finishPos(0, 0);
|
||||
|
||||
if (m_mainPanel->pos() == finishPos)
|
||||
return;
|
||||
|
||||
// reset environment
|
||||
m_sizeChangeAni->stop();
|
||||
m_posChangeAni->stop();
|
||||
const QSize size = m_settings->windowSize();
|
||||
@ -255,7 +259,6 @@ void MainWindow::expand()
|
||||
Q_ASSERT(false);
|
||||
}
|
||||
|
||||
const QPoint finishPos(0, 0);
|
||||
if (m_panelShowAni->state() == QPropertyAnimation::Running)
|
||||
return m_panelShowAni->setEndValue(finishPos);
|
||||
|
||||
@ -300,7 +303,7 @@ void MainWindow::updatePanelVisible()
|
||||
{
|
||||
const Dock::HideState state = m_settings->hideState();
|
||||
|
||||
// qDebug() << state;
|
||||
qDebug() << state;
|
||||
|
||||
if (state == Unknown)
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user