aboutsummaryrefslogtreecommitdiff
path: root/lib/ibus-menu.vala
diff options
context:
space:
mode:
authorWilliam Hua <william.hua@canonical.com>2015-03-10 17:20:35 +0000
committerCI Train Bot <ci-train-bot@canonical.com>2015-03-10 17:20:35 +0000
commit1573d7106b4c949a5b146873f676e0dd120b7a4f (patch)
treed97fb63931d89eb1ef9ce6ff78c5b4acfd49f911 /lib/ibus-menu.vala
parentd2738506d81c742ab5b7d0f2ab6d19535a43ca71 (diff)
parentec6c31099a0e001554f3ab167b60545808e87301 (diff)
downloadayatana-indicator-keyboard-1573d7106b4c949a5b146873f676e0dd120b7a4f.tar.gz
ayatana-indicator-keyboard-1573d7106b4c949a5b146873f676e0dd120b7a4f.tar.bz2
ayatana-indicator-keyboard-1573d7106b4c949a5b146873f676e0dd120b7a4f.zip
Basic support for Fcitx input sources. Fixes: #1363150
Approved by: Ted Gould, PS Jenkins bot, Ryan Lortie, Sebastien Bacher
Diffstat (limited to 'lib/ibus-menu.vala')
-rw-r--r--lib/ibus-menu.vala26
1 files changed, 11 insertions, 15 deletions
diff --git a/lib/ibus-menu.vala b/lib/ibus-menu.vala
index c0862ac3..a240f00b 100644
--- a/lib/ibus-menu.vala
+++ b/lib/ibus-menu.vala
@@ -128,10 +128,6 @@ public class Indicator.Keyboard.IBusMenu : MenuModel {
var state = new Variant.boolean (property.state == IBus.PropState.CHECKED);
var action = new SimpleAction.stateful (name, null, state);
- action.activate.connect ((parameter) => {
- action.change_state (new Variant.boolean (!action.get_state ().get_boolean ()));
- });
-
action.change_state.connect ((value) => {
if (value != null) {
action.set_state ((!) value);
@@ -154,26 +150,26 @@ public class Indicator.Keyboard.IBusMenu : MenuModel {
/* Create a single action for all radio properties. */
if (action_map != null && radio_name == null) {
radio_counter++;
- radio_name = @"-private-radio-$radio_counter";
- radio_action = new SimpleAction.stateful ((!) radio_name, VariantType.STRING, new Variant.string (""));
- ((!) radio_action).activate.connect ((parameter) => {
- ((!) radio_action).change_state (parameter);
- });
+ var name = @"-private-radio-$radio_counter";
+ var action = new SimpleAction.stateful (name, VariantType.STRING, new Variant.string (""));
- ((!) radio_action).change_state.connect ((value) => {
+ action.change_state.connect ((value) => {
if (value != null) {
var key = ((!) value).get_string ();
if (radio_properties.has_key (key)) {
- ((!) radio_action).set_state ((!) value);
+ action.set_state ((!) value);
activate (radio_properties[key], IBus.PropState.CHECKED);
}
}
});
- ((!) action_map).add_action ((!) radio_action);
- names.add ((!) radio_name);
+ ((!) action_map).add_action (action);
+ names.add (name);
+
+ radio_name = name;
+ radio_action = action;
}
radio_properties[property.key] = property;
@@ -195,7 +191,7 @@ public class Indicator.Keyboard.IBusMenu : MenuModel {
private void append_menu_property (IBus.Property property) {
if (property.prop_type == IBus.PropType.MENU) {
- var submenu = new IBusMenu (action_map, ((!) property).sub_props);
+ var submenu = new IBusMenu (action_map, property.sub_props);
submenu.activate.connect ((property, state) => { activate (property, state); });
menu.append_submenu (get_label (property), submenu);
}
@@ -295,7 +291,7 @@ public class Indicator.Keyboard.IBusMenu : MenuModel {
return menu.get_item_link (item_index, link);
}
- public override void get_item_links (int item_index, out HashTable<string, MenuModel>? links) {
+ public override void get_item_links (int item_index, out HashTable<string, MenuModel> links) {
menu.get_item_links (item_index, out links);
}