X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspagedlg.cpp;h=0d6b85203de871b2e55cc7a1571dd405e50e2d7e;hp=7d36cf5f2f629c26bf3f869b6fa95e41541a8359;hb=f824db0e31b54969e0b7fa0b5405b1e9173d482c;hpb=f18d7db990cb23c87fa3586e19b2f8aa5509a66c diff --git a/src/qtui/settingspagedlg.cpp b/src/qtui/settingspagedlg.cpp index 7d36cf5f..0d6b8520 100644 --- a/src/qtui/settingspagedlg.cpp +++ b/src/qtui/settingspagedlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,21 @@ #include "settingspagedlg.h" -SettingsPageDlg::SettingsPageDlg(SettingsPage *page, QWidget *parent) : QDialog(parent) { +#include "iconloader.h" + +SettingsPageDlg::SettingsPageDlg(SettingsPage *page, QWidget *parent) + : QDialog(parent) +{ ui.setupUi(this); _currentPage = page; page->setParent(this); + + // make it look more native under Mac OS X: + setWindowFlags(Qt::Sheet); + ui.pageTitle->setText(page->title()); + setWindowTitle(tr("Configure %1").arg(page->title())); + setWindowIcon(SmallIcon("configure")); // make the scrollarea behave sanely ui.settingsFrame->setWidgetResizable(true); @@ -44,7 +54,6 @@ SettingsPage *SettingsPageDlg::currentPage() const { void SettingsPageDlg::setButtonStates() { SettingsPage *sp = currentPage(); - ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(sp && sp->hasChanged()); ui.buttonBox->button(QDialogButtonBox::Apply)->setEnabled(sp && sp->hasChanged()); ui.buttonBox->button(QDialogButtonBox::Reset)->setEnabled(sp && sp->hasChanged()); ui.buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(sp && sp->hasDefaults()); @@ -53,7 +62,9 @@ void SettingsPageDlg::setButtonStates() { void SettingsPageDlg::buttonClicked(QAbstractButton *button) { switch(ui.buttonBox->standardButton(button)) { case QDialogButtonBox::Ok: - if(applyChanges()) accept(); + if(currentPage() && currentPage()->hasChanged()) { + if(applyChanges()) accept(); + } else accept(); break; case QDialogButtonBox::Apply: applyChanges();