File indexing completed on 2024-05-19 16:34:55
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 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #include "tabboxconfig.h" 0011 0012 namespace KWin 0013 { 0014 namespace TabBox 0015 { 0016 class TabBoxConfigPrivate 0017 { 0018 public: 0019 TabBoxConfigPrivate() 0020 : showTabBox(TabBoxConfig::defaultShowTabBox()) 0021 , highlightWindows(TabBoxConfig::defaultHighlightWindow()) 0022 , tabBoxMode(TabBoxConfig::ClientTabBox) 0023 , clientDesktopMode(TabBoxConfig::defaultDesktopMode()) 0024 , clientActivitiesMode(TabBoxConfig::defaultActivitiesMode()) 0025 , clientApplicationsMode(TabBoxConfig::defaultApplicationsMode()) 0026 , orderMinimizedMode(TabBoxConfig::defaultOrderMinimizedMode()) 0027 , clientMinimizedMode(TabBoxConfig::defaultMinimizedMode()) 0028 , showDesktopMode(TabBoxConfig::defaultShowDesktopMode()) 0029 , clientMultiScreenMode(TabBoxConfig::defaultMultiScreenMode()) 0030 , clientSwitchingMode(TabBoxConfig::defaultSwitchingMode()) 0031 , desktopSwitchingMode(TabBoxConfig::MostRecentlyUsedDesktopSwitching) 0032 , layoutName(TabBoxConfig::defaultLayoutName()) 0033 { 0034 } 0035 ~TabBoxConfigPrivate() 0036 { 0037 } 0038 bool showTabBox; 0039 bool highlightWindows; 0040 0041 TabBoxConfig::TabBoxMode tabBoxMode; 0042 TabBoxConfig::ClientDesktopMode clientDesktopMode; 0043 TabBoxConfig::ClientActivitiesMode clientActivitiesMode; 0044 TabBoxConfig::ClientApplicationsMode clientApplicationsMode; 0045 TabBoxConfig::OrderMinimizedMode orderMinimizedMode; 0046 TabBoxConfig::ClientMinimizedMode clientMinimizedMode; 0047 TabBoxConfig::ShowDesktopMode showDesktopMode; 0048 TabBoxConfig::ClientMultiScreenMode clientMultiScreenMode; 0049 TabBoxConfig::ClientSwitchingMode clientSwitchingMode; 0050 TabBoxConfig::DesktopSwitchingMode desktopSwitchingMode; 0051 QString layoutName; 0052 }; 0053 0054 TabBoxConfig::TabBoxConfig() 0055 : d(new TabBoxConfigPrivate) 0056 { 0057 } 0058 0059 TabBoxConfig::~TabBoxConfig() 0060 { 0061 delete d; 0062 } 0063 0064 TabBoxConfig &TabBoxConfig::operator=(const KWin::TabBox::TabBoxConfig &object) 0065 { 0066 d->showTabBox = object.isShowTabBox(); 0067 d->highlightWindows = object.isHighlightWindows(); 0068 d->tabBoxMode = object.tabBoxMode(); 0069 d->clientDesktopMode = object.clientDesktopMode(); 0070 d->clientActivitiesMode = object.clientActivitiesMode(); 0071 d->clientApplicationsMode = object.clientApplicationsMode(); 0072 d->orderMinimizedMode = object.orderMinimizedMode(); 0073 d->clientMinimizedMode = object.clientMinimizedMode(); 0074 d->showDesktopMode = object.showDesktopMode(); 0075 d->clientMultiScreenMode = object.clientMultiScreenMode(); 0076 d->clientSwitchingMode = object.clientSwitchingMode(); 0077 d->desktopSwitchingMode = object.desktopSwitchingMode(); 0078 d->layoutName = object.layoutName(); 0079 return *this; 0080 } 0081 0082 void TabBoxConfig::setHighlightWindows(bool highlight) 0083 { 0084 d->highlightWindows = highlight; 0085 } 0086 0087 bool TabBoxConfig::isHighlightWindows() const 0088 { 0089 return d->highlightWindows; 0090 } 0091 0092 void TabBoxConfig::setShowTabBox(bool show) 0093 { 0094 d->showTabBox = show; 0095 } 0096 0097 bool TabBoxConfig::isShowTabBox() const 0098 { 0099 return d->showTabBox; 0100 } 0101 0102 void TabBoxConfig::setTabBoxMode(TabBoxConfig::TabBoxMode mode) 0103 { 0104 d->tabBoxMode = mode; 0105 } 0106 0107 TabBoxConfig::TabBoxMode TabBoxConfig::tabBoxMode() const 0108 { 0109 return d->tabBoxMode; 0110 } 0111 0112 TabBoxConfig::ClientDesktopMode TabBoxConfig::clientDesktopMode() const 0113 { 0114 return d->clientDesktopMode; 0115 } 0116 0117 void TabBoxConfig::setClientDesktopMode(ClientDesktopMode desktopMode) 0118 { 0119 d->clientDesktopMode = desktopMode; 0120 } 0121 0122 TabBoxConfig::ClientActivitiesMode TabBoxConfig::clientActivitiesMode() const 0123 { 0124 return d->clientActivitiesMode; 0125 } 0126 0127 void TabBoxConfig::setClientActivitiesMode(ClientActivitiesMode activitiesMode) 0128 { 0129 d->clientActivitiesMode = activitiesMode; 0130 } 0131 0132 TabBoxConfig::ClientApplicationsMode TabBoxConfig::clientApplicationsMode() const 0133 { 0134 return d->clientApplicationsMode; 0135 } 0136 0137 void TabBoxConfig::setClientApplicationsMode(ClientApplicationsMode applicationsMode) 0138 { 0139 d->clientApplicationsMode = applicationsMode; 0140 } 0141 0142 TabBoxConfig::OrderMinimizedMode TabBoxConfig::orderMinimizedMode() const 0143 { 0144 return d->orderMinimizedMode; 0145 } 0146 0147 void TabBoxConfig::setOrderMinimizedMode(OrderMinimizedMode orderMinimizedMode) 0148 { 0149 d->orderMinimizedMode = orderMinimizedMode; 0150 } 0151 0152 TabBoxConfig::ClientMinimizedMode TabBoxConfig::clientMinimizedMode() const 0153 { 0154 return d->clientMinimizedMode; 0155 } 0156 0157 void TabBoxConfig::setClientMinimizedMode(ClientMinimizedMode minimizedMode) 0158 { 0159 d->clientMinimizedMode = minimizedMode; 0160 } 0161 0162 TabBoxConfig::ShowDesktopMode TabBoxConfig::showDesktopMode() const 0163 { 0164 return d->showDesktopMode; 0165 } 0166 0167 void TabBoxConfig::setShowDesktopMode(ShowDesktopMode showDesktopMode) 0168 { 0169 d->showDesktopMode = showDesktopMode; 0170 } 0171 0172 TabBoxConfig::ClientMultiScreenMode TabBoxConfig::clientMultiScreenMode() const 0173 { 0174 return d->clientMultiScreenMode; 0175 } 0176 0177 void TabBoxConfig::setClientMultiScreenMode(ClientMultiScreenMode multiScreenMode) 0178 { 0179 d->clientMultiScreenMode = multiScreenMode; 0180 } 0181 0182 TabBoxConfig::ClientSwitchingMode TabBoxConfig::clientSwitchingMode() const 0183 { 0184 return d->clientSwitchingMode; 0185 } 0186 0187 void TabBoxConfig::setClientSwitchingMode(ClientSwitchingMode switchingMode) 0188 { 0189 d->clientSwitchingMode = switchingMode; 0190 } 0191 0192 TabBoxConfig::DesktopSwitchingMode TabBoxConfig::desktopSwitchingMode() const 0193 { 0194 return d->desktopSwitchingMode; 0195 } 0196 0197 void TabBoxConfig::setDesktopSwitchingMode(DesktopSwitchingMode switchingMode) 0198 { 0199 d->desktopSwitchingMode = switchingMode; 0200 } 0201 0202 QString &TabBoxConfig::layoutName() const 0203 { 0204 return d->layoutName; 0205 } 0206 0207 void TabBoxConfig::setLayoutName(const QString &name) 0208 { 0209 d->layoutName = name; 0210 } 0211 0212 } // namespace TabBox 0213 } // namespace KWin