/******************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2009 Martin Gräßlin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ #include "tabboxconfig.h" namespace KWin { namespace TabBox { class TabBoxConfigPrivate { public: TabBoxConfigPrivate() : showTabBox( TabBoxConfig::defaultShowTabBox() ) , highlightWindows( TabBoxConfig::defaultHighlightWindow() ) , showOutline( TabBoxConfig::defaultShowOutline() ) , tabBoxMode( TabBoxConfig::ClientTabBox ) , layout( TabBoxConfig::defaultLayoutMode() ) , clientListMode( TabBoxConfig::defaultListMode() ) , clientSwitchingMode( TabBoxConfig::defaultSwitchingMode() ) , desktopSwitchingMode( TabBoxConfig::MostRecentlyUsedDesktopSwitching ) , selectedItemViewPosition( TabBoxConfig::defaultSelectedItemViewPosition() ) , minWidth( TabBoxConfig::defaultMinWidth() ) , minHeight( TabBoxConfig::defaultMinHeight() ) , layoutName( TabBoxConfig::defaultLayoutName() ) , selectedItemLayoutName( TabBoxConfig::defaultSelectedItemLayoutName() ) { } ~TabBoxConfigPrivate() { } bool showTabBox; bool highlightWindows; bool showOutline; TabBoxConfig::TabBoxMode tabBoxMode; TabBoxConfig::LayoutMode layout; TabBoxConfig::ClientListMode clientListMode; TabBoxConfig::ClientSwitchingMode clientSwitchingMode; TabBoxConfig::DesktopSwitchingMode desktopSwitchingMode; TabBoxConfig::SelectedItemViewPosition selectedItemViewPosition; int minWidth; int minHeight; QString layoutName; QString selectedItemLayoutName; }; TabBoxConfig::TabBoxConfig() : d( new TabBoxConfigPrivate ) { } TabBoxConfig::~TabBoxConfig() { delete d; } TabBoxConfig& TabBoxConfig::operator=( const KWin::TabBox::TabBoxConfig& object ) { d->showTabBox = object.isShowTabBox(); d->highlightWindows = object.isHighlightWindows(); d->showOutline = object.isShowOutline(); d->tabBoxMode = object.tabBoxMode(); d->layout = object.layout(); d->clientListMode = object.clientListMode(); d->clientSwitchingMode = object.clientSwitchingMode(); d->desktopSwitchingMode = object.desktopSwitchingMode(); d->selectedItemViewPosition = object.selectedItemViewPosition(); d->selectedItemLayoutName = object.selectedItemLayoutName(); d->minWidth = object.minWidth(); d->minHeight = object.minHeight(); d->layoutName = object.layoutName(); return *this; } void TabBoxConfig::setHighlightWindows( bool highlight ) { d->highlightWindows = highlight; } bool TabBoxConfig::isHighlightWindows() const { return d->highlightWindows; } void TabBoxConfig::setShowOutline( bool show ) { d->showOutline = show; } bool TabBoxConfig::isShowOutline() const { return d->showOutline; } void TabBoxConfig::setShowTabBox( bool show ) { d->showTabBox = show; } bool TabBoxConfig::isShowTabBox() const { return d->showTabBox; } void TabBoxConfig::setTabBoxMode(TabBoxConfig::TabBoxMode mode) { d->tabBoxMode = mode; } TabBoxConfig::TabBoxMode TabBoxConfig::tabBoxMode() const { return d->tabBoxMode; } void TabBoxConfig::setLayout( TabBoxConfig::LayoutMode layout ) { d->layout = layout; } TabBoxConfig::LayoutMode TabBoxConfig::layout() const { return d->layout; } TabBoxConfig::ClientListMode TabBoxConfig::clientListMode() const { return d->clientListMode; } void TabBoxConfig::setClientListMode( ClientListMode listMode ) { d->clientListMode = listMode; } TabBoxConfig::ClientSwitchingMode TabBoxConfig::clientSwitchingMode() const { return d->clientSwitchingMode; } void TabBoxConfig::setClientSwitchingMode( ClientSwitchingMode switchingMode ) { d->clientSwitchingMode = switchingMode; } TabBoxConfig::DesktopSwitchingMode TabBoxConfig::desktopSwitchingMode() const { return d->desktopSwitchingMode; } void TabBoxConfig::setDesktopSwitchingMode( DesktopSwitchingMode switchingMode ) { d->desktopSwitchingMode = switchingMode; } TabBoxConfig::SelectedItemViewPosition TabBoxConfig::selectedItemViewPosition() const { return d->selectedItemViewPosition; } void TabBoxConfig::setSelectedItemViewPosition( SelectedItemViewPosition viewPosition ) { d->selectedItemViewPosition = viewPosition; } int TabBoxConfig::minWidth() const { return d->minWidth; } void TabBoxConfig::setMinWidth( int value ) { d->minWidth = value; } int TabBoxConfig::minHeight() const { return d->minHeight; } void TabBoxConfig::setMinHeight( int value ) { d->minHeight = value; } QString& TabBoxConfig::layoutName() const { return d->layoutName; } void TabBoxConfig::setLayoutName( const QString& name ) { d->layoutName = name; } QString& TabBoxConfig::selectedItemLayoutName() const { return d->selectedItemLayoutName; } void TabBoxConfig::setSelectedItemLayoutName( const QString& name ) { d->selectedItemLayoutName = name; } } // namespace TabBox } // namespace KWin