fix: set radius for tray inner window

make m_platformWindowHandle protected so subclass can connect to windowRadiusChanged signal,
which make traymainwindow radius changed follow mainwindow

log: make trymainwindows radius changed follow mainwindow
This commit is contained in:
tsic404 2023-05-06 12:44:23 +08:00 committed by Tsic
parent dc77b8904d
commit 5908ee1605
4 changed files with 8 additions and 8 deletions

View File

@ -37,12 +37,12 @@ DGUI_USE_NAMESPACE
MainWindowBase::MainWindowBase(MultiScreenWorker *multiScreenWorker, QWidget *parent)
: DBlurEffectWidget(parent)
, m_platformWindowHandle(this)
, m_displayMode(Dock::DisplayMode::Efficient)
, m_position(Dock::Position::Bottom)
, m_dragWidget(new DragWidget(this))
, m_multiScreenWorker(multiScreenWorker)
, m_updateDragAreaTimer(new QTimer(this))
, m_platformWindowHandle(this)
, m_shadowMaskOptimizeTimer(new QTimer(this))
, m_isShow(false)
, m_order(0)

View File

@ -89,13 +89,15 @@ private Q_SLOTS:
void onCompositeChanged();
void onThemeTypeChanged(DGuiApplicationHelper::ColorType themeType);
protected:
DPlatformWindowHandle m_platformWindowHandle;
private:
Dock::DisplayMode m_displayMode;
Dock::Position m_position;
DragWidget *m_dragWidget;
MultiScreenWorker *m_multiScreenWorker;
QTimer *m_updateDragAreaTimer;
DPlatformWindowHandle m_platformWindowHandle;
QTimer *m_shadowMaskOptimizeTimer;
bool m_isShow;
int m_order;

View File

@ -121,11 +121,6 @@ int TrayMainWindow::dockSpace() const
return 0;
}
void TrayMainWindow::updateRadius(int borderRadius)
{
m_trayManager->updateBorderRadius(borderRadius);
}
QSize TrayMainWindow::suitableSize(const Dock::Position &pos, const int &, const double &) const
{
return m_trayManager->suitableSize(pos);
@ -134,11 +129,15 @@ QSize TrayMainWindow::suitableSize(const Dock::Position &pos, const int &, const
void TrayMainWindow::initUI()
{
m_trayManager->move(0, 0);
m_trayManager->updateBorderRadius(MainWindowBase::m_platformWindowHandle.windowRadius());
}
void TrayMainWindow::initConnection()
{
connect(m_trayManager, &TrayManagerWindow::requestUpdate, this, &TrayMainWindow::onRequestUpdate);
connect(&(MainWindowBase::m_platformWindowHandle), &DTK_NAMESPACE::Widget::DPlatformWindowHandle::windowRadiusChanged, m_trayManager, [=]{
m_trayManager->updateBorderRadius(MainWindowBase::m_platformWindowHandle.windowRadius());
});
}
void TrayMainWindow::onRequestUpdate()

View File

@ -34,7 +34,6 @@ public:
protected:
int dockSpace() const override;
void updateRadius(int borderRadius) override;
private:
void initUI();