Files
qt6-migration-pipeline/Lts/Common/LtsMultiMonitor/lts_screen_normal.h
T

59 lines
1.4 KiB
C++
Executable File

#pragma once
#include "lts_screen_base.h"
#include <LtsMultiMonitor/lts_multi_monitor_export.h>
#include <QWidget>
#include <QRect>
class QSplitter;
class QHBoxLayout;
namespace LtsMultiMonitor
{
class LtsMagicCorner;
class LTSMULTIMONITOR_EXPORT LtsScreenNormal : public LtsScreenBase
{
Q_OBJECT
public:
LtsScreenNormal(QRect screenGeo, int screenId, bool debugMargins, const QString &serial);
~LtsScreenNormal();
int screenType() const override { return 0; }
int containerIdOfWidget(QWidget *widget) const noexcept(false) override;
LtsScreenContainer *child() const { return m_childContainer; }
LtsScreenContainer *putWidget(QWidget *widget, int) noexcept(false) override;
LtsScreenContainer *containerOfWidget(QWidget *widget) noexcept(false) override;
void hideMagicCorner(bool hide);
bool isEmpty() const override;
bool isIrreplaceable() const override;
void putWidgetUnmanaged(QWidget *widget);
bool hasWidget(QWidget *widget) const override;
void switchToTemp(WidgetType widgetType) override;
void finalizeSwitch() override;
void revertSwitch() override;
void check() override;
private:
LtsScreenContainer *m_childContainer { nullptr };
LtsMagicCorner *m_corner;
void swapLeftRight();
bool tryPutDummyUnmanaged(QWidget *widget);
signals:
void signalMakeAllSwole();
void signalMakeSwole();
private slots:
void slotOverlayDestroyed();
void setCornerIcons();
};
}