summaryrefslogtreecommitdiff
diff options
-rw-r--r--unity-private/panel/panel-indicator-object-entry-view.vala3
-rw-r--r--unity-private/panel/panel-indicator-object-view.vala8
-rw-r--r--vapi/indicator.vapi1
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);