diff options
| author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2014-04-02 21:10:18 +0200 |
|---|---|---|
| committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2014-04-02 21:10:18 +0200 |
| commit | c1f7b4d3c888b24d17fd7ced7ef37004fa778030 (patch) | |
| tree | cad5777f8431b6df027c8eccc26efe88a366335f /shell/panel.c | |
| parent | dea55fa3e757dd8e99594c4b19745af33bef73d6 (diff) | |
| download | graynard-c1f7b4d3c888b24d17fd7ced7ef37004fa778030.tar.gz graynard-c1f7b4d3c888b24d17fd7ced7ef37004fa778030.zip | |
panel: hide when a favorite is loaded
Diffstat (limited to 'shell/panel.c')
| -rw-r--r-- | shell/panel.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/shell/panel.c b/shell/panel.c index f4f17bf..74ab751 100644 --- a/shell/panel.c +++ b/shell/panel.c @@ -31,6 +31,7 @@ enum { APP_MENU_TOGGLED, SYSTEM_TOGGLED, VOLUME_TOGGLED, + FAVORITE_LAUNCHED, N_SIGNALS }; static guint signals[N_SIGNALS] = { 0 }; @@ -100,6 +101,13 @@ volume_button_clicked_cb (GtkButton *button, } static void +favorite_launched_cb (MaynardFavorites *favorites, + MaynardPanel *self) +{ + g_signal_emit (self, signals[FAVORITE_LAUNCHED], 0); +} + +static void maynard_panel_constructed (GObject *object) { MaynardPanel *self = MAYNARD_PANEL (object); @@ -107,6 +115,7 @@ maynard_panel_constructed (GObject *object) GtkWidget *ebox; GtkWidget *image; GtkWidget *button; + GtkWidget *favorites; G_OBJECT_CLASS (maynard_panel_parent_class)->constructed (object); @@ -208,9 +217,13 @@ maynard_panel_constructed (GObject *object) /* favorites */ ebox = gtk_event_box_new (); gtk_box_pack_start (GTK_BOX (main_box), ebox, FALSE, FALSE, 0); - gtk_container_add (GTK_CONTAINER (ebox), maynard_favorites_new ()); + favorites = maynard_favorites_new (); + gtk_container_add (GTK_CONTAINER (ebox), favorites); widget_connect_enter_signal (self, ebox); + g_signal_connect (favorites, "app-launched", + G_CALLBACK (favorite_launched_cb), self); + /* bottom app menu button */ ebox = gtk_event_box_new (); gtk_box_pack_end (GTK_BOX (main_box), ebox, FALSE, FALSE, 0); @@ -257,6 +270,10 @@ maynard_panel_class_init (MaynardPanelClass *klass) G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0); + signals[FAVORITE_LAUNCHED] = g_signal_new ("favorite-launched", + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, + NULL, G_TYPE_NONE, 0); + g_type_class_add_private (object_class, sizeof (MaynardPanelPrivate)); } |
