[anjuta/newproject] pm: Avoid duplicate shortcuts
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta/newproject] pm: Avoid duplicate shortcuts
- Date: Sun, 22 Aug 2010 12:48:37 +0000 (UTC)
commit ef2702e6fff4d045bcb3f8ce7477fa4ad63bd365
Author: Sébastien Granjoux <seb sfo free fr>
Date: Wed Aug 18 11:57:41 2010 +0200
pm: Avoid duplicate shortcuts
plugins/project-manager/project-model.c | 1 +
plugins/project-manager/project-view.c | 30 +++++++++++++++++-------------
2 files changed, 18 insertions(+), 13 deletions(-)
---
diff --git a/plugins/project-manager/project-model.c b/plugins/project-manager/project-model.c
index f70ac08..b941c83 100644
--- a/plugins/project-manager/project-model.c
+++ b/plugins/project-manager/project-model.c
@@ -945,6 +945,7 @@ gbf_project_model_find_tree_data (GbfProjectModel *model,
return retval;
}
+/* Can return shortcut node if exist */
gboolean
gbf_project_model_find_file (GbfProjectModel *model,
GtkTreeIter *found,
diff --git a/plugins/project-manager/project-view.c b/plugins/project-manager/project-view.c
index 2591fd9..1763508 100644
--- a/plugins/project-manager/project-view.c
+++ b/plugins/project-manager/project-view.c
@@ -659,21 +659,25 @@ gbf_project_view_set_shortcut_list (GbfProjectView *view, GList *shortcuts)
GBF_PROJECT_MODEL_COLUMN_DATA, &data,
-1);
- gbf_project_model_add_shortcut (GBF_PROJECT_MODEL (model),
- &shortcut,
- &iter,
- data);
-
- if (expand)
+ /* Avoid duplicated shortcuts */
+ if (data->type != GBF_TREE_NODE_SHORTCUT)
{
- GtkTreePath *path;
-
- path = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &shortcut);
- gtk_tree_view_expand_row (GTK_TREE_VIEW (view), path, FALSE);
- gtk_tree_path_free (path);
+ gbf_project_model_add_shortcut (GBF_PROJECT_MODEL (model),
+ &shortcut,
+ &iter,
+ data);
+
+ if (expand)
+ {
+ GtkTreePath *path;
+
+ path = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &shortcut);
+ gtk_tree_view_expand_row (GTK_TREE_VIEW (view), path, FALSE);
+ gtk_tree_path_free (path);
+ }
+ /* Mark the shortcut as used */
+ *path = 'U';
}
- /* Mark the shortcut as used */
- *path = 'U';
}
g_object_unref (file);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]