dde-dock/frame/window/traymainwindow.h
tsic404 5908ee1605 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
2023-05-06 13:16:56 +08:00

51 lines
1.3 KiB
C++

// Copyright (C) 2022 ~ 2022 Deepin Technology Co., Ltd.
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef TRAYMAINWINDOW_H
#define TRAYMAINWINDOW_H
#include "constants.h"
#include "mainwindowbase.h"
#include <DBlurEffectWidget>
class TrayManagerWindow;
class MultiScreenWorker;
DWIDGET_USE_NAMESPACE
class TrayMainWindow : public MainWindowBase
{
Q_OBJECT
public:
TrayMainWindow(MultiScreenWorker *multiScreenWorker, QWidget *parent = Q_NULLPTR);
void setPosition(const Dock::Position &position) override;
TrayManagerWindow *trayManagerWindow() const;
void setDisplayMode(const Dock::DisplayMode &displayMode) override;
DockWindowType windowType() const override;
void updateParentGeometry(const Dock::Position &position, const QRect &rect) override;
QSize suitableSize(const Dock::Position &pos, const int &, const double &) const override;
QSize suitableSize() const;
void resetPanelGeometry() override;
protected:
int dockSpace() const override;
private:
void initUI();
void initConnection();
private Q_SLOTS:
void onRequestUpdate();
private:
TrayManagerWindow *m_trayManager;
MultiScreenWorker *m_multiScreenWorker;
};
#endif // TRAYMAINWINDOW_H