[gnome-builder/wip/chergert/snippets-viewer: 1/4] snippets: don't use IdeObject for snippets manager
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/snippets-viewer: 1/4] snippets: don't use IdeObject for snippets manager
- Date: Sat, 22 Aug 2015 04:58:55 +0000 (UTC)
commit b6b3794c6086cd9415c5189f94500114e29adff5
Author: Christian Hergert <christian hergert me>
Date: Fri Aug 21 21:55:28 2015 -0700
snippets: don't use IdeObject for snippets manager
Not really needed, and it prevents accessing without a context. So let's
just drop it for now.
libide/ide-context.c | 4 +---
libide/ide-source-snippets-manager.c | 22 +++++++++++++++++++---
libide/ide-source-snippets-manager.h | 25 +++++++++++++------------
3 files changed, 33 insertions(+), 18 deletions(-)
---
diff --git a/libide/ide-context.c b/libide/ide-context.c
index b21e167..ff2ed22 100644
--- a/libide/ide-context.c
+++ b/libide/ide-context.c
@@ -793,9 +793,7 @@ ide_context_init (IdeContext *self)
"context", self,
NULL);
- self->snippets_manager = g_object_new (IDE_TYPE_SOURCE_SNIPPETS_MANAGER,
- "context", self,
- NULL);
+ self->snippets_manager = g_object_new (IDE_TYPE_SOURCE_SNIPPETS_MANAGER, NULL);
scriptsdir = g_build_filename (g_get_user_config_dir (),
ide_get_program_name (),
diff --git a/libide/ide-source-snippets-manager.c b/libide/ide-source-snippets-manager.c
index 9009121..8058cea 100644
--- a/libide/ide-source-snippets-manager.c
+++ b/libide/ide-source-snippets-manager.c
@@ -28,12 +28,11 @@
struct _IdeSourceSnippetsManager
{
- IdeObject parent_instance;
-
+ GObject parent_instance;
GHashTable *by_language_id;
};
-G_DEFINE_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, IDE_TYPE_OBJECT)
+G_DEFINE_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, G_TYPE_OBJECT)
#define SNIPPETS_DIRECTORY "/org/gnome/libide/snippets/"
@@ -165,6 +164,23 @@ ide_source_snippets_manager_load_finish (IdeSourceSnippetsManager *self,
}
/**
+ * ide_source_snippets_manager_get_for_language_id:
+ *
+ * Gets the snippets for a given source language.
+ *
+ * Returns: (transfer none) (nullable): An #IdeSourceSnippets or %NULL.
+ */
+IdeSourceSnippets *
+ide_source_snippets_manager_get_for_language_id (IdeSourceSnippetsManager *self,
+ const gchar *language_id)
+{
+ g_return_val_if_fail (IDE_IS_SOURCE_SNIPPETS_MANAGER (self), NULL);
+ g_return_val_if_fail (language_id != NULL, NULL);
+
+ return g_hash_table_lookup (self->by_language_id, language_id);
+}
+
+/**
* ide_source_snippets_manager_get_for_language:
*
* Gets the snippets for a given source language.
diff --git a/libide/ide-source-snippets-manager.h b/libide/ide-source-snippets-manager.h
index 7843e20..0e23245 100644
--- a/libide/ide-source-snippets-manager.h
+++ b/libide/ide-source-snippets-manager.h
@@ -27,18 +27,19 @@ G_BEGIN_DECLS
#define IDE_TYPE_SOURCE_SNIPPETS_MANAGER (ide_source_snippets_manager_get_type())
-G_DECLARE_FINAL_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager,
- IDE, SOURCE_SNIPPETS_MANAGER, IdeObject)
-
-void ide_source_snippets_manager_load_async (IdeSourceSnippetsManager *self,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean ide_source_snippets_manager_load_finish (IdeSourceSnippetsManager *self,
- GAsyncResult *result,
- GError **error);
-IdeSourceSnippets *ide_source_snippets_manager_get_for_language (IdeSourceSnippetsManager *manager,
- GtkSourceLanguage *language);
+G_DECLARE_FINAL_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, IDE, SOURCE_SNIPPETS_MANAGER,
GObject)
+
+void ide_source_snippets_manager_load_async (IdeSourceSnippetsManager *self,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean ide_source_snippets_manager_load_finish (IdeSourceSnippetsManager *self,
+ GAsyncResult *result,
+ GError **error);
+IdeSourceSnippets *ide_source_snippets_manager_get_for_language (IdeSourceSnippetsManager *manager,
+ GtkSourceLanguage *language);
+IdeSourceSnippets *ide_source_snippets_manager_get_for_language_id (IdeSourceSnippetsManager *manager,
+ const gchar *language_id);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]