SF.net SVN: geany-plugins:[1239] trunk/geany-plugins/treebrowser
dimitrov-adrian at users.sourceforge.net
dimitrov-adrian at xxxxx
Sun Apr 11 16:43:36 UTC 2010
Revision: 1239
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1239&view=rev
Author: dimitrov-adrian
Date: 2010-04-11 16:43:28 +0000 (Sun, 11 Apr 2010)
Log Message:
-----------
Treebrowser:
Modified Paths:
--------------
trunk/geany-plugins/treebrowser/ChangeLog
trunk/geany-plugins/treebrowser/src/treebrowser.c
Modified: trunk/geany-plugins/treebrowser/ChangeLog
===================================================================
--- trunk/geany-plugins/treebrowser/ChangeLog 2010-04-11 15:46:52 UTC (rev 1238)
+++ trunk/geany-plugins/treebrowser/ChangeLog 2010-04-11 16:43:28 UTC (rev 1239)
@@ -1,5 +1,11 @@
+---------------------------+
+| KNOWN BUGS |
++---------------------------+
+
+ * crytical warning when unloading the plugin
+
++---------------------------+
| TODO |
+---------------------------+
@@ -24,6 +30,8 @@
* src/treebrowser.c
fixed bug when turned off "On expand refres"
+ fixed runtime crytical warnings reported in http://nopaste.geany.org/p/m3f018a3e
+ and thanks to Enrico to help with gdb :)
10-04-2010 Adrian Dimitrov <dimitrov.adrian at gmail.com>
Modified: trunk/geany-plugins/treebrowser/src/treebrowser.c
===================================================================
--- trunk/geany-plugins/treebrowser/src/treebrowser.c 2010-04-11 15:46:52 UTC (rev 1238)
+++ trunk/geany-plugins/treebrowser/src/treebrowser.c 2010-04-11 16:43:28 UTC (rev 1239)
@@ -48,7 +48,7 @@
static gboolean CONFIG_SHOW_BARS = TRUE;
static gboolean CONFIG_CHROOT_ON_DCLICK = FALSE;
static gboolean CONFIG_FOLLOW_CURRENT_DOC = TRUE;
-static gboolean CONFIG_ON_EXPAND_REFRESH = FALSE;
+static gboolean CONFIG_ON_EXPAND_REFRESH = TRUE;
static gboolean CONFIG_ON_DELETE_CLOSE_FILE = TRUE;
@@ -235,6 +235,15 @@
-1);
if (deep_limit > 0)
treebrowser_browse(uri, &iter, deep_limit);
+ else
+ {
+ gtk_tree_store_append(treestore, &iter, &iter);
+ gtk_tree_store_set(treestore, &iter,
+ TREEBROWSER_COLUMN_ICON, NULL,
+ TREEBROWSER_COLUMN_NAME, g_strdup_printf("(%s)", _("Empty")),
+ TREEBROWSER_COLUMN_URI, NULL,
+ -1);
+ }
}
else
{
@@ -512,9 +521,7 @@
if (G_LIKELY(path != NULL))
{
column = gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), 0);
-
renderers = _gtk_cell_layout_get_cells(column);
-
renderer = g_list_nth_data(renderers, TREEBROWSER_RENDER_TEXT);
g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL);
@@ -680,10 +687,10 @@
item = gtk_separator_menu_item_new();
gtk_container_add(GTK_CONTAINER(menu), item);
- /*
- * this is no more needen, when is initialized from create_sidebar()
+
+
menu_showbars = gtk_check_menu_item_new_with_mnemonic(_("Show bars"));
- */
+
gtk_container_add(GTK_CONTAINER(menu), menu_showbars);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_showbars), CONFIG_SHOW_BARS);
g_signal_connect(menu_showbars, "activate", G_CALLBACK(on_menu_show_bars), NULL);
@@ -916,6 +923,37 @@
* TREEBROWSER INITIAL FUNCTIONS
* ------------------ */
+static GtkWidget*
+create_view_and_model(void)
+{
+
+ GtkWidget *view;
+
+ view = gtk_tree_view_new();
+ treeview_column_icon = gtk_tree_view_column_new();
+ treeview_column_text = gtk_tree_view_column_new();
+ render_icon = gtk_cell_renderer_pixbuf_new();
+ render_text = gtk_cell_renderer_text_new();
+
+ gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
+
+ gtk_tree_view_append_column(GTK_TREE_VIEW(view), treeview_column_text);
+
+ gtk_tree_view_column_pack_start(treeview_column_text, render_icon, FALSE);
+ gtk_tree_view_column_set_attributes(treeview_column_text, render_icon, "stock-id", TREEBROWSER_RENDER_ICON, NULL);
+
+ gtk_tree_view_column_pack_start(treeview_column_text, render_text, TRUE);
+ gtk_tree_view_column_add_attribute(treeview_column_text, render_text, "text", TREEBROWSER_RENDER_TEXT);
+
+ treestore = gtk_tree_store_new(TREEBROWSER_COLUMNC, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+
+ gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(treestore));
+
+ g_signal_connect(G_OBJECT(render_text), "edited", G_CALLBACK(on_treeview_renamed), view);
+
+ return view;
+}
+
static void
create_sidebar(void)
{
@@ -924,21 +962,15 @@
GtkWidget *wid;
GtkTreeSelection *selection;
-
- menu_showbars = gtk_check_menu_item_new_with_mnemonic(_("Show bars"));
-
+ treeview = create_view_and_model();
+ menu_showbars = gtk_check_menu_item_new();
sidebar_vbox = gtk_vbox_new(FALSE, 0);
sidebar_vbox_bars = gtk_vbox_new(FALSE, 0);
-
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
addressbar = gtk_entry_new();
filter = gtk_entry_new();
-
scrollwin = gtk_scrolled_window_new(NULL, NULL);
- page_number = gtk_notebook_append_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook),
- sidebar_vbox, gtk_label_new(_("Tree Browser")));
-
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
toolbar = gtk_toolbar_new();
@@ -998,41 +1030,13 @@
gtk_widget_show_all(sidebar_vbox);
+ page_number = gtk_notebook_append_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook),
+ sidebar_vbox, gtk_label_new(_("Tree Browser")));
+
showbars(CONFIG_SHOW_BARS);
}
-static GtkWidget*
-create_view_and_model(void)
-{
- GtkWidget *view;
-
- view = gtk_tree_view_new();
- treeview_column_icon = gtk_tree_view_column_new();
- treeview_column_text = gtk_tree_view_column_new();
- render_icon = gtk_cell_renderer_pixbuf_new();
- render_text = gtk_cell_renderer_text_new();
-
- gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
-
- gtk_tree_view_append_column(GTK_TREE_VIEW(view), treeview_column_text);
-
- gtk_tree_view_column_pack_start(treeview_column_text, render_icon, FALSE);
- gtk_tree_view_column_set_attributes(treeview_column_text, render_icon, "stock-id", TREEBROWSER_RENDER_ICON, NULL);
-
- gtk_tree_view_column_pack_start(treeview_column_text, render_text, TRUE);
- gtk_tree_view_column_add_attribute(treeview_column_text, render_text, "text", TREEBROWSER_RENDER_TEXT);
-
- treestore = gtk_tree_store_new(TREEBROWSER_COLUMNC, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-
- gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(treestore));
-
- g_signal_connect(G_OBJECT(render_text), "edited", G_CALLBACK(on_treeview_renamed), view);
-
- return view;
-}
-
-
/* ------------------
* CONFIG DIALOG
* ------------------ */
@@ -1222,8 +1226,6 @@
flag_on_expand_refresh = FALSE;
load_settings();
-
- treeview = create_view_and_model();
create_sidebar();
treebrowser_chroot(get_default_dir());
@@ -1234,5 +1236,6 @@
void
plugin_cleanup(void)
{
- gtk_widget_destroy(GTK_WIDGET(sidebar_vbox));
+ gtk_object_destroy(GTK_OBJECT(treeview));
+ gtk_widget_destroy(sidebar_vbox);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list