File indexing completed on 2024-11-10 04:57:21

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         , clientDesktopMode(TabBoxConfig::defaultDesktopMode())
0023         , clientActivitiesMode(TabBoxConfig::defaultActivitiesMode())
0024         , clientApplicationsMode(TabBoxConfig::defaultApplicationsMode())
0025         , orderMinimizedMode(TabBoxConfig::defaultOrderMinimizedMode())
0026         , clientMinimizedMode(TabBoxConfig::defaultMinimizedMode())
0027         , showDesktopMode(TabBoxConfig::defaultShowDesktopMode())
0028         , clientMultiScreenMode(TabBoxConfig::defaultMultiScreenMode())
0029         , clientSwitchingMode(TabBoxConfig::defaultSwitchingMode())
0030         , layoutName(TabBoxConfig::defaultLayoutName())
0031     {
0032     }
0033     ~TabBoxConfigPrivate()
0034     {
0035     }
0036     bool showTabBox;
0037     bool highlightWindows;
0038 
0039     TabBoxConfig::ClientDesktopMode clientDesktopMode;
0040     TabBoxConfig::ClientActivitiesMode clientActivitiesMode;
0041     TabBoxConfig::ClientApplicationsMode clientApplicationsMode;
0042     TabBoxConfig::OrderMinimizedMode orderMinimizedMode;
0043     TabBoxConfig::ClientMinimizedMode clientMinimizedMode;
0044     TabBoxConfig::ShowDesktopMode showDesktopMode;
0045     TabBoxConfig::ClientMultiScreenMode clientMultiScreenMode;
0046     TabBoxConfig::ClientSwitchingMode clientSwitchingMode;
0047     QString layoutName;
0048 };
0049 
0050 TabBoxConfig::TabBoxConfig()
0051     : d(new TabBoxConfigPrivate)
0052 {
0053 }
0054 
0055 TabBoxConfig::~TabBoxConfig()
0056 {
0057     delete d;
0058 }
0059 
0060 TabBoxConfig &TabBoxConfig::operator=(const KWin::TabBox::TabBoxConfig &object)
0061 {
0062     d->showTabBox = object.isShowTabBox();
0063     d->highlightWindows = object.isHighlightWindows();
0064     d->clientDesktopMode = object.clientDesktopMode();
0065     d->clientActivitiesMode = object.clientActivitiesMode();
0066     d->clientApplicationsMode = object.clientApplicationsMode();
0067     d->orderMinimizedMode = object.orderMinimizedMode();
0068     d->clientMinimizedMode = object.clientMinimizedMode();
0069     d->showDesktopMode = object.showDesktopMode();
0070     d->clientMultiScreenMode = object.clientMultiScreenMode();
0071     d->clientSwitchingMode = object.clientSwitchingMode();
0072     d->layoutName = object.layoutName();
0073     return *this;
0074 }
0075 
0076 void TabBoxConfig::setHighlightWindows(bool highlight)
0077 {
0078     d->highlightWindows = highlight;
0079 }
0080 
0081 bool TabBoxConfig::isHighlightWindows() const
0082 {
0083     return d->highlightWindows;
0084 }
0085 
0086 void TabBoxConfig::setShowTabBox(bool show)
0087 {
0088     d->showTabBox = show;
0089 }
0090 
0091 bool TabBoxConfig::isShowTabBox() const
0092 {
0093     return d->showTabBox;
0094 }
0095 
0096 TabBoxConfig::ClientDesktopMode TabBoxConfig::clientDesktopMode() const
0097 {
0098     return d->clientDesktopMode;
0099 }
0100 
0101 void TabBoxConfig::setClientDesktopMode(ClientDesktopMode desktopMode)
0102 {
0103     d->clientDesktopMode = desktopMode;
0104 }
0105 
0106 TabBoxConfig::ClientActivitiesMode TabBoxConfig::clientActivitiesMode() const
0107 {
0108     return d->clientActivitiesMode;
0109 }
0110 
0111 void TabBoxConfig::setClientActivitiesMode(ClientActivitiesMode activitiesMode)
0112 {
0113     d->clientActivitiesMode = activitiesMode;
0114 }
0115 
0116 TabBoxConfig::ClientApplicationsMode TabBoxConfig::clientApplicationsMode() const
0117 {
0118     return d->clientApplicationsMode;
0119 }
0120 
0121 void TabBoxConfig::setClientApplicationsMode(ClientApplicationsMode applicationsMode)
0122 {
0123     d->clientApplicationsMode = applicationsMode;
0124 }
0125 
0126 TabBoxConfig::OrderMinimizedMode TabBoxConfig::orderMinimizedMode() const
0127 {
0128     return d->orderMinimizedMode;
0129 }
0130 
0131 void TabBoxConfig::setOrderMinimizedMode(OrderMinimizedMode orderMinimizedMode)
0132 {
0133     d->orderMinimizedMode = orderMinimizedMode;
0134 }
0135 
0136 TabBoxConfig::ClientMinimizedMode TabBoxConfig::clientMinimizedMode() const
0137 {
0138     return d->clientMinimizedMode;
0139 }
0140 
0141 void TabBoxConfig::setClientMinimizedMode(ClientMinimizedMode minimizedMode)
0142 {
0143     d->clientMinimizedMode = minimizedMode;
0144 }
0145 
0146 TabBoxConfig::ShowDesktopMode TabBoxConfig::showDesktopMode() const
0147 {
0148     return d->showDesktopMode;
0149 }
0150 
0151 void TabBoxConfig::setShowDesktopMode(ShowDesktopMode showDesktopMode)
0152 {
0153     d->showDesktopMode = showDesktopMode;
0154 }
0155 
0156 TabBoxConfig::ClientMultiScreenMode TabBoxConfig::clientMultiScreenMode() const
0157 {
0158     return d->clientMultiScreenMode;
0159 }
0160 
0161 void TabBoxConfig::setClientMultiScreenMode(ClientMultiScreenMode multiScreenMode)
0162 {
0163     d->clientMultiScreenMode = multiScreenMode;
0164 }
0165 
0166 TabBoxConfig::ClientSwitchingMode TabBoxConfig::clientSwitchingMode() const
0167 {
0168     return d->clientSwitchingMode;
0169 }
0170 
0171 void TabBoxConfig::setClientSwitchingMode(ClientSwitchingMode switchingMode)
0172 {
0173     d->clientSwitchingMode = switchingMode;
0174 }
0175 
0176 QString &TabBoxConfig::layoutName() const
0177 {
0178     return d->layoutName;
0179 }
0180 
0181 void TabBoxConfig::setLayoutName(const QString &name)
0182 {
0183     d->layoutName = name;
0184 }
0185 
0186 } // namespace TabBox
0187 } // namespace KWin