SF.net SVN: geany:[3977] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Jul 16 15:19:58 UTC 2009
Revision: 3977
http://geany.svn.sourceforge.net/geany/?rev=3977&view=rev
Author: ntrel
Date: 2009-07-16 15:19:57 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
Fix GTK warning when right-clicking on default tag tree.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/treeviews.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-07-16 15:04:21 UTC (rev 3976)
+++ trunk/ChangeLog 2009-07-16 15:19:57 UTC (rev 3977)
@@ -11,6 +11,8 @@
Add "load_settings" core-only signal emitted just after loading
main keyfile settings; useful to delay building UI elements until
settings have been read.
+ * src/treeviews.c:
+ Fix GTK warning when right-clicking on default tag tree.
2009-07-15 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/treeviews.c
===================================================================
--- trunk/src/treeviews.c 2009-07-16 15:04:21 UTC (rev 3976)
+++ trunk/src/treeviews.c 2009-07-16 15:19:57 UTC (rev 3977)
@@ -156,12 +156,33 @@
{
if (event->button == 3)
{
- on_symbols_button_press_event(widget, event, NULL);
+ gtk_menu_popup(GTK_MENU(tv.popup_taglist), NULL, NULL, NULL, NULL,
+ event->button, event->time);
+ return TRUE;
}
return FALSE;
}
+static void create_default_tag_tree(void)
+{
+ GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW(tag_window);
+ GtkWidget *label;
+
+ /* default_tag_tree is a GtkViewPort with a GtkLabel inside it */
+ tv.default_tag_tree = gtk_viewport_new(
+ gtk_scrolled_window_get_hadjustment(scrolled_window),
+ gtk_scrolled_window_get_vadjustment(scrolled_window));
+ label = gtk_label_new(_("No tags found"));
+ gtk_misc_set_alignment(GTK_MISC(label), 0.1, 0.01);
+ gtk_container_add(GTK_CONTAINER(tv.default_tag_tree), label);
+ gtk_widget_show_all(tv.default_tag_tree);
+ g_signal_connect(tv.default_tag_tree, "button-press-event",
+ G_CALLBACK(on_default_tag_tree_button_press_event), NULL);
+ g_object_ref((gpointer)tv.default_tag_tree); /* to hold it after removing */
+}
+
+
/* update = rescan the tags for doc->filename */
void treeviews_update_tag_list(GeanyDocument *doc, gboolean update)
{
@@ -169,23 +190,8 @@
gtk_container_remove(GTK_CONTAINER(tag_window), gtk_bin_get_child(GTK_BIN(tag_window)));
if (tv.default_tag_tree == NULL)
- {
- GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW(tag_window);
- GtkWidget *label;
+ create_default_tag_tree();
- /* default_tag_tree is a GtkViewPort with a GtkLabel inside it */
- tv.default_tag_tree = gtk_viewport_new(
- gtk_scrolled_window_get_hadjustment(scrolled_window),
- gtk_scrolled_window_get_vadjustment(scrolled_window));
- label = gtk_label_new(_("No tags found"));
- gtk_misc_set_alignment(GTK_MISC(label), 0.1, 0.01);
- gtk_container_add(GTK_CONTAINER(tv.default_tag_tree), label);
- gtk_widget_show_all(tv.default_tag_tree);
- g_signal_connect(tv.default_tag_tree, "button-press-event",
- G_CALLBACK(on_default_tag_tree_button_press_event), NULL);
- g_object_ref((gpointer)tv.default_tag_tree); /* to hold it after removing */
- }
-
/* show default empty tag tree if there are no tags */
if (doc == NULL || doc->file_type == NULL || ! filetype_has_tags(doc->file_type))
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list