[anjuta] symbol-db: Use symbol name instead of symbol id to remeber expanded rows.
- From: Naba Kumar <naba src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] symbol-db: Use symbol name instead of symbol id to remeber expanded rows.
- Date: Sat, 10 Apr 2010 22:36:38 +0000 (UTC)
commit c8c2aa912f93f785de1eac5d6713d699feb684f4
Author: Naba Kumar <naba gnome org>
Date: Sun Apr 11 01:35:19 2010 +0300
symbol-db: Use symbol name instead of symbol id to remeber expanded rows.
Addresses bug #615329
plugins/symbol-db/symbol-db-views.c | 30 ++++++++++++++++--------------
1 files changed, 16 insertions(+), 14 deletions(-)
---
diff --git a/plugins/symbol-db/symbol-db-views.c b/plugins/symbol-db/symbol-db-views.c
index 4f57ca6..b25494a 100644
--- a/plugins/symbol-db/symbol-db-views.c
+++ b/plugins/symbol-db/symbol-db-views.c
@@ -75,32 +75,32 @@ static void
on_treeview_row_expanded (GtkTreeView *view, GtkTreeIter *iter,
GtkTreePath *path, SymbolDBPlugin *plugin)
{
- gint symbol_id;
+ gchar* symbol_name;
GtkTreeModel *model;
GHashTable *expanded_nodes =
g_object_get_data (G_OBJECT (view), "__expanded_nodes__");
model = gtk_tree_view_get_model (view);
- gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_SYMBOL_ID,
- &symbol_id, -1);
- g_hash_table_insert (expanded_nodes, GINT_TO_POINTER (symbol_id),
- GINT_TO_POINTER (symbol_id));
+ gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_LABEL,
+ &symbol_name, -1);
+ g_hash_table_insert (expanded_nodes, symbol_name, GINT_TO_POINTER (1));
}
static void
on_treeview_row_collapsed (GtkTreeView *view, GtkTreeIter *iter,
GtkTreePath *path, SymbolDBPlugin *plugin)
{
- gint symbol_id;
+ gchar* symbol_name;
GtkTreeModel *model;
GHashTable *expanded_nodes =
g_object_get_data (G_OBJECT (view), "__expanded_nodes__");
model = gtk_tree_view_get_model (view);
- gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_SYMBOL_ID,
- &symbol_id, -1);
- g_hash_table_remove (expanded_nodes, GINT_TO_POINTER (symbol_id));
+ gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_LABEL,
+ &symbol_name, -1);
+ g_hash_table_remove (expanded_nodes, symbol_name);
+ g_free (symbol_name);
}
static void
@@ -109,15 +109,16 @@ on_treeview_has_child_toggled (GtkTreeModel *model,
GtkTreeIter *iter,
GtkTreeView *view)
{
- gint symbol_id;
+ gchar* symbol_name;
GHashTable *expanded_nodes =
g_object_get_data (G_OBJECT (view), "__expanded_nodes__");
- gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_SYMBOL_ID,
- &symbol_id, -1);
- if (g_hash_table_lookup (expanded_nodes, GINT_TO_POINTER (symbol_id)))
+ gtk_tree_model_get (model, iter, SYMBOL_DB_MODEL_PROJECT_COL_LABEL,
+ &symbol_name, -1);
+ if (g_hash_table_lookup (expanded_nodes, symbol_name))
gtk_tree_view_expand_row (view, path, FALSE);
+ g_free (symbol_name);
}
GtkWidget*
@@ -152,7 +153,8 @@ symbol_db_view_new (SymbolViewType view_type,
G_CALLBACK (on_treeview_has_child_toggled), dbv);
g_object_set_data_full (G_OBJECT (dbv), "__expanded_nodes__",
- g_hash_table_new (g_direct_hash, g_direct_equal),
+ g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL),
(GDestroyNotify)g_hash_table_destroy);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (dbv), FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]