Kaydet (Commit) b51b8524 authored tarafından Nick Treleaven's avatar Nick Treleaven

Add treeviews_finalize().

Remove tv.popup_openfiles field.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3979 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst c7871c70
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
settings have been read. settings have been read.
* src/treeviews.c: * src/treeviews.c:
Fix GTK warning when right-clicking on default tag tree. Fix GTK warning when right-clicking on default tag tree.
* src/treeviews.c, src/treeviews.h, src/keyfile.c, src/main.c:
Add treeviews_finalize().
Remove tv.popup_openfiles field.
2009-07-15 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> 2009-07-15 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
......
...@@ -121,6 +121,7 @@ static void init_pref_groups(void) ...@@ -121,6 +121,7 @@ static void init_pref_groups(void)
stash_group_add_toggle_button(group, &interface_prefs.notebook_double_click_hides_widgets, stash_group_add_toggle_button(group, &interface_prefs.notebook_double_click_hides_widgets,
"notebook_double_click_hides_widgets", FALSE, "check_double_click_hides_widgets"); "notebook_double_click_hides_widgets", FALSE, "check_double_click_hides_widgets");
stash_group_add_integer(group, &interface_prefs.tab_pos_sidebar, "tab_pos_sidebar", GTK_POS_TOP);
stash_group_add_toggle_button(group, &interface_prefs.highlighting_invert_all, stash_group_add_toggle_button(group, &interface_prefs.highlighting_invert_all,
"highlighting_invert_all", FALSE, "check_highlighting_invert"); "highlighting_invert_all", FALSE, "check_highlighting_invert");
...@@ -342,7 +343,6 @@ static void save_dialog_prefs(GKeyFile *config) ...@@ -342,7 +343,6 @@ static void save_dialog_prefs(GKeyFile *config)
g_key_file_set_boolean(config, PACKAGE, "tab_order_ltr", file_prefs.tab_order_ltr); g_key_file_set_boolean(config, PACKAGE, "tab_order_ltr", file_prefs.tab_order_ltr);
g_key_file_set_integer(config, PACKAGE, "tab_pos_editor", interface_prefs.tab_pos_editor); g_key_file_set_integer(config, PACKAGE, "tab_pos_editor", interface_prefs.tab_pos_editor);
g_key_file_set_integer(config, PACKAGE, "tab_pos_msgwin", interface_prefs.tab_pos_msgwin); g_key_file_set_integer(config, PACKAGE, "tab_pos_msgwin", interface_prefs.tab_pos_msgwin);
g_key_file_set_integer(config, PACKAGE, "tab_pos_sidebar", interface_prefs.tab_pos_sidebar);
/* display */ /* display */
g_key_file_set_boolean(config, PACKAGE, "show_indent_guide", editor_prefs.show_indent_guide); g_key_file_set_boolean(config, PACKAGE, "show_indent_guide", editor_prefs.show_indent_guide);
...@@ -632,7 +632,6 @@ static void load_dialog_prefs(GKeyFile *config) ...@@ -632,7 +632,6 @@ static void load_dialog_prefs(GKeyFile *config)
/* interface */ /* interface */
interface_prefs.tab_pos_editor = utils_get_setting_integer(config, PACKAGE, "tab_pos_editor", GTK_POS_TOP); interface_prefs.tab_pos_editor = utils_get_setting_integer(config, PACKAGE, "tab_pos_editor", GTK_POS_TOP);
interface_prefs.tab_pos_msgwin = utils_get_setting_integer(config, PACKAGE, "tab_pos_msgwin",GTK_POS_LEFT); interface_prefs.tab_pos_msgwin = utils_get_setting_integer(config, PACKAGE, "tab_pos_msgwin",GTK_POS_LEFT);
interface_prefs.tab_pos_sidebar = utils_get_setting_integer(config, PACKAGE, "tab_pos_sidebar", GTK_POS_TOP);
interface_prefs.sidebar_symbol_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_symbol_visible", TRUE); interface_prefs.sidebar_symbol_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_symbol_visible", TRUE);
interface_prefs.sidebar_openfiles_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_openfiles_visible", TRUE); interface_prefs.sidebar_openfiles_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_openfiles_visible", TRUE);
interface_prefs.statusbar_visible = utils_get_setting_boolean(config, PACKAGE, "statusbar_visible", TRUE); interface_prefs.statusbar_visible = utils_get_setting_boolean(config, PACKAGE, "statusbar_visible", TRUE);
......
...@@ -234,7 +234,6 @@ static void main_init(void) ...@@ -234,7 +234,6 @@ static void main_init(void)
ui_widgets.open_filesel = NULL; ui_widgets.open_filesel = NULL;
ui_widgets.save_filesel = NULL; ui_widgets.save_filesel = NULL;
ui_widgets.prefs_dialog = NULL; ui_widgets.prefs_dialog = NULL;
tv.default_tag_tree = NULL;
main_status.main_window_realized= FALSE; main_status.main_window_realized= FALSE;
file_prefs.tab_order_ltr = FALSE; file_prefs.tab_order_ltr = FALSE;
main_status.quitting = FALSE; main_status.quitting = FALSE;
...@@ -1110,6 +1109,7 @@ void main_quit() ...@@ -1110,6 +1109,7 @@ void main_quit()
editor_snippets_free(); editor_snippets_free();
encodings_finalize(); encodings_finalize();
toolbar_finalize(); toolbar_finalize();
treeviews_finalize();
configuration_finalize(); configuration_finalize();
log_finalize(); log_finalize();
...@@ -1147,11 +1147,6 @@ void main_quit() ...@@ -1147,11 +1147,6 @@ void main_quit()
if (ui_widgets.open_filesel && GTK_IS_WIDGET(ui_widgets.open_filesel)) gtk_widget_destroy(ui_widgets.open_filesel); if (ui_widgets.open_filesel && GTK_IS_WIDGET(ui_widgets.open_filesel)) gtk_widget_destroy(ui_widgets.open_filesel);
if (ui_widgets.open_fontsel && GTK_IS_WIDGET(ui_widgets.open_fontsel)) gtk_widget_destroy(ui_widgets.open_fontsel); if (ui_widgets.open_fontsel && GTK_IS_WIDGET(ui_widgets.open_fontsel)) gtk_widget_destroy(ui_widgets.open_fontsel);
if (ui_widgets.open_colorsel && GTK_IS_WIDGET(ui_widgets.open_colorsel)) gtk_widget_destroy(ui_widgets.open_colorsel); if (ui_widgets.open_colorsel && GTK_IS_WIDGET(ui_widgets.open_colorsel)) gtk_widget_destroy(ui_widgets.open_colorsel);
if (tv.default_tag_tree && GTK_IS_WIDGET(tv.default_tag_tree))
{
g_object_unref(tv.default_tag_tree);
gtk_widget_destroy(tv.default_tag_tree);
}
#ifdef HAVE_VTE #ifdef HAVE_VTE
if (vte_info.have_vte) vte_close(); if (vte_info.have_vte) vte_close();
g_free(vte_info.lib_vte); g_free(vte_info.lib_vte);
...@@ -1164,10 +1159,6 @@ void main_quit() ...@@ -1164,10 +1159,6 @@ void main_quit()
gtk_widget_destroy(main_widgets.editor_menu); gtk_widget_destroy(main_widgets.editor_menu);
if (ui_widgets.toolbar_menu && GTK_IS_WIDGET(ui_widgets.toolbar_menu)) if (ui_widgets.toolbar_menu && GTK_IS_WIDGET(ui_widgets.toolbar_menu))
gtk_widget_destroy(ui_widgets.toolbar_menu); gtk_widget_destroy(ui_widgets.toolbar_menu);
if (tv.popup_taglist && GTK_IS_WIDGET(tv.popup_taglist))
gtk_widget_destroy(tv.popup_taglist);
if (tv.popup_openfiles && GTK_IS_WIDGET(tv.popup_openfiles))
gtk_widget_destroy(tv.popup_openfiles);
if (msgwindow.popup_status_menu && GTK_IS_WIDGET(msgwindow.popup_status_menu)) if (msgwindow.popup_status_menu && GTK_IS_WIDGET(msgwindow.popup_status_menu))
gtk_widget_destroy(msgwindow.popup_status_menu); gtk_widget_destroy(msgwindow.popup_status_menu);
if (msgwindow.popup_msg_menu && GTK_IS_WIDGET(msgwindow.popup_msg_menu)) if (msgwindow.popup_msg_menu && GTK_IS_WIDGET(msgwindow.popup_msg_menu))
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
#include <gdk/gdkkeysyms.h> #include <gdk/gdkkeysyms.h>
SidebarTreeviews tv = {NULL, NULL, NULL, NULL}; SidebarTreeviews tv = {NULL, NULL, NULL};
static struct static struct
{ {
...@@ -80,6 +80,7 @@ enum ...@@ -80,6 +80,7 @@ enum
}; };
static GtkTreeStore *store_openfiles; static GtkTreeStore *store_openfiles;
static GtkWidget *openfiles_popup_menu;
static gboolean documents_show_paths; static gboolean documents_show_paths;
static GtkWidget *tag_window; /* scrolled window that holds the symbol list GtkTreeView */ static GtkWidget *tag_window; /* scrolled window that holds the symbol list GtkTreeView */
...@@ -553,22 +554,22 @@ static void create_openfiles_popup_menu(void) ...@@ -553,22 +554,22 @@ static void create_openfiles_popup_menu(void)
{ {
GtkWidget *item; GtkWidget *item;
tv.popup_openfiles = gtk_menu_new(); openfiles_popup_menu = gtk_menu_new();
item = gtk_image_menu_item_new_from_stock("gtk-close", NULL); item = gtk_image_menu_item_new_from_stock("gtk-close", NULL);
gtk_widget_show(item); gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), item);
g_signal_connect(item, "activate", g_signal_connect(item, "activate",
G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_REMOVE)); G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_REMOVE));
doc_items.close = item; doc_items.close = item;
item = gtk_separator_menu_item_new(); item = gtk_separator_menu_item_new();
gtk_widget_show(item); gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), item);
item = gtk_image_menu_item_new_from_stock("gtk-save", NULL); item = gtk_image_menu_item_new_from_stock("gtk-save", NULL);
gtk_widget_show(item); gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), item);
g_signal_connect(item, "activate", g_signal_connect(item, "activate",
G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_SAVE)); G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_SAVE));
doc_items.save = item; doc_items.save = item;
...@@ -577,22 +578,22 @@ static void create_openfiles_popup_menu(void) ...@@ -577,22 +578,22 @@ static void create_openfiles_popup_menu(void)
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
gtk_image_new_from_stock("gtk-revert-to-saved", GTK_ICON_SIZE_MENU)); gtk_image_new_from_stock("gtk-revert-to-saved", GTK_ICON_SIZE_MENU));
gtk_widget_show(item); gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), item);
g_signal_connect(item, "activate", g_signal_connect(item, "activate",
G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_RELOAD)); G_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_RELOAD));
doc_items.reload = item; doc_items.reload = item;
item = gtk_separator_menu_item_new(); item = gtk_separator_menu_item_new();
gtk_widget_show(item); gtk_widget_show(item);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), item); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), item);
doc_items.show_paths = gtk_check_menu_item_new_with_mnemonic(_("Show _Paths")); doc_items.show_paths = gtk_check_menu_item_new_with_mnemonic(_("Show _Paths"));
gtk_widget_show(doc_items.show_paths); gtk_widget_show(doc_items.show_paths);
gtk_container_add(GTK_CONTAINER(tv.popup_openfiles), doc_items.show_paths); gtk_container_add(GTK_CONTAINER(openfiles_popup_menu), doc_items.show_paths);
g_signal_connect(doc_items.show_paths, "activate", g_signal_connect(doc_items.show_paths, "activate",
G_CALLBACK(on_openfiles_show_paths_activate), NULL); G_CALLBACK(on_openfiles_show_paths_activate), NULL);
sidebar_add_common_menu_items(GTK_MENU(tv.popup_openfiles)); sidebar_add_common_menu_items(GTK_MENU(openfiles_popup_menu));
} }
...@@ -873,11 +874,11 @@ static gboolean on_documents_button_release_event(GtkWidget *widget, GdkEventBut ...@@ -873,11 +874,11 @@ static gboolean on_documents_button_release_event(GtkWidget *widget, GdkEventBut
if (event->button == 3) if (event->button == 3)
{ {
if (!tv.popup_openfiles) if (!openfiles_popup_menu)
create_openfiles_popup_menu(); create_openfiles_popup_menu();
documents_menu_update(selection); documents_menu_update(selection);
gtk_menu_popup(GTK_MENU(tv.popup_openfiles), NULL, NULL, NULL, NULL, gtk_menu_popup(GTK_MENU(openfiles_popup_menu), NULL, NULL, NULL, NULL,
event->button, event->time); event->button, event->time);
} }
return FALSE; return FALSE;
...@@ -905,3 +906,17 @@ void treeviews_init(void) ...@@ -905,3 +906,17 @@ void treeviews_init(void)
} }
#define WIDGET(w) w && GTK_IS_WIDGET(w)
void treeviews_finalize(void)
{
if (WIDGET(tv.default_tag_tree))
{
g_object_unref(tv.default_tag_tree);
gtk_widget_destroy(tv.default_tag_tree);
}
if (WIDGET(tv.popup_taglist))
gtk_widget_destroy(tv.popup_taglist);
if (WIDGET(openfiles_popup_menu))
gtk_widget_destroy(openfiles_popup_menu);
}
...@@ -32,8 +32,8 @@ typedef struct SidebarTreeviews ...@@ -32,8 +32,8 @@ typedef struct SidebarTreeviews
GtkWidget *tree_openfiles; GtkWidget *tree_openfiles;
GtkWidget *default_tag_tree; GtkWidget *default_tag_tree;
GtkWidget *popup_taglist; GtkWidget *popup_taglist;
GtkWidget *popup_openfiles; }
} SidebarTreeviews; SidebarTreeviews;
extern SidebarTreeviews tv; extern SidebarTreeviews tv;
...@@ -48,6 +48,8 @@ enum ...@@ -48,6 +48,8 @@ enum
void treeviews_init(void); void treeviews_init(void);
void treeviews_finalize(void);
void treeviews_update_tag_list(GeanyDocument *doc, gboolean update); void treeviews_update_tag_list(GeanyDocument *doc, gboolean update);
void treeviews_openfiles_add(GeanyDocument *doc); void treeviews_openfiles_add(GeanyDocument *doc);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment