SF.net SVN: geany:[3242] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Tue Nov 18 12:58:54 UTC 2008
Revision: 3242
http://geany.svn.sourceforge.net/geany/?rev=3242&view=rev
Author: ntrel
Date: 2008-11-18 12:58:53 +0000 (Tue, 18 Nov 2008)
Log Message:
-----------
Refactor with sidebar_add_common_menu_items().
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/treeviews.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-11-16 17:55:23 UTC (rev 3241)
+++ trunk/ChangeLog 2008-11-18 12:58:53 UTC (rev 3242)
@@ -1,3 +1,9 @@
+2008-11-18 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/treeviews.c:
+ Refactor with sidebar_add_common_menu_items().
+
+
2008-11-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* Makefile.am:
Modified: trunk/src/treeviews.c
===================================================================
--- trunk/src/treeviews.c 2008-11-16 17:55:23 UTC (rev 3241)
+++ trunk/src/treeviews.c 2008-11-18 12:58:53 UTC (rev 3242)
@@ -59,18 +59,14 @@
OPENFILES_ACTION_HIDE_ALL,
SYMBOL_ACTION_SORT_BY_NAME,
SYMBOL_ACTION_SORT_BY_APPEARANCE,
- SYMBOL_ACTION_HIDE,
- SYMBOL_ACTION_HIDE_ALL
+ SYMBOL_ACTION_HIDE
};
typedef struct
{
GtkWidget *documents_fullpath;
- GtkWidget *documents_show_symbols;
- GtkWidget *documents_show_documents;
- GtkWidget *symbols_show_symbols;
- GtkWidget *symbols_show_documents;
} menu_items;
+
static menu_items mi;
static GtkListStore *store_openfiles;
@@ -80,7 +76,6 @@
static void on_taglist_tree_popup_clicked(GtkMenuItem *menuitem, gpointer user_data);
static void on_openfiles_tree_selection_changed(GtkTreeSelection *selection, gpointer data);
static void on_openfiles_document_action(GtkMenuItem *menuitem, gpointer user_data);
-static void on_openfiles_hide_item_clicked(GtkMenuItem *menuitem, gpointer user_data);
static gboolean on_taglist_tree_selection_changed(GtkTreeSelection *selection);
static gboolean on_treeviews_button_press_event(GtkWidget *widget, GdkEventButton *event,
gpointer user_data);
@@ -364,47 +359,81 @@
}
-static void create_taglist_popup_menu(void)
+static void on_hide_sidebar(void)
{
- GtkWidget *item;
+ ui_prefs.sidebar_visible = FALSE;
+ ui_sidebar_show_hide();
+}
- tv.popup_taglist = gtk_menu_new();
- item = gtk_menu_item_new_with_mnemonic(_("Sort by _Name"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(tv.popup_taglist), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_taglist_tree_popup_clicked),
- GINT_TO_POINTER(SYMBOL_ACTION_SORT_BY_NAME));
+static gboolean on_sidebar_display_symbol_list_show(GtkWidget *item)
+{
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),
+ interface_prefs.sidebar_symbol_visible);
+ return FALSE;
+}
- item = gtk_menu_item_new_with_mnemonic(_("Sort by _Appearance"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(tv.popup_taglist), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_taglist_tree_popup_clicked),
- GINT_TO_POINTER(SYMBOL_ACTION_SORT_BY_APPEARANCE));
+static gboolean on_sidebar_display_open_files_show(GtkWidget *item)
+{
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item),
+ interface_prefs.sidebar_openfiles_visible);
+ return FALSE;
+}
+
+
+static void sidebar_add_common_menu_items(GtkMenu *menu)
+{
+ GtkWidget *item;
+
item = gtk_separator_menu_item_new();
gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(tv.popup_taglist), item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
- mi.symbols_show_symbols = gtk_check_menu_item_new_with_mnemonic(_("Show S_ymbol List"));
- gtk_widget_show(mi.symbols_show_symbols);
- gtk_container_add(GTK_CONTAINER(tv.popup_taglist), mi.symbols_show_symbols);
- g_signal_connect(mi.symbols_show_symbols, "activate",
+ item = gtk_check_menu_item_new_with_mnemonic(_("Show S_ymbol List"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "expose-event",
+ G_CALLBACK(on_sidebar_display_symbol_list_show), NULL);
+ gtk_widget_show(item);
+ g_signal_connect(item, "activate",
G_CALLBACK(on_list_symbol_activate), NULL);
- mi.symbols_show_documents = gtk_check_menu_item_new_with_mnemonic(_("Show _Document List"));
- gtk_widget_show(mi.symbols_show_documents);
- gtk_container_add(GTK_CONTAINER(tv.popup_taglist), mi.symbols_show_documents);
- g_signal_connect(mi.symbols_show_documents, "activate",
+ item = gtk_check_menu_item_new_with_mnemonic(_("Show _Document List"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "expose-event",
+ G_CALLBACK(on_sidebar_display_open_files_show), NULL);
+ gtk_widget_show(item);
+ g_signal_connect(item, "activate",
G_CALLBACK(on_list_document_activate), NULL);
item = gtk_image_menu_item_new_with_mnemonic(_("H_ide Sidebar"));
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
gtk_image_new_from_stock("gtk-close", GTK_ICON_SIZE_MENU));
gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_hide_sidebar), NULL);
+}
+
+
+static void create_taglist_popup_menu(void)
+{
+ GtkWidget *item;
+
+ tv.popup_taglist = gtk_menu_new();
+
+ item = gtk_menu_item_new_with_mnemonic(_("Sort by _Name"));
+ gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_taglist), item);
g_signal_connect(item, "activate", G_CALLBACK(on_taglist_tree_popup_clicked),
- GINT_TO_POINTER(SYMBOL_ACTION_HIDE_ALL));
+ GINT_TO_POINTER(SYMBOL_ACTION_SORT_BY_NAME));
+
+ item = gtk_menu_item_new_with_mnemonic(_("Sort by _Appearance"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(tv.popup_taglist), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_taglist_tree_popup_clicked),
+ GINT_TO_POINTER(SYMBOL_ACTION_SORT_BY_APPEARANCE));
+
+ sidebar_add_common_menu_items(GTK_MENU(tv.popup_taglist));
}
@@ -469,28 +498,7 @@
g_signal_connect(mi.documents_fullpath, "activate",
G_CALLBACK(on_openfiles_fullpath_activate), NULL);
- item = gtk_separator_menu_item_new();
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item);
-
- mi.documents_show_symbols = gtk_check_menu_item_new_with_mnemonic(_("Show S_ymbol List"));
- gtk_widget_show(mi.documents_show_symbols);
- gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), mi.documents_show_symbols);
- g_signal_connect(mi.documents_show_symbols, "activate",
- G_CALLBACK(on_list_symbol_activate), NULL);
-
- mi.documents_show_documents = gtk_check_menu_item_new_with_mnemonic(_("Show _Document List"));
- gtk_widget_show(mi.documents_show_documents);
- gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), mi.documents_show_documents);
- g_signal_connect(mi.documents_show_documents, "activate",
- G_CALLBACK(on_list_document_activate), NULL);
-
- item = gtk_image_menu_item_new_with_mnemonic(_("H_ide Sidebar"));
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
- gtk_image_new_from_stock("gtk-close", GTK_ICON_SIZE_MENU));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_openfiles_hide_item_clicked), NULL);
+ sidebar_add_common_menu_items(GTK_MENU(tv.popup_openfiles));
}
@@ -556,13 +564,6 @@
}
-static void on_openfiles_hide_item_clicked(GtkMenuItem *menuitem, gpointer user_data)
-{
- ui_prefs.sidebar_visible = FALSE;
- ui_sidebar_show_hide();
-}
-
-
static gboolean change_focus(gpointer data)
{
GeanyDocument *doc = data;
@@ -622,12 +623,6 @@
ui_sidebar_show_hide();
break;
}
- case SYMBOL_ACTION_HIDE_ALL:
- {
- ui_prefs.sidebar_visible = FALSE;
- ui_sidebar_show_hide();
- break;
- }
}
}
@@ -712,10 +707,6 @@
{ /* popupmenu to hide or clear the active treeview */
if (GPOINTER_TO_INT(user_data) == TREEVIEW_OPENFILES)
{
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi.documents_show_documents),
- interface_prefs.sidebar_openfiles_visible);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi.documents_show_symbols),
- interface_prefs.sidebar_symbol_visible);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi.documents_fullpath),
interface_prefs.sidebar_openfiles_fullpath);
gtk_menu_popup(GTK_MENU(tv.popup_openfiles), NULL, NULL, NULL, NULL,
@@ -723,10 +714,6 @@
}
else if (GPOINTER_TO_INT(user_data) == TREEVIEW_SYMBOL)
{
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi.symbols_show_documents),
- interface_prefs.sidebar_openfiles_visible);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi.symbols_show_symbols),
- interface_prefs.sidebar_symbol_visible);
gtk_menu_popup(GTK_MENU(tv.popup_taglist), NULL, NULL, NULL, NULL,
event->button, event->time);
return TRUE; /* prevent selection changed signal for symbol tags */
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