diff options
Diffstat (limited to 'kpager/config.cpp')
-rw-r--r-- | kpager/config.cpp | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/kpager/config.cpp b/kpager/config.cpp new file mode 100644 index 000000000..60aa85f2a --- /dev/null +++ b/kpager/config.cpp @@ -0,0 +1,180 @@ +/************************************************************************** + + config.cpp - KPager config dialog + Copyright (C) 2000 Antonio Larrosa Jimenez + + 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, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Send comments and bug fixes to larrosa@kde.org + +***************************************************************************/ + +#include <qcheckbox.h> +#include <qradiobutton.h> +#include <qbuttongroup.h> +#include <qwidget.h> +#include <qvbox.h> +#include <qhbox.h> +#include <qlayout.h> + +#include <kdialogbase.h> +#include <klocale.h> +#include <kconfig.h> +#include <kseparator.h> +#include <kapplication.h> +#include <kdebug.h> + +#include "config.h" +#include "config.moc" +#include "desktop.h" +#include "kpager.h" + + +KPagerConfigDialog::KPagerConfigDialog (QWidget *parent) + : KDialogBase ( parent, "configdialog", true, i18n("Configuration"), Ok|Cancel, Ok, true ) +{ + QVBox *box = new QVBox( this ); + m_chkWindowDragging=new QCheckBox(i18n("Enable window dragging"),box,0); + (void ) new KSeparator( box ); + connect(m_chkWindowDragging, SIGNAL(toggled(bool)), this, SLOT(enableWindowDragging(bool))); + + QHBox *page = new QHBox( box ); + QVBox *lpage = new QVBox( page ); + setMainWidget(box); + + m_chkShowName=new QCheckBox(i18n("Show name"),lpage,0); + connect(m_chkShowName, SIGNAL(toggled(bool)), this, SLOT(setShowName(bool))); + m_chkShowNumber=new QCheckBox(i18n("Show number"),lpage,0); + connect(m_chkShowNumber, SIGNAL(toggled(bool)), this, SLOT(setShowNumber(bool))); + m_chkShowBackground=new QCheckBox(i18n("Show background"),lpage,0); + connect(m_chkShowBackground, SIGNAL(toggled(bool)), this, SLOT(setShowBackground(bool))); + m_chkShowWindows=new QCheckBox(i18n("Show windows"),lpage,0); + connect(m_chkShowWindows, SIGNAL(toggled(bool)), this, SLOT(setShowWindows(bool))); + + m_grpWindowDrawMode=new QButtonGroup(i18n("Type of Window"),page); + m_grpWindowDrawMode->setExclusive(true); + QVBoxLayout *vbox = new QVBoxLayout(m_grpWindowDrawMode, KDialog::marginHint(), + KDialog::spacingHint()); + vbox->addSpacing(fontMetrics().lineSpacing()); + vbox->addWidget(new QRadioButton(i18n("Plain"),m_grpWindowDrawMode)); + vbox->addWidget(new QRadioButton(i18n("Icon"),m_grpWindowDrawMode)); + + QRadioButton *rbpix = new QRadioButton(i18n("Pixmap"),m_grpWindowDrawMode); +// rbpix->setEnabled(false); + vbox->addWidget(rbpix); + + connect(m_grpWindowDrawMode, SIGNAL(clicked(int)), this, SLOT(setWindowDrawMode(int))); + + m_grpLayoutType=new QButtonGroup(i18n("Layout"),page); + m_grpLayoutType->setExclusive(true); + vbox = new QVBoxLayout(m_grpLayoutType, KDialog::marginHint(), KDialog::spacingHint()); + vbox->addSpacing(fontMetrics().lineSpacing()); + vbox->addWidget(new QRadioButton(i18n("Classical"),m_grpLayoutType)); + vbox->addWidget(new QRadioButton(i18n("Horizontal"),m_grpLayoutType)); + vbox->addWidget(new QRadioButton(i18n("Vertical"),m_grpLayoutType)); + + connect(m_grpLayoutType, SIGNAL(clicked(int)), this, SLOT(setLayout(int))); + connect(this,SIGNAL(okClicked()),this,SLOT(slotOk())); + loadConfiguration(); + setMinimumSize(360, 160); +} + +void KPagerConfigDialog::setShowName(bool show) +{ + m_tmpShowName=show; +} + +void KPagerConfigDialog::setShowNumber(bool show) +{ + m_tmpShowNumber=show; +} + +void KPagerConfigDialog::setShowBackground(bool show) +{ + m_tmpShowBackground=show; +} + +void KPagerConfigDialog::setShowWindows(bool show) +{ + m_tmpShowWindows=show; +} + +void KPagerConfigDialog::enableWindowDragging(bool enable) +{ + m_tmpWindowDragging = enable; +} + +void KPagerConfigDialog::setWindowDrawMode(int type) +{ + m_tmpWindowDrawMode=type; +} + +void KPagerConfigDialog::setLayout(int layout) +{ + m_tmpLayoutType=layout; +} + +void KPagerConfigDialog::loadConfiguration() +{ + m_chkShowName->setChecked(m_showName); + m_chkShowNumber->setChecked(m_showNumber); + m_chkShowBackground->setChecked(m_showBackground); + m_chkShowWindows->setChecked(m_showWindows); + m_grpWindowDrawMode->setButton(m_windowDrawMode); + m_grpLayoutType->setButton(m_layoutType); + m_chkWindowDragging->setChecked( m_windowDragging ); + m_tmpShowName=m_showName; + m_tmpShowNumber=m_showNumber; + m_tmpShowBackground=m_showBackground; + m_tmpShowWindows=m_showWindows; + m_tmpWindowDrawMode=m_windowDrawMode; + m_tmpLayoutType=m_layoutType; + m_tmpWindowDragging=m_windowDragging; +} + +void KPagerConfigDialog::initConfiguration(void) +{ + KConfig *cfg= kapp->config(); + cfg->setGroup("KPager"); + + m_windowDrawMode=cfg->readNumEntry("windowDrawMode", Desktop::c_defWindowDrawMode); + m_showName=cfg->readBoolEntry("showName", Desktop::c_defShowName); + m_showNumber=cfg->readBoolEntry("showNumber", Desktop::c_defShowNumber); + m_showBackground=cfg->readBoolEntry("showBackground", Desktop::c_defShowBackground); + m_showWindows=cfg->readBoolEntry("showWindows", Desktop::c_defShowWindows); + m_layoutType=cfg->readNumEntry("layoutType", KPager::c_defLayout); + m_windowDragging=cfg->readBoolEntry("windowDragging", true ); +} + +void KPagerConfigDialog::slotOk() +{ + m_showName=m_tmpShowName; + m_showNumber=m_tmpShowNumber; + m_showBackground=m_tmpShowBackground; + m_showWindows=m_tmpShowWindows; + m_windowDrawMode=m_tmpWindowDrawMode; + m_layoutType=m_tmpLayoutType; + m_windowDragging=m_tmpWindowDragging; + accept(); +} + +bool KPagerConfigDialog::m_showName=Desktop::c_defShowName; +bool KPagerConfigDialog::m_showNumber=Desktop::c_defShowNumber; +bool KPagerConfigDialog::m_showBackground=Desktop::c_defShowBackground; +bool KPagerConfigDialog::m_showWindows=Desktop::c_defShowWindows; +bool KPagerConfigDialog::m_windowDragging=Desktop::c_defWindowDragging; +int KPagerConfigDialog::m_windowDrawMode=Desktop::c_defWindowDrawMode; +int KPagerConfigDialog::m_layoutType=KPager::c_defLayout; + |