[gnome-builder/wip/project-selector] libide: add IdeContext:recent-manager
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/project-selector] libide: add IdeContext:recent-manager
- Date: Wed, 8 Apr 2015 02:24:50 +0000 (UTC)
commit e780bc6cd0c2307bc1a17a5838166f2203e15b2e
Author: Christian Hergert <christian hergert me>
Date: Tue Apr 7 19:24:03 2015 -0700
libide: add IdeContext:recent-manager
Add GtkRecentManager to context for tracking recent files.
libide/ide-context.c | 20 ++++++++++++++++++++
libide/ide-context.h | 2 ++
2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-context.c b/libide/ide-context.c
index e3e13d9..3a4add2 100644
--- a/libide/ide-context.c
+++ b/libide/ide-context.c
@@ -47,6 +47,7 @@ struct _IdeContext
IdeBufferManager *buffer_manager;
IdeBuildSystem *build_system;
IdeDeviceManager *device_manager;
+ GtkRecentManager *recent_manager;
IdeScriptManager *script_manager;
IdeSearchEngine *search_engine;
IdeSourceSnippetsManager *snippets_manager;
@@ -85,6 +86,22 @@ enum {
static GParamSpec *gParamSpecs [LAST_PROP];
/**
+ * ide_context_get_recent_manager:
+ *
+ * Gets the IdeContext:recent-manager property. The recent manager is a GtkRecentManager instance
+ * that should be used for the workbench.
+ *
+ * Returns: (transfer none): A #GtkRecentManager.
+ */
+GtkRecentManager *
+ide_context_get_recent_manager (IdeContext *self)
+{
+ g_return_val_if_fail (IDE_IS_CONTEXT (self), NULL);
+
+ return self->recent_manager;
+}
+
+/**
* ide_context_get_back_forward_list:
*
* Retrieves the global back forward list for the #IdeContext.
@@ -502,6 +519,7 @@ ide_context_finalize (GObject *object)
g_clear_object (&self->device_manager);
g_clear_object (&self->project);
g_clear_object (&self->project_file);
+ g_clear_object (&self->recent_manager);
g_clear_object (&self->unsaved_files);
g_clear_object (&self->vcs);
@@ -711,6 +729,8 @@ ide_context_init (IdeContext *self)
IDE_ENTRY;
+ self->recent_manager = gtk_recent_manager_new ();
+
self->root_build_dir = g_build_filename (g_get_user_cache_dir (),
ide_get_program_name (),
"builds",
diff --git a/libide/ide-context.h b/libide/ide-context.h
index a5513c6..0e5d3be 100644
--- a/libide/ide-context.h
+++ b/libide/ide-context.h
@@ -20,6 +20,7 @@
#define IDE_CONTEXT_H
#include <gio/gio.h>
+#include <gtk/gtk.h>
#include "ide-types.h"
@@ -35,6 +36,7 @@ IdeBufferManager *ide_context_get_buffer_manager (IdeContext
IdeBuildSystem *ide_context_get_build_system (IdeContext *self);
IdeDeviceManager *ide_context_get_device_manager (IdeContext *self);
IdeProject *ide_context_get_project (IdeContext *self);
+GtkRecentManager *ide_context_get_recent_manager (IdeContext *self);
IdeScriptManager *ide_context_get_script_manager (IdeContext *self);
IdeSearchEngine *ide_context_get_search_engine (IdeContext *self);
IdeSourceSnippetsManager *ide_context_get_snippets_manager (IdeContext *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]