[gnome-software/wip/temp/ubuntu-xenial-rebased: 186/326] Revert "Manually disable update monitor"
- From: Iain Lane <iainl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software/wip/temp/ubuntu-xenial-rebased: 186/326] Revert "Manually disable update monitor"
- Date: Fri, 29 Apr 2016 10:02:58 +0000 (UTC)
commit 6468a351a0f8e8a55c2cd8b9f6a21db200fe6e0c
Author: William Hua <william hua canonical com>
Date: Tue Apr 5 12:09:11 2016 +0100
Revert "Manually disable update monitor"
This reverts commit 64a0a8074d4c72de1c689a46291ee9892ac0d788.
src/gs-application.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-application.c b/src/gs-application.c
index 327330c..02270fa 100644
--- a/src/gs-application.c
+++ b/src/gs-application.c
@@ -118,6 +118,53 @@ gs_application_init (GsApplication *application)
}
static void
+download_updates_setting_changed (GSettings *settings,
+ const gchar *key,
+ GsApplication *app)
+{
+ if (!gs_update_monitor_is_managed () &&
+ g_settings_get_boolean (settings, key)) {
+ g_debug ("Enabling update monitor");
+ app->update_monitor = gs_update_monitor_new (app);
+ } else {
+ g_debug ("Disabling update monitor");
+ g_clear_object (&app->update_monitor);
+ }
+}
+
+static void
+on_permission_changed (GPermission *permission,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ GsApplication *app = data;
+
+ if (app->settings)
+ download_updates_setting_changed (app->settings, "download-updates", app);
+}
+
+static void
+gs_application_monitor_permission (GsApplication *app)
+{
+ GPermission *permission;
+
+ permission = gs_update_monitor_permission_get ();
+ if (permission != NULL)
+ g_signal_connect (permission, "notify",
+ G_CALLBACK (on_permission_changed), app);
+}
+
+static void
+gs_application_monitor_updates (GsApplication *app)
+{
+ g_signal_connect (app->settings, "changed::download-updates",
+ G_CALLBACK (download_updates_setting_changed), app);
+ download_updates_setting_changed (app->settings,
+ "download-updates",
+ app);
+}
+
+static void
network_changed_cb (GNetworkMonitor *monitor,
gboolean available,
GsApplication *app)
@@ -621,6 +668,8 @@ gs_application_startup (GApplication *application)
GS_APPLICATION (application)->dbus_helper = gs_dbus_helper_new ();
#endif
GS_APPLICATION (application)->settings = g_settings_new ("org.gnome.software");
+ gs_application_monitor_permission (GS_APPLICATION (application));
+ gs_application_monitor_updates (GS_APPLICATION (application));
gs_application_monitor_network (GS_APPLICATION (application));
gs_folders_convert ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]