summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/menu.h
diff options
context:
space:
mode:
authorRaphael Langella <raphael.langella@gmail.com>2012-04-24 17:51:19 +0200
committerRaphael Langella <raphael.langella@gmail.com>2012-04-24 17:51:19 +0200
commit3b6a7ff088088adbcd249764e2ef6a6eb8436eb9 (patch)
tree31773c90a933ca2e6b89846912b65f1cb79f61d6 /crawl-ref/source/menu.h
parentb75146b04d68d06a31fc75ded788fb38f2a98666 (diff)
downloadcrawl-ref-3b6a7ff088088adbcd249764e2ef6a6eb8436eb9.tar.gz
crawl-ref-3b6a7ff088088adbcd249764e2ef6a6eb8436eb9.zip
Use shift+letter instead of ctrl+letter to single-select skills.
ctrl+letter doesn't work for several letters in console and in webtiles. If more than 26 skills can be trained, the 27th+ are mapped to numbers (and they cannot be single-selected with shift number).
Diffstat (limited to 'crawl-ref/source/menu.h')
-rw-r--r--crawl-ref/source/menu.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/crawl-ref/source/menu.h b/crawl-ref/source/menu.h
index 845c3bf85e..0adfe5bd7f 100644
--- a/crawl-ref/source/menu.h
+++ b/crawl-ref/source/menu.h
@@ -57,6 +57,31 @@ struct menu_letter
}
};
+// XXX Use inheritence instead of duplicate code
+struct menu_letter2
+{
+ char letter;
+
+ menu_letter2() : letter('a') { }
+ menu_letter2(char c) : letter(c) { }
+
+ operator char () const { return letter; }
+ const menu_letter2 &operator ++ ()
+ {
+ letter = letter == 'z'? '0' :
+ letter == '9'? 'a' :
+ letter + 1;
+ return *this;
+ }
+
+ menu_letter2 operator ++ (int)
+ {
+ menu_letter2 copy = *this;
+ this->operator++();
+ return copy;
+ }
+};
+
struct item_def;
class Menu;