mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
fix: 修复任务栏图标数量过多的情况下超出屏幕区域的问题
1.计算当前任务栏的尺寸,和屏幕的尺寸取最小值,将这个最小值作为任务栏的实际尺寸 2.当任务栏插件区域行数发生变化的时候,通知任务栏调整尺寸,保证在任务栏调整位置的时候显示的尺寸始终是正确的 Log: Influence: 1、任务栏图标超过比较多的情况下,查看任务栏是否超出屏幕 2、任务栏从下调整到上方,查看插件区域是否显示异常 Bug: https://pms.uniontech.com/task-view-150049.html Change-Id: Ic3acd480c7f9deda7e8dfce8b7d7858c76a215e8
This commit is contained in:
parent
0a35f5b5e0
commit
2ee2fe9eca
@ -935,7 +935,7 @@ void MultiScreenWorker::initConnection()
|
|||||||
connect(qApp, &QApplication::primaryScreenChanged, this, &MultiScreenWorker::primaryScreenChanged);
|
connect(qApp, &QApplication::primaryScreenChanged, this, &MultiScreenWorker::primaryScreenChanged);
|
||||||
connect(DIS_INS, &DisplayManager::primaryScreenChanged, this, &MultiScreenWorker::primaryScreenChanged);
|
connect(DIS_INS, &DisplayManager::primaryScreenChanged, this, &MultiScreenWorker::primaryScreenChanged);
|
||||||
connect(DIS_INS, &DisplayManager::screenInfoChanged, this, &MultiScreenWorker::requestUpdateMonitorInfo);
|
connect(DIS_INS, &DisplayManager::screenInfoChanged, this, &MultiScreenWorker::requestUpdateMonitorInfo);
|
||||||
connect(parent()->panel(), &MainPanelControl::sizeChanged, this, &MultiScreenWorker::onChildSizeChanged);
|
connect(parent()->panel(), &MainPanelControl::requestUpdate, this, &MultiScreenWorker::onChildSizeChanged);
|
||||||
|
|
||||||
connect(m_launcherInter, static_cast<void (DBusLuncher::*)(bool) const>(&DBusLuncher::VisibleChanged), this, [ = ](bool value) { setStates(LauncherDisplay, value); });
|
connect(m_launcherInter, static_cast<void (DBusLuncher::*)(bool) const>(&DBusLuncher::VisibleChanged), this, [ = ](bool value) { setStates(LauncherDisplay, value); });
|
||||||
|
|
||||||
|
@ -96,6 +96,7 @@ MainPanelControl::MainPanelControl(QWidget *parent)
|
|||||||
, m_dockScreen(nullptr)
|
, m_dockScreen(nullptr)
|
||||||
{
|
{
|
||||||
initUI();
|
initUI();
|
||||||
|
initConnection();
|
||||||
updateMainPanelLayout();
|
updateMainPanelLayout();
|
||||||
updateModeChange();
|
updateModeChange();
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
@ -153,20 +154,9 @@ void MainPanelControl::initUI()
|
|||||||
m_pluginLayout->setContentsMargins(0, 0, 0, 0);
|
m_pluginLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
m_mainPanelLayout->addWidget(m_pluginAreaWidget, 0, Qt::AlignCenter);
|
m_mainPanelLayout->addWidget(m_pluginAreaWidget, 0, Qt::AlignCenter);
|
||||||
|
|
||||||
|
|
||||||
m_mainPanelLayout->addSpacing(15);
|
m_mainPanelLayout->addSpacing(15);
|
||||||
m_mainPanelLayout->addWidget(m_trayManagerWidget);
|
m_mainPanelLayout->addWidget(m_trayManagerWidget);
|
||||||
|
|
||||||
connect(m_trayManagerWidget, &TrayManagerWindow::sizeChanged, this, [ this ] {
|
|
||||||
QSize suitableSize = m_trayManagerWidget->suitableSize();
|
|
||||||
if (m_position == Position::Right || m_position == Position::Left)
|
|
||||||
m_trayManagerWidget->setFixedSize(width(), suitableSize.height());
|
|
||||||
else
|
|
||||||
m_trayManagerWidget->setFixedSize(suitableSize.width(), height());
|
|
||||||
|
|
||||||
Q_EMIT sizeChanged();
|
|
||||||
});
|
|
||||||
|
|
||||||
/* 桌面预览 */
|
/* 桌面预览 */
|
||||||
m_desktopWidget->setObjectName("showdesktoparea");
|
m_desktopWidget->setObjectName("showdesktoparea");
|
||||||
m_mainPanelLayout->addWidget(m_desktopWidget);
|
m_mainPanelLayout->addWidget(m_desktopWidget);
|
||||||
@ -178,6 +168,11 @@ void MainPanelControl::initUI()
|
|||||||
m_mainPanelLayout->setAlignment(m_traySpliter, Qt::AlignCenter);
|
m_mainPanelLayout->setAlignment(m_traySpliter, Qt::AlignCenter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainPanelControl::initConnection()
|
||||||
|
{
|
||||||
|
connect(m_trayManagerWidget, &TrayManagerWindow::requestUpdate, this, &MainPanelControl::onRequestUpdate);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief MainPanelControl::setDisplayMode 根据任务栏显示模式更新界面显示,如果是时尚模式,没有‘显示桌面'区域,否则就有
|
* @brief MainPanelControl::setDisplayMode 根据任务栏显示模式更新界面显示,如果是时尚模式,没有‘显示桌面'区域,否则就有
|
||||||
* @param dislayMode 任务栏显示模式
|
* @param dislayMode 任务栏显示模式
|
||||||
@ -249,7 +244,7 @@ void MainPanelControl::addFixedAreaItem(int index, QWidget *wdg)
|
|||||||
wdg->setMaximumSize(width(),width());
|
wdg->setMaximumSize(width(),width());
|
||||||
}
|
}
|
||||||
m_fixedAreaLayout->insertWidget(index, wdg);
|
m_fixedAreaLayout->insertWidget(index, wdg);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**往应用区域添加应用
|
/**往应用区域添加应用
|
||||||
@ -265,7 +260,7 @@ void MainPanelControl::addAppAreaItem(int index, QWidget *wdg)
|
|||||||
wdg->setMaximumSize(width(),width());
|
wdg->setMaximumSize(width(),width());
|
||||||
}
|
}
|
||||||
m_appAreaSonLayout->insertWidget(index, wdg);
|
m_appAreaSonLayout->insertWidget(index, wdg);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**往托盘插件区域添加应用
|
/**往托盘插件区域添加应用
|
||||||
@ -307,7 +302,7 @@ void MainPanelControl::addPluginAreaItem(int index, QWidget *wdg)
|
|||||||
void MainPanelControl::removeFixedAreaItem(QWidget *wdg)
|
void MainPanelControl::removeFixedAreaItem(QWidget *wdg)
|
||||||
{
|
{
|
||||||
m_fixedAreaLayout->removeWidget(wdg);
|
m_fixedAreaLayout->removeWidget(wdg);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**移除应用区域某一应用
|
/**移除应用区域某一应用
|
||||||
@ -317,7 +312,7 @@ void MainPanelControl::removeFixedAreaItem(QWidget *wdg)
|
|||||||
void MainPanelControl::removeAppAreaItem(QWidget *wdg)
|
void MainPanelControl::removeAppAreaItem(QWidget *wdg)
|
||||||
{
|
{
|
||||||
m_appAreaSonLayout->removeWidget(wdg);
|
m_appAreaSonLayout->removeWidget(wdg);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**移除托盘插件区域某一应用
|
/**移除托盘插件区域某一应用
|
||||||
@ -1054,19 +1049,24 @@ QSize MainPanelControl::suitableSize(int screenSize, double deviceRatio) const
|
|||||||
return QSize(width(), static_cast<int>((traySuitableSize.height() + 20) / ratio));
|
return QSize(width(), static_cast<int>((traySuitableSize.height() + 20) / ratio));
|
||||||
}
|
}
|
||||||
|
|
||||||
int yu = (totalLength % iconCount);
|
int redundantLength = (totalLength % iconCount);
|
||||||
// icon宽度 = (总宽度-余数)/icon个数
|
// icon宽度 = (总宽度-余数)/icon个数
|
||||||
int iconSize = (totalLength - yu) / iconCount;
|
int iconSize = (totalLength - redundantLength) / iconCount;
|
||||||
|
|
||||||
if (m_position == Position::Top || m_position == Position::Bottom) {
|
if (m_position == Position::Top || m_position == Position::Bottom) {
|
||||||
iconSize = iconSize < height() ? iconSize : height();
|
iconSize = iconSize < height() ? iconSize : height();
|
||||||
return QSize(iconSize * iconCount + static_cast<int>((m_fixedSpliter->width() + traySuitableSize.width() + 20) / ratio),
|
int panelWidth = qMin(iconSize * iconCount + static_cast<int>((m_fixedSpliter->width() + traySuitableSize.width() + 20) / ratio),
|
||||||
static_cast<int>(height() / ratio));
|
static_cast<int>(screenSize / deviceRatio));
|
||||||
|
|
||||||
|
return QSize(panelWidth, static_cast<int>(height() / ratio));
|
||||||
}
|
}
|
||||||
|
|
||||||
iconSize = iconSize < width() ? iconSize : width();
|
iconSize = iconSize < width() ? iconSize : width();
|
||||||
|
|
||||||
return QSize(width(), iconSize * iconCount + static_cast<int>((m_fixedSpliter->height() + traySuitableSize.height() + 20) / ratio));
|
int panelHeight = qMin(iconSize * iconCount + static_cast<int>((m_fixedSpliter->height() + traySuitableSize.height() + 20) / ratio),
|
||||||
|
static_cast<int>(screenSize / deviceRatio));
|
||||||
|
|
||||||
|
return QSize(width(), panelHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainPanelControl::itemUpdated(DockItem *item)
|
void MainPanelControl::itemUpdated(DockItem *item)
|
||||||
@ -1128,8 +1128,9 @@ void MainPanelControl::resizeDockIcon()
|
|||||||
// 总宽度
|
// 总宽度
|
||||||
if (m_dislayMode == DisplayMode::Fashion) {
|
if (m_dislayMode == DisplayMode::Fashion) {
|
||||||
int totalLength = getScreenSize();
|
int totalLength = getScreenSize();
|
||||||
|
QSize trayManagerSize = m_trayManagerWidget->suitableSize();
|
||||||
// 减去右侧托盘和插件区域的宽度
|
// 减去右侧托盘和插件区域的宽度
|
||||||
totalLength -= ((m_position == Position::Top) || (m_position == Position::Bottom)) ? m_trayManagerWidget->width() : m_trayManagerWidget->height();
|
totalLength -= ((m_position == Position::Top) || (m_position == Position::Bottom)) ? trayManagerSize.width() : trayManagerSize.height();
|
||||||
|
|
||||||
iconCount = m_fixedAreaLayout->count() + m_appAreaSonLayout->count();
|
iconCount = m_fixedAreaLayout->count() + m_appAreaSonLayout->count();
|
||||||
|
|
||||||
@ -1140,7 +1141,6 @@ void MainPanelControl::resizeDockIcon()
|
|||||||
int yu = (totalLength % iconCount);
|
int yu = (totalLength % iconCount);
|
||||||
// icon宽度 = (总宽度-余数)/icon个数
|
// icon宽度 = (总宽度-余数)/icon个数
|
||||||
iconSize = (totalLength - yu) / iconCount;
|
iconSize = (totalLength - yu) / iconCount;
|
||||||
|
|
||||||
// 计算插件图标的最大或最小值
|
// 计算插件图标的最大或最小值
|
||||||
tray_item_size = qBound(20, iconSize, 40);
|
tray_item_size = qBound(20, iconSize, 40);
|
||||||
if ((m_position == Position::Top) || (m_position == Position::Bottom)) {
|
if ((m_position == Position::Top) || (m_position == Position::Bottom)) {
|
||||||
@ -1344,6 +1344,14 @@ void MainPanelControl::calcuDockIconSize(int w, int h, int traySize)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainPanelControl::onRequestUpdate()
|
||||||
|
{
|
||||||
|
resizeDesktopWidget();
|
||||||
|
// 在插件区域界面发生变化后(新增插件、删除插件、时间长度变化,新增托盘等),会触发当前的信号,此时当前类
|
||||||
|
// 的尺寸还未变化,因此在此处发送requestUpdate信号,通知外面来调整任务栏右侧的大小,同时计算整个任务栏的大小
|
||||||
|
Q_EMIT requestUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
/**时尚模式没有‘显示桌面’区域
|
/**时尚模式没有‘显示桌面’区域
|
||||||
* @brief MainPanelControl::resizeDesktopWidget
|
* @brief MainPanelControl::resizeDesktopWidget
|
||||||
*/
|
*/
|
||||||
|
@ -64,10 +64,11 @@ public slots:
|
|||||||
signals:
|
signals:
|
||||||
void itemMoved(DockItem *sourceItem, DockItem *targetItem);
|
void itemMoved(DockItem *sourceItem, DockItem *targetItem);
|
||||||
void itemAdded(const QString &appDesktop, int idx);
|
void itemAdded(const QString &appDesktop, int idx);
|
||||||
void sizeChanged();
|
void requestUpdate();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initUI();
|
void initUI();
|
||||||
|
void initConnection();
|
||||||
void updateAppAreaSonWidgetSize();
|
void updateAppAreaSonWidgetSize();
|
||||||
void updateMainPanelLayout();
|
void updateMainPanelLayout();
|
||||||
void updateDisplayMode();
|
void updateDisplayMode();
|
||||||
@ -95,6 +96,9 @@ private:
|
|||||||
bool appIsOnDock(const QString &appDesktop);
|
bool appIsOnDock(const QString &appDesktop);
|
||||||
void resetRadius();
|
void resetRadius();
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void onRequestUpdate();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void dragMoveEvent(QDragMoveEvent *e) override;
|
void dragMoveEvent(QDragMoveEvent *e) override;
|
||||||
void dragEnterEvent(QDragEnterEvent *e) override;
|
void dragEnterEvent(QDragEnterEvent *e) override;
|
||||||
|
@ -317,7 +317,7 @@ void MainWindow::initConnections()
|
|||||||
connect(m_wmHelper, &DWindowManagerHelper::hasCompositeChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
connect(m_wmHelper, &DWindowManagerHelper::hasCompositeChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||||
connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||||
connect(&m_platformWindowHandle, &DPlatformWindowHandle::windowRadiusChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
connect(&m_platformWindowHandle, &DPlatformWindowHandle::windowRadiusChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||||
connect(m_mainPanel, &MainPanelControl::sizeChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
connect(m_mainPanel, &MainPanelControl::requestUpdate, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||||
|
|
||||||
connect(m_dbusDaemonInterface, &QDBusConnectionInterface::serviceOwnerChanged, this, &MainWindow::onDbusNameOwnerChanged);
|
connect(m_dbusDaemonInterface, &QDBusConnectionInterface::serviceOwnerChanged, this, &MainWindow::onDbusNameOwnerChanged);
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ void SystemPluginWindow::onPluginItemAdded(StretchPluginsItem *pluginItem)
|
|||||||
pluginItem->setParent(this);
|
pluginItem->setParent(this);
|
||||||
pluginItem->show();
|
pluginItem->show();
|
||||||
m_mainLayout->addWidget(pluginItem);
|
m_mainLayout->addWidget(pluginItem);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT itemChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemPluginWindow::onPluginItemRemoved(StretchPluginsItem *pluginItem)
|
void SystemPluginWindow::onPluginItemRemoved(StretchPluginsItem *pluginItem)
|
||||||
@ -127,7 +127,7 @@ void SystemPluginWindow::onPluginItemRemoved(StretchPluginsItem *pluginItem)
|
|||||||
pluginItem->setParent(nullptr);
|
pluginItem->setParent(nullptr);
|
||||||
pluginItem->hide();
|
pluginItem->hide();
|
||||||
m_mainLayout->removeWidget(pluginItem);
|
m_mainLayout->removeWidget(pluginItem);
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT itemChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemPluginWindow::onPluginItemUpdated(StretchPluginsItem *pluginItem)
|
void SystemPluginWindow::onPluginItemUpdated(StretchPluginsItem *pluginItem)
|
||||||
|
@ -45,7 +45,7 @@ public:
|
|||||||
QSize suitableSize();
|
QSize suitableSize();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void sizeChanged();
|
void itemChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initUi();
|
void initUi();
|
||||||
|
@ -82,6 +82,8 @@ void TrayManagerWindow::updateLayout()
|
|||||||
if (m_postion == Dock::Position::Top || m_postion == Dock::Position::Bottom)
|
if (m_postion == Dock::Position::Top || m_postion == Dock::Position::Bottom)
|
||||||
showSingle = (topLevelWidget()->height() <= CRITLCALHEIGHT);
|
showSingle = (topLevelWidget()->height() <= CRITLCALHEIGHT);
|
||||||
|
|
||||||
|
QBoxLayout::Direction lastDirection = m_appDatetimeLayout->direction();
|
||||||
|
|
||||||
if (showSingle)
|
if (showSingle)
|
||||||
resetSingleDirection();
|
resetSingleDirection();
|
||||||
else
|
else
|
||||||
@ -90,6 +92,10 @@ void TrayManagerWindow::updateLayout()
|
|||||||
resetChildWidgetSize();
|
resetChildWidgetSize();
|
||||||
// 当尺寸发生变化的时候,通知托盘区域刷新尺寸,让托盘图标始终保持居中显示
|
// 当尺寸发生变化的时候,通知托盘区域刷新尺寸,让托盘图标始终保持居中显示
|
||||||
Q_EMIT m_delegate->sizeHintChanged(m_model->index(0, 0));
|
Q_EMIT m_delegate->sizeHintChanged(m_model->index(0, 0));
|
||||||
|
|
||||||
|
// 当插件区域从单行变成两行或者两行变成单行的时候,发送该信号,通知外部重新调整区域大小
|
||||||
|
if (lastDirection != m_appDatetimeLayout->direction())
|
||||||
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrayManagerWindow::setPositon(Dock::Position position)
|
void TrayManagerWindow::setPositon(Dock::Position position)
|
||||||
@ -237,11 +243,11 @@ void TrayManagerWindow::initConnection()
|
|||||||
// 在加载界面的时候,会出现快捷设置区域的图标和左侧的托盘图标挤在一起(具体原因未知),此时需要延时50毫秒重新刷新界面来保证界面布局正常(临时解决方案)
|
// 在加载界面的时候,会出现快捷设置区域的图标和左侧的托盘图标挤在一起(具体原因未知),此时需要延时50毫秒重新刷新界面来保证界面布局正常(临时解决方案)
|
||||||
QTimer::singleShot(50, this, [ this ] {
|
QTimer::singleShot(50, this, [ this ] {
|
||||||
resetChildWidgetSize();
|
resetChildWidgetSize();
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
resetChildWidgetSize();
|
resetChildWidgetSize();
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
connect(m_quickIconWidget, &QuickPluginWindow::itemCountChanged, this, [ this ] {
|
connect(m_quickIconWidget, &QuickPluginWindow::itemCountChanged, this, [ this ] {
|
||||||
@ -252,10 +258,10 @@ void TrayManagerWindow::initConnection()
|
|||||||
else
|
else
|
||||||
m_quickIconWidget->setFixedHeight(m_quickIconWidget->suitableSize().height());
|
m_quickIconWidget->setFixedHeight(m_quickIconWidget->suitableSize().height());
|
||||||
|
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_systemPluginWidget, &SystemPluginWindow::sizeChanged, this, [ this ] {
|
connect(m_systemPluginWidget, &SystemPluginWindow::itemChanged, this, [ this ] {
|
||||||
// 当系统插件发生变化的时候,同样需要调整尺寸
|
// 当系统插件发生变化的时候,同样需要调整尺寸
|
||||||
m_systemPluginWidget->setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
m_systemPluginWidget->setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||||
if (m_postion == Dock::Position::Top || m_postion == Dock::Position::Bottom)
|
if (m_postion == Dock::Position::Top || m_postion == Dock::Position::Bottom)
|
||||||
@ -263,13 +269,13 @@ void TrayManagerWindow::initConnection()
|
|||||||
else
|
else
|
||||||
m_systemPluginWidget->setFixedHeight(m_systemPluginWidget->suitableSize().height());
|
m_systemPluginWidget->setFixedHeight(m_systemPluginWidget->suitableSize().height());
|
||||||
|
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_delegate, &TrayDelegate::visibleChanged, this, [ this ](const QModelIndex &index, bool visible) {
|
connect(m_delegate, &TrayDelegate::visibleChanged, this, [ this ](const QModelIndex &index, bool visible) {
|
||||||
m_trayView->setRowHidden(index.row(), !visible);
|
m_trayView->setRowHidden(index.row(), !visible);
|
||||||
resetChildWidgetSize();
|
resetChildWidgetSize();
|
||||||
Q_EMIT sizeChanged();
|
Q_EMIT requestUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_trayView, &TrayGridView::dragLeaved, m_delegate, [ this ]{
|
connect(m_trayView, &TrayGridView::dragLeaved, m_delegate, [ this ]{
|
||||||
@ -288,12 +294,12 @@ void TrayManagerWindow::initConnection()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
connect(m_dateTimeWidget, &DateTimeDisplayer::sizeChanged, this, &TrayManagerWindow::sizeChanged);
|
connect(m_dateTimeWidget, &DateTimeDisplayer::sizeChanged, this, &TrayManagerWindow::requestUpdate);
|
||||||
|
|
||||||
m_trayView->installEventFilter(this);
|
m_trayView->installEventFilter(this);
|
||||||
m_quickIconWidget->installEventFilter(this);
|
m_quickIconWidget->installEventFilter(this);
|
||||||
installEventFilter(this);
|
installEventFilter(this);
|
||||||
QMetaObject::invokeMethod(this, &TrayManagerWindow::sizeChanged, Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, &TrayManagerWindow::requestUpdate, Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrayManagerWindow::resetChildWidgetSize()
|
void TrayManagerWindow::resetChildWidgetSize()
|
||||||
|
@ -57,7 +57,7 @@ public:
|
|||||||
QSize suitableSize();
|
QSize suitableSize();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void sizeChanged();
|
void requestUpdate();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user