- #include <QObject> zu 106+ Header-Dateien hinzugefügt (Qt6 benötigt explizites Include) - ui_requirement.h/cpp zu requirement_widget.h/cpp umbenannt (vermeidet AutoUIC-Scan) - CMakeLists.txt aktualisiert - Qt6Positioning-Dependency in Dockerfile hinzugefügt Fixes: - AutoUIC-Fehler bei AesBaseGui (requirement.ui nicht gefunden) - QObject-Missing-Include-Fehler in Qt6 - Qt6Location-Modul nicht gefunden (qtpositioning fehlte)
70 lines
1.4 KiB
C++
Executable File
70 lines
1.4 KiB
C++
Executable File
#pragma once
|
|
#include <QObject>
|
|
|
|
#include "lts_screen_base.h"
|
|
|
|
#include <lts_multi_monitor_export.h>
|
|
|
|
#include <QWidget>
|
|
#include <QRect>
|
|
|
|
|
|
class QHBoxLayout;
|
|
|
|
|
|
namespace LtsMultiMonitor
|
|
{
|
|
class LTSMULTIMONITOR_EXPORT LtsScreenContainer : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
LtsScreenContainer(QRect screenGeo);
|
|
|
|
bool isIrreplaceable() const;
|
|
bool isEmpty() const;
|
|
bool hasMainWidget();
|
|
bool hasSecondaryWidget();
|
|
void setWidget(QWidget *widget);
|
|
bool hasWidget(QWidget *widget) const;
|
|
QWidget *widget() noexcept(false);
|
|
QWidget *stealWidget() noexcept(false);
|
|
void switchToTemp(LtsScreenBase::WidgetType widgetType);
|
|
void finalizeSwitch();
|
|
void revertSwitch();
|
|
bool mainAndSecondaryOccupied() const;
|
|
QIcon mainWindowIcon() const;
|
|
QIcon secondaryWindowIcon() const;
|
|
LtsScreenBase::WidgetType activeWidgetType() const;
|
|
bool isInactiveWidgetOccupied() const;
|
|
|
|
signals:
|
|
void check();
|
|
void signalSetCornerIcons();
|
|
|
|
private:
|
|
QHBoxLayout *m_layout { nullptr };
|
|
QWidget *m_mainWidget { nullptr };
|
|
QWidget *m_secondaryWidget { nullptr };
|
|
QWidget **m_activeWidget { nullptr };
|
|
QWidget **m_oldActiveWidget { nullptr };
|
|
bool m_nullSwitchActive { false };
|
|
QRect m_screenGeo;
|
|
|
|
QString geoStr() const;
|
|
bool tryPutDummyUnmanaged(QWidget *widget);
|
|
void vanish();
|
|
void reappear();
|
|
QWidget *activeWidget() const;
|
|
QWidget **activeWidgetPtr();
|
|
|
|
public slots:
|
|
void toggle();
|
|
|
|
private slots:
|
|
|
|
void slotChildDestroyed();
|
|
};
|
|
|
|
}
|