freeciv21
freeciv21 copied to clipboard
Replace "Ok" and "Cancel" in dialog buttons with something that better describes what will happen
Is your feature request related to a problem? Please describe. Current dialogs (didn't check all of them, but I assume they share this behavior) have two buttons: "Ok" and "Cancel" (or variations, such as "Yes" and "No"). Those don't actually describe what will happen when the button is clicked.
Describe the solution you'd like
As an example, let's take the "Quit game" dialog. It's current form:
I'd replace "Ok" with "Quit", and "Cancel" with "Keep playing". Same as this with all other dialogs for actions with two outcomes. As another example, the "disband unit" dialog. Replacing "Yes" with "Disband" and "No" with "Cancel" makes it a little clearer IMO.
Describe alternatives you've considered Leaving it as it is, which would probably be fine, but IMO titling dialog buttons better will make the game more polished.
Additional context This was inspired by what Google's Material Design guidelines recommend for alert dialogs: link to relevant section. Apple has similar guidelines.
List with most of them:
$ grep -r setStandardButtons client/ tools/
client/cityrep.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/dialogs.cpp: msg->setStandardButtons(QMessageBox::Ok);
client/dialogs.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/dialogs.cpp: impossible->setStandardButtons(QMessageBox::Ok);
client/dialogs.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/dialogs.cpp: too_much->setStandardButtons(QMessageBox::Ok);
client/dialogs.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/dialogs.cpp: ask->setStandardButtons(QMessageBox::Ok);
client/dialogs.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/economyreport.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/economyreport.cpp: result->setStandardButtons(QMessageBox::Ok);
client/economyreport.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/economyreport.cpp: result->setStandardButtons(QMessageBox::Ok);
client/economyreport.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/economyreport.cpp: result->setStandardButtons(QMessageBox::Ok);
client/unitreport.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/citydlg.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/citydlg.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/citydlg.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/gui_main.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/mapview.cpp: ask->setStandardButtons(QMessageBox::Close);
client/menu.cpp: saved->setStandardButtons(QMessageBox::Ok);
client/menu.cpp: ask->setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
client/shortcuts.cpp: scinfo->setStandardButtons(QMessageBox::Ok);
tools/fcmp/mpgui_qt.cpp: ask.setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
tools/ruledit/ruledit_qt.cpp: ask.setStandardButtons(QMessageBox::Cancel | QMessageBox::Ok);
tools/ruledit/req_vec_fix.cpp: box->setStandardButtons(QMessageBox::Ok);
tools/ruledit/tab_misc.cpp: box->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
Added good first issue label. With lmoureaux's grep, should be easy for a new coder to go through and pick better values.