/******************************************************************** 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 "buttonsconfigdialog.h" #include #include #include namespace KWin { KWinDecorationButtonsConfigForm::KWinDecorationButtonsConfigForm( QWidget* parent ) : QWidget( parent ) { setupUi( this ); } KWinDecorationButtonsConfigDialog::KWinDecorationButtonsConfigDialog( bool customPositions, bool showTooltips, QString buttonsLeft, QString buttonsRight, QWidget* parent, Qt::WFlags flags ) : KDialog( parent, flags ) , m_customPositions( customPositions ) , m_showTooltip( showTooltips ) , m_buttonsLeft( buttonsLeft ) , m_buttonsRight( buttonsRight ) { m_ui = new KWinDecorationButtonsConfigForm( this ); setWindowTitle( i18n("Buttons") ); setButtons( KDialog::Ok | KDialog::Cancel | KDialog::Default | KDialog::Reset ); enableButton( KDialog::Reset, false ); QVBoxLayout* layout = new QVBoxLayout; layout->addWidget( m_ui ); QWidget* main = new QWidget( this ); main->setLayout( layout ); setMainWidget( main ); connect( m_ui->buttonPositionWidget, SIGNAL(changed()), this, SLOT(changed())); connect( m_ui->showToolTipsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(changed())); connect( m_ui->useCustomButtonPositionsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(changed())); connect( this, SIGNAL(defaultClicked()), this, SLOT(slotDefaultClicked())); connect( this, SIGNAL(resetClicked()), this, SLOT(slotResetClicked())); slotResetClicked(); } KWinDecorationButtonsConfigDialog::~KWinDecorationButtonsConfigDialog() { } bool KWinDecorationButtonsConfigDialog::customPositions() const { return m_ui->useCustomButtonPositionsCheckBox->isChecked(); } bool KWinDecorationButtonsConfigDialog::showTooltips() const { return m_ui->showToolTipsCheckBox->isChecked(); } QString KWinDecorationButtonsConfigDialog::buttonsLeft() const { return m_ui->buttonPositionWidget->buttonsLeft(); } QString KWinDecorationButtonsConfigDialog::buttonsRight() const { return m_ui->buttonPositionWidget->buttonsRight(); } void KWinDecorationButtonsConfigDialog::changed() { enableButton( KDialog::Reset, true ); } void KWinDecorationButtonsConfigDialog::slotDefaultClicked() { m_ui->useCustomButtonPositionsCheckBox->setChecked( false ); m_ui->showToolTipsCheckBox->setChecked( true ); m_ui->buttonPositionWidget->setButtonsLeft( KDecorationOptions::defaultTitleButtonsLeft() ); m_ui->buttonPositionWidget->setButtonsRight( KDecorationOptions::defaultTitleButtonsRight() ); changed(); } void KWinDecorationButtonsConfigDialog::slotResetClicked() { m_ui->useCustomButtonPositionsCheckBox->setChecked( m_customPositions ); m_ui->showToolTipsCheckBox->setChecked( m_showTooltip ); m_ui->buttonPositionWidget->setButtonsLeft( m_buttonsLeft ); m_ui->buttonPositionWidget->setButtonsRight( m_buttonsRight ); changed(); enableButton( KDialog::Reset, false ); } } // namespace KWin #include "buttonsconfigdialog.moc"