From 492daa3ce371f150ab927ceb22d95bf09f372812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Mon, 8 Oct 2012 04:40:41 +0200 Subject: Show symbol names in the statusbar again.. Not very clean but serves its purpose. --- src/ld-window-main.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/ld-window-main.c') diff --git a/src/ld-window-main.c b/src/ld-window-main.c index 0be7700..698ffc5 100644 --- a/src/ld-window-main.c +++ b/src/ld-window-main.c @@ -90,6 +90,11 @@ static gboolean may_close_diagram (LdWindowMain *self, const gchar *dialog_message); static gboolean may_quit (LdWindowMain *self); +static void on_symbol_selected (LdCategoryView *view, + LdSymbol *symbol, const gchar *path, LdWindowMain *self); +static void on_symbol_deselected (LdCategoryView *view, + LdSymbol *symbol, const gchar *path, LdWindowMain *self); + static void on_action_new (GtkAction *action, LdWindowMain *self); static void on_action_open (GtkAction *action, LdWindowMain *self); static void on_action_save (GtkAction *action, LdWindowMain *self); @@ -341,6 +346,11 @@ ld_window_main_init (LdWindowMain *self) ld_category_view_set_category (LD_CATEGORY_VIEW (priv->library_view), ld_library_get_root (priv->library)); + g_signal_connect_after (priv->library_view, "symbol-selected", + G_CALLBACK (on_symbol_selected), self); + g_signal_connect_after (priv->library_view, "symbol-deselected", + G_CALLBACK (on_symbol_deselected), self); + diagram_set_filename (self, NULL); priv->statusbar_hint_drag = gtk_statusbar_push @@ -841,6 +851,25 @@ may_quit (LdWindowMain *self) /* ===== User interface actions ============================================ */ +static void +on_symbol_selected (LdCategoryView *view, + LdSymbol *symbol, const gchar *path, LdWindowMain *self) +{ + const gchar *symbol_name; + + symbol_name = ld_symbol_get_human_name (symbol); + gtk_statusbar_push (GTK_STATUSBAR (self->priv->statusbar), + self->priv->statusbar_menu_context_id, symbol_name); +} + +static void +on_symbol_deselected (LdCategoryView *view, + LdSymbol *symbol, const gchar *path, LdWindowMain *self) +{ + gtk_statusbar_pop (GTK_STATUSBAR (self->priv->statusbar), + self->priv->statusbar_menu_context_id); +} + static void on_view_zoom_changed (LdDiagramView *view, GParamSpec *pspec, LdWindowMain *self) -- cgit v1.2.3