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