.
1 /*
2 Copyright (C) 2014 Johan Mattsson
3
4 This library is free software; you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation; either version 3 of the
7 License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful, but
10 WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13 */
14
15 namespace BirdFont {
16
17 public class ToolItem : MenuItem {
18
19 public Tool tool;
20
21 public ToolItem (Tool tool) {
22 base (tool.tip, tool.name);
23
24 this.tool = tool;
25
26 action.connect (() => {
27 tool.select_action (tool);
28 });
29 }
30
31 public string get_key_binding () {
32 StringBuilder sb = new StringBuilder ();
33
34 if (key == '\0') {
35 return "".dup ();
36 }
37
38 if ((modifiers & CTRL) > 0) {
39 sb.append ("Ctrl");
40 sb.append ("+");
41 }
42
43 if ((modifiers & SHIFT) > 0) {
44 sb.append (t_("Shift"));
45 sb.append ("+");
46 }
47
48 if ((modifiers & ALT) > 0) {
49 sb.append ("Alt");
50 sb.append ("+");
51 }
52
53 if ((modifiers & LOGO) > 0) {
54 sb.append ("Super");
55 sb.append ("+");
56 }
57
58 sb.append_unichar (key);
59
60 return sb.str;
61 }
62 }
63
64 }
65