freeciv21 icon indicating copy to clipboard operation
freeciv21 copied to clipboard

Replace "Ok" and "Cancel" in dialog buttons with something that better describes what will happen

Open daavko opened this issue 2 years ago • 2 comments

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: freeciv21-client_Aa8WlybG0l 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.

daavko avatar Jul 09 '22 23:07 daavko

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);

lmoureaux avatar Jul 09 '22 23:07 lmoureaux

Added good first issue label. With lmoureaux's grep, should be easy for a new coder to go through and pick better values.

jwrober avatar Jul 13 '22 19:07 jwrober