Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_screen_container.h
T
torstenandCopilot d6b6ffce7c Apply clang-format to Lts/Common and DTC/enum headers
- Formatted all CodeGen module files (9 files)
- Formatted LtsAppDescriptor module files
- Formatted LtsAppManager/AppChooser files
- Applied clang-format to all DTC and enum headers across modules
- Removed coordTransTests from CommonUnitTestsPlaceholder (moved to tests/)

Cosmetic changes only, no functional modifications.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 14:46:29 +02:00

66 lines
1.5 KiB
C++

#pragma once
#include "lts_screen_base.h"
#include "ltsmultimonitor_export.h"
#include <QObject>
#include <QRect>
#include <QWidget>
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();
};
} // namespace LtsMultiMonitor