diff options
| -rw-r--r-- | unity-private/panel/panel-indicator-object-entry-view.vala | 3 | ||||
| -rw-r--r-- | unity-private/panel/panel-indicator-object-view.vala | 8 | ||||
| -rw-r--r-- | vapi/indicator.vapi | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/unity-private/panel/panel-indicator-object-entry-view.vala b/unity-private/panel/panel-indicator-object-entry-view.vala index c1d2e05d4..2829ef4fe 100644 --- a/unity-private/panel/panel-indicator-object-entry-view.vala +++ b/unity-private/panel/panel-indicator-object-entry-view.vala @@ -23,6 +23,7 @@ namespace Unity.Panel.Indicators { public unowned Indicator.ObjectEntry entry { get; construct; } public signal void menu_moved (Gtk.MenuDirectionType type); + public signal void entry_shown (); private Clutter.CairoTexture bg; public Ctk.Image image; @@ -469,6 +470,8 @@ namespace Unity.Panel.Indicators entry.menu.move_current.connect (menu_key_moved); entry.menu.notify["visible"].connect (menu_vis_changed); bg.opacity = 255; + + entry_shown (); } } diff --git a/unity-private/panel/panel-indicator-object-view.vala b/unity-private/panel/panel-indicator-object-view.vala index 0816efc89..c102bb248 100644 --- a/unity-private/panel/panel-indicator-object-view.vala +++ b/unity-private/panel/panel-indicator-object-view.vala @@ -68,6 +68,7 @@ namespace Unity.Panel.Indicators IndicatorObjectEntryView object_entry_view = new IndicatorObjectEntryView (indicator_object_entry); object_entry_view.menu_moved.connect (this.on_menu_moved); + object_entry_view.entry_shown.connect (on_entry_shown); this.indicator_entry_array.add (object_entry_view); this.add_actor (object_entry_view); @@ -167,12 +168,19 @@ namespace Unity.Panel.Indicators IndicatorObjectEntryView object_entry_view = new IndicatorObjectEntryView (indicator_object_entry); object_entry_view.menu_moved.connect (this.on_menu_moved); + object_entry_view.entry_shown.connect (on_entry_shown); this.indicator_entry_array.add (object_entry_view); this.add_actor (object_entry_view); } + private void on_entry_shown (IndicatorObjectEntryView view) + { + indicator_object.entry_activate (view.entry, + global_shell.get_current_time ()); + } + private void remove_entry (Indicator.ObjectEntry entry) { for (int i = 0; i < indicator_entry_array.size; i++) diff --git a/vapi/indicator.vapi b/vapi/indicator.vapi index 448d85133..7a4b34d58 100644 --- a/vapi/indicator.vapi +++ b/vapi/indicator.vapi @@ -27,6 +27,7 @@ namespace Indicator { [NoWrapper] public virtual unowned Gtk.Menu get_menu (); [NoWrapper] + public virtual void entry_activate (Indicator.ObjectEntry entry, uint timestamp); public virtual void indicator_object_reserved_1 (); public virtual signal void entry_added (Indicator.ObjectEntry entry); public virtual signal void entry_moved (Indicator.ObjectEntry entry, uint old_pos, uint new_pos); |
