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
This commit is contained in:
parent
c7871c70e8
commit
b51b8524e3
@ -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);
|
||||
|
||||
11
src/main.c
11
src/main.c
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user