File indexing completed on 2024-05-05 17:34:27

0001 /*
0002     SPDX-FileCopyrightText: 2016 Sebastian Kügler <sebas@kde.org>
0003 
0004     Work sponsored by the LiMux project of the city of Munich:
0005     SPDX-FileCopyrightText: 2018 Kai Uwe Broulik <kde@broulik.de>
0006 
0007     SPDX-FileCopyrightText: 2022 David Redondo <kde@david-redondo.de>
0008 
0009 
0010     SPDX-License-Identifier: GPL-2.0-or-later
0011 */
0012 
0013 #pragma once
0014 
0015 #include <QObject>
0016 #include <QString>
0017 #include <QVector>
0018 
0019 namespace KScreen
0020 {
0021 struct OsdAction {
0022     Q_GADGET
0023     Q_PROPERTY(QString label MEMBER label CONSTANT)
0024     Q_PROPERTY(QString iconName MEMBER iconName CONSTANT)
0025     Q_PROPERTY(Action action MEMBER action CONSTANT)
0026 public:
0027     enum Action {
0028         NoAction,
0029         SwitchToExternal,
0030         SwitchToInternal,
0031         Clone,
0032         ExtendLeft,
0033         ExtendRight,
0034     };
0035     Q_ENUM(Action)
0036 
0037     Action action;
0038     QString label;
0039     QString iconName;
0040 
0041     static QVector<OsdAction> availableActions();
0042 };
0043 
0044 } // namespace KScreen