[gnome-builder] projects-dialog: remove project from recent items
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] projects-dialog: remove project from recent items
- Date: Wed, 8 Apr 2015 07:32:25 +0000 (UTC)
commit dbd9e645207b5cf1a2720e2180d34828a38ecf48
Author: Christian Hergert <christian hergert me>
Date: Wed Apr 8 00:32:18 2015 -0700
projects-dialog: remove project from recent items
src/dialogs/gb-projects-dialog.c | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/src/dialogs/gb-projects-dialog.c b/src/dialogs/gb-projects-dialog.c
index 92db43e..5d8e138 100644
--- a/src/dialogs/gb-projects-dialog.c
+++ b/src/dialogs/gb-projects-dialog.c
@@ -376,6 +376,24 @@ gb_projects_dialog__new_button_clicked (GbProjectsDialog *self,
}
static void
+gb_projects_dialog_remove_recent (GbProjectsDialog *self,
+ IdeProjectInfo *project_info)
+{
+ g_autofree gchar *uri = NULL;
+ GtkRecentManager *recent_manager;
+ GFile *file;
+
+ g_assert (GB_IS_PROJECTS_DIALOG (self));
+ g_assert (IDE_IS_PROJECT_INFO (project_info));
+
+ recent_manager = gtk_recent_manager_get_default ();
+ file = ide_project_info_get_file (project_info);
+ uri = g_file_get_uri (file);
+
+ gtk_recent_manager_remove_item (recent_manager, uri, NULL);
+}
+
+static void
gb_projects_dialog__delete_button_clicked (GbProjectsDialog *self,
GtkButton *delete_button)
{
@@ -395,9 +413,13 @@ gb_projects_dialog__delete_button_clicked (GbProjectsDialog *self,
for (iter = list; iter; iter = iter->next)
{
-
if (gb_recent_project_row_get_selected (iter->data))
{
+ IdeProjectInfo *project_info;
+
+ project_info = gb_recent_project_row_get_project_info (iter->data);
+ gb_projects_dialog_remove_recent (self, project_info);
+
gtk_container_remove (GTK_CONTAINER (self->listbox), iter->data);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]