From 0da01ca11ad7b6a45630c01856f622a39abf63ab Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sun, 23 Sep 2018 14:25:42 +0200 Subject: [PATCH] more intuitive mode switching in expansion screen --- expansion.cpp | 23 +++++++++++------------ geom-exp.cpp | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/expansion.cpp b/expansion.cpp index 6556a396..35876be5 100644 --- a/expansion.cpp +++ b/expansion.cpp @@ -485,18 +485,12 @@ void viewdist_configure_dialog() { dialog::addBoolItem("use analyzer", use_analyzer, 'a'); dialog::add_action([] () { use_analyzer = !use_analyzer; }); - dialog::addBoolItem("show distance lists", show_distance_lists, 'l'); - dialog::add_action([] () { show_distance_lists = !show_distance_lists; }); - dialog::addSelItem("display distances from", its(first_distance), 'd'); dialog::add_action([] () { scrolling_distances = false; dialog::editNumber(first_distance, 0, 3000, 0, 1, "display distances from", ""); }); - dialog::addItem("disable", 'x'); - dialog::add_action([] () { viewdists = false; }); - int id = 0; for(auto& lp: linepatterns::patterns) { using namespace linepatterns; @@ -513,13 +507,18 @@ void viewdist_configure_dialog() { dialog::addInfo(XLAT("note: enable the cheat mode for additional options")); else dialog::addBreak(100); - - if(distance_from) - dialog::addInfo("numbers show the descendants of current player position"); - else - dialog::addBreak(100); - dialog::addBack(); + dialog::addBreak(100); + + dialog::addItem("disable", 'x'); + dialog::add_action([] () { viewdists = false; popScreen(); }); + + dialog::addItem("move the player", 'm'); + dialog::add_action([] () { show_distance_lists = false; popScreenAll(); }); + + dialog::addItem(distance_from ? "show number of descendants by distance" : "show number of cells by distance", 'l'); + dialog::add_action([] () { show_distance_lists = true; popScreenAll(); }); + dialog::display(); } diff --git a/geom-exp.cpp b/geom-exp.cpp index 9a1133cd..a7f1fd25 100644 --- a/geom-exp.cpp +++ b/geom-exp.cpp @@ -452,7 +452,7 @@ void showEuclideanMenu() { gp::configure(); } else if(uni == '2' || sym == SDLK_F1) gotoHelp(euchelp); - else if(uni == '3' && !viewdists) { enable_viewdists(); popScreenAll(); } + else if(uni == '3' && !viewdists) { enable_viewdists(); pushScreen(viewdist_configure_dialog); } else if(uni == '3' && viewdists) { viewdists = false; } else if(uni == '1' && !euclid) { if(sphere) {