# HG changeset patch # User Torsten # Date 1346618396 -7200 # Node ID c5d09a57ceb21f07cc15df1e8db5fe091de7006c # Parent 535bb601e7db880c79edfb7bc8650538fd8edf37 provide buttons for the settings dialog (bug #36981) * settings-dialog.ui: Add Ok and Cancel buttons. * settings-dialog.h, settings-dialog.cc (settings_dialog::write_changed_settings): New method. * main-window.cc: Call it. diff --git a/libgui/src/main-window.cc b/libgui/src/main-window.cc --- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -164,9 +164,13 @@ main_window::process_settings_dialog_request () { settings_dialog *settingsDialog = new settings_dialog (this); - settingsDialog->exec (); + int change_settings = settingsDialog->exec (); + if (change_settings == QDialog::Accepted) + { + settingsDialog->write_changed_settings (); + emit settings_changed (); + } delete settingsDialog; - emit settings_changed (); } void diff --git a/libgui/src/settings-dialog.cc b/libgui/src/settings-dialog.cc --- a/libgui/src/settings-dialog.cc +++ b/libgui/src/settings-dialog.cc @@ -85,6 +85,12 @@ settings_dialog::~settings_dialog () { + delete ui; +} + +void +settings_dialog::write_changed_settings () +{ QSettings *settings = resource_manager::get_settings (); // FIXME -- what should happen if settings is 0? @@ -122,5 +128,4 @@ } settings->setValue ("terminal/cursorType", cursorType); settings->sync (); - delete ui; } diff --git a/libgui/src/settings-dialog.h b/libgui/src/settings-dialog.h --- a/libgui/src/settings-dialog.h +++ b/libgui/src/settings-dialog.h @@ -35,6 +35,7 @@ Q_OBJECT public: explicit settings_dialog (QWidget * parent); ~settings_dialog (); + void write_changed_settings (); private: Ui::settings_dialog * ui; diff --git a/libgui/src/settings-dialog.ui b/libgui/src/settings-dialog.ui --- a/libgui/src/settings-dialog.ui +++ b/libgui/src/settings-dialog.ui @@ -487,6 +487,13 @@ + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + @@ -715,5 +722,37 @@ + + buttonBox + accepted() + settings_dialog + accept() + + + 299 + 366 + + + 299 + 199 + + + + + buttonBox + rejected() + settings_dialog + reject() + + + 299 + 366 + + + 299 + 199 + + +