File indexing completed on 2024-04-28 05:27:37
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 <QList> 0016 #include <QObject> 0017 #include <QSharedPointer> 0018 #include <QString> 0019 0020 namespace KScreen 0021 { 0022 class Config; 0023 0024 struct OsdAction { 0025 Q_GADGET 0026 Q_PROPERTY(QString label MEMBER label CONSTANT) 0027 Q_PROPERTY(QString iconName MEMBER iconName CONSTANT) 0028 Q_PROPERTY(Action action MEMBER action CONSTANT) 0029 public: 0030 enum Action { 0031 NoAction, 0032 SwitchToExternal, 0033 SwitchToInternal, 0034 Clone, 0035 ExtendLeft, 0036 ExtendRight, 0037 }; 0038 Q_ENUM(Action) 0039 0040 Action action; 0041 QString label; 0042 QString iconName; 0043 0044 static QList<OsdAction> availableActions(); 0045 static void applyAction(const QSharedPointer<KScreen::Config> &config, Action action); 0046 }; 0047 0048 } // namespace KScreen