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 @@
settings have been read.
* src/treeviews.c:
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>
......
......@@ -121,6 +121,7 @@ static void init_pref_groups(void)
stash_group_add_toggle_button(group, &interface_prefs.notebook_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,
"highlighting_invert_all", FALSE, "check_highlighting_invert");
......@@ -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_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_sidebar", interface_prefs.tab_pos_sidebar);
/* display */
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)
/* interface */
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_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_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);
......
......@@ -234,7 +234,6 @@ static void main_init(void)
ui_widgets.open_filesel = NULL;
ui_widgets.save_filesel = NULL;
ui_widgets.prefs_dialog = NULL;
tv.default_tag_tree = NULL;
main_status.main_window_realized= FALSE;
file_prefs.tab_order_ltr = FALSE;
main_status.quitting = FALSE;
......@@ -1110,6 +1109,7 @@ void main_quit()
editor_snippets_free();
encodings_finalize();
toolbar_finalize();
treeviews_finalize();
configuration_finalize();
log_finalize();
......@@ -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_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 (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
if (vte_info.have_vte) vte_close();
g_free(vte_info.lib_vte);
......@@ -1164,10 +1159,6 @@ void main_quit()
gtk_widget_destroy(main_widgets.editor_menu);
if (ui_widgets.toolbar_menu && GTK_IS_WIDGET(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))
gtk_widget_destroy(msgwindow.popup_status_menu);
if (msgwindow.popup_msg_menu && GTK_IS_WIDGET(msgwindow.popup_msg_menu))
......
......@@ -45,7 +45,7 @@
#include <gdk/gdkkeysyms.h>
SidebarTreeviews tv = {NULL, NULL, NULL, NULL};
SidebarTreeviews tv = {NULL, NULL, NULL};
static struct
{
......@@ -80,6 +80,7 @@ enum
};
static GtkTreeStore *store_openfiles;
static GtkWidget *openfiles_popup_menu;
static gboolean documents_show_paths;
static GtkWidget *tag_window; /* scrolled window that holds the symbol list GtkTreeView */
......@@ -553,22 +554,22 @@ static void create_openfiles_popup_menu(void)
{
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);
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_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_REMOVE));
doc_items.close = item;
item = gtk_separator_menu_item_new();
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);
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_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_SAVE));
doc_items.save = item;
......@@ -577,22 +578,22 @@ static void create_openfiles_popup_menu(void)
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_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_CALLBACK(on_openfiles_document_action), GINT_TO_POINTER(OPENFILES_ACTION_RELOAD));
doc_items.reload = item;
item = gtk_separator_menu_item_new();
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"));
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_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
if (event->button == 3)
{
if (!tv.popup_openfiles)
if (!openfiles_popup_menu)
create_openfiles_popup_menu();
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);
}
return FALSE;
......@@ -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
GtkWidget *tree_openfiles;
GtkWidget *default_tag_tree;
GtkWidget *popup_taglist;
GtkWidget *popup_openfiles;
} SidebarTreeviews;
}
SidebarTreeviews;
extern SidebarTreeviews tv;
......@@ -48,6 +48,8 @@ enum
void treeviews_init(void);
void treeviews_finalize(void);
void treeviews_update_tag_list(GeanyDocument *doc, gboolean update);
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