From c1f7b4d3c888b24d17fd7ced7ef37004fa778030 Mon Sep 17 00:00:00 2001 From: Jonny Lamb Date: Wed, 2 Apr 2014 21:10:18 +0200 Subject: panel: hide when a favorite is loaded --- shell/panel.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'shell/panel.c') 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 }; @@ -99,6 +100,13 @@ volume_button_clicked_cb (GtkButton *button, g_signal_emit (self, signals[VOLUME_TOGGLED], 0); } +static void +favorite_launched_cb (MaynardFavorites *favorites, + MaynardPanel *self) +{ + g_signal_emit (self, signals[FAVORITE_LAUNCHED], 0); +} + static void maynard_panel_constructed (GObject *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)); } -- cgit v1.3.1