[gnome-photos/wip/search: 11/18] application: Use PhotosSearchProvider
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/search: 11/18] application: Use PhotosSearchProvider
- Date: Wed, 19 Feb 2014 18:27:42 +0000 (UTC)
commit 8459cc413813a7c38495f6afd8d82175e44a5ca0
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Feb 7 17:57:57 2014 +0100
application: Use PhotosSearchProvider
src/photos-application.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
---
diff --git a/src/photos-application.c b/src/photos-application.c
index 1356862..7733e77 100644
--- a/src/photos-application.c
+++ b/src/photos-application.c
@@ -45,6 +45,7 @@
#include "photos-properties-dialog.h"
#include "photos-resources.h"
#include "photos-search-context.h"
+#include "photos-search-provider.h"
#include "photos-source-manager.h"
@@ -70,6 +71,7 @@ struct _PhotosApplicationPrivate
PhotosCameraCache *camera_cache;
PhotosModeController *mode_cntrlr;
PhotosSearchContextState *state;
+ PhotosSearchProvider *search_provider;
};
static void photos_application_search_context_iface_init (PhotosSearchContextInterface *iface);
@@ -142,6 +144,15 @@ photos_application_action_toggle (GSimpleAction *simple, GVariant *parameter, gp
static void
+photos_application_activate_result (PhotosApplication *self,
+ const gchar *identifier,
+ const gchar *const *terms,
+ guint timestamp)
+{
+}
+
+
+static void
photos_application_can_fullscreen_changed (PhotosApplication *self)
{
PhotosApplicationPrivate *priv = self->priv;
@@ -170,6 +181,12 @@ photos_application_get_state (PhotosSearchContext *context)
static void
+photos_application_launch_search (PhotosApplication *self, const gchar* const *terms, guint timestamp)
+{
+}
+
+
+static void
photos_application_open_current (PhotosApplication *self)
{
PhotosApplicationPrivate *priv = self->priv;
@@ -434,6 +451,51 @@ photos_application_activate (GApplication *application)
}
+static gboolean
+photos_application_dbus_register (GApplication *application,
+ GDBusConnection *connection,
+ const gchar *object_path,
+ GError **error)
+{
+ PhotosApplication *self = PHOTOS_APPLICATION (application);
+ gboolean ret_val = FALSE;
+ gchar *search_provider_path = NULL;
+
+ if (!G_APPLICATION_CLASS (photos_application_parent_class)->dbus_register (application,
+ connection,
+ object_path,
+ error))
+ goto out;
+
+ search_provider_path = g_strconcat (object_path, PHOTOS_SEARCH_PROVIDER_PATH_SUFFIX, NULL);
+ if (!photos_search_provider_dbus_export (self->priv->search_provider, connection, search_provider_path,
error))
+ goto out;
+
+ ret_val = TRUE;
+
+ out:
+ g_free (search_provider_path);
+ return ret_val;
+}
+
+
+static void
+photos_application_dbus_unregister (GApplication *application,
+ GDBusConnection *connection,
+ const gchar *object_path)
+{
+ PhotosApplication *self = PHOTOS_APPLICATION (application);
+ gchar *search_provider_path = NULL;
+
+ search_provider_path = g_strconcat (object_path, PHOTOS_SEARCH_PROVIDER_PATH_SUFFIX, NULL);
+ photos_search_provider_dbus_unexport (self->priv->search_provider, connection, search_provider_path);
+
+ G_APPLICATION_CLASS (photos_application_parent_class)->dbus_unregister (application, connection,
object_path);
+
+ g_free (search_provider_path);
+}
+
+
static void
photos_application_startup (GApplication *application)
{
@@ -626,6 +688,7 @@ photos_application_dispose (GObject *object)
g_clear_object (&priv->item_mngr);
g_clear_object (&priv->camera_cache);
g_clear_object (&priv->mode_cntrlr);
+ g_clear_object (&priv->search_provider);
if (priv->state != NULL)
{
@@ -647,6 +710,16 @@ photos_application_init (PhotosApplication *self)
eog_debug_init ();
+ priv->search_provider = photos_search_provider_new ();
+ g_signal_connect_swapped (priv->search_provider,
+ "activate-result",
+ G_CALLBACK (photos_application_activate_result),
+ self);
+ g_signal_connect_swapped (priv->search_provider,
+ "launch-search",
+ G_CALLBACK (photos_application_launch_search),
+ self);
+
priv->state = photos_search_context_state_new (PHOTOS_SEARCH_CONTEXT (self));
}
@@ -660,6 +733,8 @@ photos_application_class_init (PhotosApplicationClass *class)
object_class->constructor = photos_application_constructor;
object_class->dispose = photos_application_dispose;
application_class->activate = photos_application_activate;
+ application_class->dbus_register = photos_application_dbus_register;
+ application_class->dbus_unregister = photos_application_dbus_unregister;
application_class->startup = photos_application_startup;
/* TODO: Add miners-changed signal */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]