- 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>
66 lines
1.5 KiB
C++
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
|