X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspagedlg.cpp;h=7bac0ef745dfca9127b2da711cf88c725dc84727;hp=7d36cf5f2f629c26bf3f869b6fa95e41541a8359;hb=99bb37d9938f3d88ce7551ded454146359fadc03;hpb=f18d7db990cb23c87fa3586e19b2f8aa5509a66c diff --git a/src/qtui/settingspagedlg.cpp b/src/qtui/settingspagedlg.cpp index 7d36cf5f..7bac0ef7 100644 --- a/src/qtui/settingspagedlg.cpp +++ b/src/qtui/settingspagedlg.cpp @@ -20,10 +20,16 @@ #include "settingspagedlg.h" -SettingsPageDlg::SettingsPageDlg(SettingsPage *page, QWidget *parent) : QDialog(parent) { +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()); // make the scrollarea behave sanely @@ -44,7 +50,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 +58,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();