File indexing completed on 2026-06-14 05:21:53
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2009 Martin Gräßlin <mgraesslin@kde.org> 0006 SPDX-FileCopyrightText: 2020 Cyril Rossi <cyril.rossi@enioka.com> 0007 SPDX-FileCopyrightText: 2023 Ismael Asensio <isma.af@gmail.com> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 0012 #pragma once 0013 0014 #include <kcmodule.h> 0015 #include <ksharedconfig.h> 0016 0017 namespace KWin 0018 { 0019 class KWinTabBoxConfigForm; 0020 namespace TabBox 0021 { 0022 class KWinTabboxData; 0023 class TabBoxSettings; 0024 } 0025 0026 class KWinTabBoxConfig : public KCModule 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit KWinTabBoxConfig(QObject *parent, const KPluginMetaData &data); 0032 ~KWinTabBoxConfig() override; 0033 0034 public Q_SLOTS: 0035 void save() override; 0036 void load() override; 0037 void defaults() override; 0038 0039 private Q_SLOTS: 0040 void updateUnmanagedState(); 0041 void configureEffectClicked(); 0042 0043 private: 0044 void initLayoutLists(); 0045 void createConnections(KWinTabBoxConfigForm *form); 0046 0047 private: 0048 KWinTabBoxConfigForm *m_primaryTabBoxUi = nullptr; 0049 KWinTabBoxConfigForm *m_alternativeTabBoxUi = nullptr; 0050 KSharedConfigPtr m_config; 0051 0052 TabBox::KWinTabboxData *m_data; 0053 }; 0054 0055 } // namespace