diff --git a/data/ui/gummi.glade b/data/ui/gummi.glade index b9f65519..5d219320 100644 --- a/data/ui/gummi.glade +++ b/data/ui/gummi.glade @@ -660,6 +660,8 @@ True shouldnotseeme + + @@ -668,6 +670,8 @@ True shouldnotseeme + + @@ -676,6 +680,8 @@ True shouldnotseeme + + @@ -684,6 +690,8 @@ True shouldnotseeme + + @@ -692,6 +700,8 @@ True shouldnotseeme + + diff --git a/src/gui/gui-main.c b/src/gui/gui-main.c index bd9b266f..fa28e5d5 100644 --- a/src/gui/gui-main.c +++ b/src/gui/gui-main.c @@ -1001,6 +1001,8 @@ void display_recent_files (GummiGui* gui) { gtk_menu_item_set_label (gui->recent[i], tstr); gtk_widget_set_tooltip_text (GTK_WIDGET (gui->recent[i]), gui->recent_list[i]); + gtk_widget_add_events( (GTK_WIDGET (gui->recent[i])), GDK_ENTER_NOTIFY_MASK ); + gtk_widget_add_events( (GTK_WIDGET (gui->recent[i])), GDK_LEAVE_NOTIFY_MASK ); gtk_widget_show (GTK_WIDGET (gui->recent[i])); g_free (tstr); g_free (basename); @@ -1039,6 +1041,10 @@ gboolean statusbar_del_message (void* user) { return FALSE; } +void statusbar_set_permanent_message (const gchar* message) { + gtk_statusbar_push (GTK_STATUSBAR (gui->statusbar), gui->statusid, message); +} + /** * @brief "changed" signal callback for editor->buffer * Automatically check whether to start timer if buffer changed. diff --git a/src/gui/gui-menu.c b/src/gui/gui-menu.c index 5aa119a1..4f0b73cc 100644 --- a/src/gui/gui-menu.c +++ b/src/gui/gui-menu.c @@ -277,6 +277,17 @@ gboolean on_menu_quit_activate (void) { return FALSE; } +G_MODULE_EXPORT +gboolean on_menu_hover_activate (GtkWidget* widget, GdkEvent* event, gpointer data) { + gchar* filename = gtk_widget_get_tooltip_text (widget); + statusbar_set_permanent_message (filename); +} + +G_MODULE_EXPORT +gboolean on_menu_leave_activate (GtkWidget* widget, GdkEvent* event, gpointer data) { + statusbar_del_message (NULL); +} + /******************************************************************************* * EDIT MENU * ******************************************************************************/