diff options
author | Raphael Langella <raphael.langella@gmail.com> | 2012-04-24 17:51:19 +0200 |
---|---|---|
committer | Raphael Langella <raphael.langella@gmail.com> | 2012-04-24 17:51:19 +0200 |
commit | 3b6a7ff088088adbcd249764e2ef6a6eb8436eb9 (patch) | |
tree | 31773c90a933ca2e6b89846912b65f1cb79f61d6 /crawl-ref/source/menu.h | |
parent | b75146b04d68d06a31fc75ded788fb38f2a98666 (diff) | |
download | crawl-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.h | 25 |
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; |