1
0
mirror of git://projects.qi-hardware.com/gmenu2x.git synced 2024-06-28 12:39:50 +03:00

Made SettingsDialog::exec() return whether a setting was changed

Previously, exec() always returned true and a separate edited() method
would indicate whether any settings were changed.
This commit is contained in:
Maarten ter Huurne 2014-08-16 17:11:18 +02:00
parent faf2495727
commit e2382e11fd
3 changed files with 9 additions and 12 deletions

View File

@ -737,7 +737,7 @@ void GMenu2X::showSettings() {
tr["Set button repetitions per second"],
&confInt["buttonRepeatRate"], 0, 20)));
if (sd.exec() && sd.edited()) {
if (sd.exec()) {
#ifdef ENABLE_CPUFREQ
if (curMenuClock != confInt["menuClock"]) setClock(confInt["menuClock"]);
#endif
@ -795,7 +795,7 @@ void GMenu2X::skinMenu() {
tr["Color of the selection of the message box"],
&skinConfColors[COLOR_MESSAGE_BOX_SELECTION])));
if (sd.exec() && sd.edited()) {
if (sd.exec()) {
if (curSkin != confStr["skin"]) {
setSkin(confStr["skin"]);
writeConfig();
@ -979,7 +979,7 @@ void GMenu2X::editLink() {
&linkApp->consoleApp)));
}
if (sd.exec() && sd.edited()) {
if (sd.exec()) {
linkApp->setTitle(linkTitle);
linkApp->setDescription(linkDescription);
linkApp->setIcon(linkIcon);

View File

@ -141,12 +141,6 @@ bool SettingsDialog::exec() {
}
}
return true;
}
bool SettingsDialog::edited() {
for (uint i=0; i < settings.size(); i++) {
if (settings[i]->edited()) return true;
}
return false;
return any_of(settings.begin(), settings.end(),
[](unique_ptr<MenuSetting>& setting){ return setting->edited(); });
}

View File

@ -48,7 +48,10 @@ public:
settings.push_back(std::move(setting));
}
bool edited();
/**
* Shows the dialog in a modal way.
* @return true iff any settings were changed.
*/
bool exec();
};