From d32b4a3130fed737785f82b6a9046838d8b6405a Mon Sep 17 00:00:00 2001 From: Rivo Laks Date: Tue, 18 Sep 2007 19:38:57 +0000 Subject: [PATCH] Use KDialog instead of QMessageBox for confirmation dialog (can't use KMessageBox) svn path=/trunk/KDE/kdebase/workspace/; revision=714120 --- kcmkwin/kwincompositing/main.cpp | 18 +++++++++++++----- kcmkwin/kwincompositing/main.h | 6 ++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/kcmkwin/kwincompositing/main.cpp b/kcmkwin/kwincompositing/main.cpp index 47a5bb2d34..d56c6f4b44 100644 --- a/kcmkwin/kwincompositing/main.cpp +++ b/kcmkwin/kwincompositing/main.cpp @@ -24,6 +24,7 @@ License. See the file "COPYING" for the exact licensing terms. #include #include +#include #include #include @@ -37,9 +38,16 @@ namespace KWin ConfirmDialog::ConfirmDialog() : - QMessageBox(QMessageBox::Question, i18n("Compositing settings changed"), "", - QMessageBox::Yes | QMessageBox::No) + KDialog() { + setCaption( i18n( "Compositing settings changed" )); + setButtons( KDialog::Yes | KDialog::No ); + setDefaultButton(KDialog::No); + setEscapeButton(KDialog::No); + + mTextLabel = new QLabel(this); + setMainWidget(mTextLabel); + mSecondsToLive = 10+1; advanceTimer(); } @@ -52,12 +60,12 @@ void ConfirmDialog::advanceTimer() QString text = i18n("Compositing settings have changed.\n" "Do you want to keep the new settings?\n" "They will be automatically reverted in %1 seconds", mSecondsToLive); - setText(text); + mTextLabel->setText(text); QTimer::singleShot(1000, this, SLOT(advanceTimer())); } else { - reject(); + slotButtonClicked(KDialog::No); } } @@ -125,7 +133,7 @@ void KWinCompositingConfig::showConfirmDialog() ConfirmDialog confirm; int result = confirm.exec(); kDebug() << "result:" << result; - if(result != QMessageBox::Yes) + if(result != KDialog::Yes) { // Revert settings KConfigGroup config(mKWinConfig, "Compositing"); diff --git a/kcmkwin/kwincompositing/main.h b/kcmkwin/kwincompositing/main.h index f0a5728a7a..f6beb15b30 100644 --- a/kcmkwin/kwincompositing/main.h +++ b/kcmkwin/kwincompositing/main.h @@ -16,17 +16,18 @@ License. See the file "COPYING" for the exact licensing terms. #include -#include +#include #include "ui_main.h" #include "compositingprefs.h" class KPluginSelector; +class QLabel; namespace KWin { -class ConfirmDialog : public QMessageBox +class ConfirmDialog : public KDialog { Q_OBJECT public: @@ -37,6 +38,7 @@ protected slots: private: int mSecondsToLive; + QLabel* mTextLabel; }; class KWinCompositingConfig : public KCModule