/* SPDX-FileCopyrightText: 2016 Sebastian Kügler Work sponsored by the LiMux project of the city of Munich: SPDX-FileCopyrightText: 2018 Kai Uwe Broulik SPDX-FileCopyrightText: 2022 David Redondo SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include #include #include #include namespace KScreen { class Config; class SetConfigOperation; struct OsdAction { Q_GADGET Q_PROPERTY(QString label MEMBER label CONSTANT) Q_PROPERTY(QString iconName MEMBER iconName CONSTANT) Q_PROPERTY(Action action MEMBER action CONSTANT) public: enum Action { NoAction, SwitchToExternal, SwitchToInternal, Clone, ExtendLeft, ExtendRight, }; Q_ENUM(Action) Action action; QString label; QString iconName; static QList availableActions(); static KScreen::SetConfigOperation *applyAction(const QSharedPointer &config, Action action); }; } // namespace KScreen