[tracker/direct-wait: 1/6] tracker-store: Small busy callback improvements
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/direct-wait: 1/6] tracker-store: Small busy callback improvements
- Date: Tue, 24 Aug 2010 10:23:29 +0000 (UTC)
commit 2fe03860436519641c01f19e93742470e945f9e9
Author: Jürg Billeter <j bitron ch>
Date: Mon Aug 23 17:22:36 2010 +0200
tracker-store: Small busy callback improvements
src/libtracker-data/tracker-data-manager.c | 4 +++
src/tracker-store/tracker-status.c | 41 ++++-----------------------
2 files changed, 10 insertions(+), 35 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index d8359b3..b5ca294 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3053,6 +3053,10 @@ tracker_data_manager_init (TrackerDBManagerFlags flags,
g_free (ontologies_dir);
+ if (busy_callback) {
+ busy_callback ("Idle", 1, busy_user_data);
+ }
+
return TRUE;
}
diff --git a/src/tracker-store/tracker-status.c b/src/tracker-store/tracker-status.c
index 6db83e0..a8c07f7 100644
--- a/src/tracker-store/tracker-status.c
+++ b/src/tracker-store/tracker-status.c
@@ -39,7 +39,6 @@ typedef struct {
gchar *status;
guint timer_id;
TrackerStatus *object;
- gboolean last;
} TrackerStatusPrivate;
enum {
@@ -112,7 +111,7 @@ tracker_status_init (TrackerStatus *object)
priv->object = object;
priv->timer_id = 0;
- priv->progress = 1;
+ priv->progress = 0;
priv->status = g_strdup ("Idle");
}
@@ -125,34 +124,10 @@ busy_notification_timeout (gpointer user_data)
priv->status,
priv->progress);
- priv->last = TRUE;
-
return FALSE;
}
static void
-busy_notification_destroy (gpointer user_data)
-{
- TrackerStatusPrivate *priv = user_data;
-
- if (priv->last) {
- g_free (priv->status);
- priv->status = g_strdup ("Idle");
- }
-
- priv->progress = 1;
- priv->timer_id = 0;
-}
-
-static void
-busy_notification_idle_destroy (gpointer user_data)
-{
- TrackerStatusPrivate *priv = user_data;
-
- priv->timer_id = 0;
-}
-
-static void
tracker_status_callback (const gchar *status,
gdouble progress,
gpointer user_data)
@@ -161,7 +136,6 @@ tracker_status_callback (const gchar *status,
TrackerStatusPrivate *priv = user_data;
priv->progress = progress;
- priv->last = FALSE;
if (g_strcmp0 (status, priv->status) != 0) {
g_free (priv->status);
@@ -170,16 +144,13 @@ tracker_status_callback (const gchar *status,
if (priv->timer_id == 0) {
if (first_time) {
- priv->timer_id = g_idle_add_full (G_PRIORITY_DEFAULT,
- busy_notification_timeout,
- priv,
- busy_notification_idle_destroy);
+ priv->timer_id = g_idle_add (busy_notification_timeout,
+ priv);
first_time = FALSE;
} else {
- priv->timer_id = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, PROGRESS_TIMEOUT_S,
- busy_notification_timeout,
- priv,
- busy_notification_destroy);
+ priv->timer_id = g_timeout_add_seconds (PROGRESS_TIMEOUT_S,
+ busy_notification_timeout,
+ priv);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]