[anjuta] document-manager: Update combo filenames when the project changes.
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] document-manager: Update combo filenames when the project changes.
- Date: Mon, 19 Nov 2012 20:01:12 +0000 (UTC)
commit 52d08e7055eec3113b176641cf2ec7d68135e147
Author: Carl-Anton Ingmarsson <ca ingmarsson gmail com>
Date: Mon Nov 19 20:47:12 2012 +0100
document-manager: Update combo filenames when the project changes.
https://bugzilla.gnome.org/show_bug.cgi?id=688603
plugins/document-manager/anjuta-docman.c | 33 ++++++++++++++++++++++++++++++
plugins/document-manager/anjuta-docman.h | 1 +
plugins/document-manager/plugin.c | 8 +++++-
3 files changed, 40 insertions(+), 2 deletions(-)
---
diff --git a/plugins/document-manager/anjuta-docman.c b/plugins/document-manager/anjuta-docman.c
index bd0d07a..679144a 100644
--- a/plugins/document-manager/anjuta-docman.c
+++ b/plugins/document-manager/anjuta-docman.c
@@ -198,6 +198,34 @@ anjuta_docman_get_combo_filename (AnjutaDocman *docman,
}
static void
+anjuta_docman_update_combo_filenames (AnjutaDocman *docman)
+{
+ gboolean valid;
+ GtkTreeIter iter;
+
+ for (valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (docman->priv->combo_model), &iter);
+ valid;
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (docman->priv->combo_model), &iter))
+ {
+ IAnjutaDocument *doc;
+ GFile *file;
+ gchar *filename;
+
+ gtk_tree_model_get (GTK_TREE_MODEL (docman->priv->combo_model), &iter, 0, &doc, -1);
+ if (IANJUTA_IS_FILE (doc))
+ file = ianjuta_file_get_file (IANJUTA_FILE (doc), NULL);
+
+ filename = anjuta_docman_get_combo_filename (docman, doc, file);
+ gtk_list_store_set (docman->priv->combo_model, &iter, 1, filename, -1);
+
+ g_object_unref (doc);
+ if (file)
+ g_object_unref (file);
+ g_free (filename);
+ }
+}
+
+static void
anjuta_docman_add_document_to_combo (AnjutaDocman *docman,
IAnjutaDocument *doc,
GFile *file)
@@ -2049,5 +2077,10 @@ anjuta_docman_set_tab_pos (AnjutaDocman *docman, GtkPositionType pos)
gtk_notebook_set_tab_pos (docman->priv->notebook, pos);
}
+void anjuta_docman_project_path_updated (AnjutaDocman *docman)
+{
+ anjuta_docman_update_combo_filenames (docman);
+}
+
ANJUTA_TYPE_BEGIN(AnjutaDocman, anjuta_docman, GTK_TYPE_GRID);
ANJUTA_TYPE_END;
diff --git a/plugins/document-manager/anjuta-docman.h b/plugins/document-manager/anjuta-docman.h
index f252689..2e4f8a1 100644
--- a/plugins/document-manager/anjuta-docman.h
+++ b/plugins/document-manager/anjuta-docman.h
@@ -116,6 +116,7 @@ gboolean anjuta_docman_next_page (AnjutaDocman *docman);
gboolean anjuta_docman_previous_page (AnjutaDocman *docman);
gboolean anjuta_docman_set_page (AnjutaDocman *docman, gint page);
+void anjuta_docman_project_path_updated (AnjutaDocman *docman);
typedef enum
{
diff --git a/plugins/document-manager/plugin.c b/plugins/document-manager/plugin.c
index 2f835d6..cfc5922 100644
--- a/plugins/document-manager/plugin.c
+++ b/plugins/document-manager/plugin.c
@@ -522,10 +522,10 @@ value_added_project_root_uri (AnjutaPlugin *plugin, const gchar *name,
DEBUG_PRINT ("%s", "Project added");
-
g_free (doc_plugin->project_name);
g_free (doc_plugin->project_path);
doc_plugin->project_name = NULL;
+ doc_plugin->project_path = NULL;
if (doc_plugin->search_files)
search_files_update_project (SEARCH_FILES(doc_plugin->search_files));
@@ -544,6 +544,8 @@ value_added_project_root_uri (AnjutaPlugin *plugin, const gchar *name,
update_title (doc_plugin);
}
g_object_unref (file);
+
+ anjuta_docman_project_path_updated (ANJUTA_DOCMAN (doc_plugin->docman));
}
}
@@ -558,13 +560,15 @@ value_removed_project_root_uri (AnjutaPlugin *plugin, const gchar *name,
DEBUG_PRINT ("%s", "Project removed");
g_free (doc_plugin->project_name);
+ g_free (doc_plugin->project_path);
doc_plugin->project_name = NULL;
+ doc_plugin->project_path = NULL;
if (doc_plugin->search_files)
search_files_update_project (SEARCH_FILES(doc_plugin->search_files));
-
update_title(doc_plugin);
+ anjuta_docman_project_path_updated (ANJUTA_DOCMAN (doc_plugin->docman));
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]