From 53c5d2cd4b3c2cbfc6431b443de3ec331b5c3e86 Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Sat, 17 Mar 2012 00:09:47 +0100 Subject: Change i18n header to gi18n-lib.h to translate the accessible description. LP: #957522 --- src/indicator-printers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/indicator-printers.c b/src/indicator-printers.c index 78f36da..187fbce 100644 --- a/src/indicator-printers.c +++ b/src/indicator-printers.c @@ -22,7 +22,7 @@ #include "indicator-menu-item.h" #include "dbus-names.h" -#include +#include #include #include -- cgit v1.2.3 From 5a35b6983ffa73000e26aa23714ce3625613ea79 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Tue, 20 Mar 2012 18:28:05 +0100 Subject: Set lease durations on cups subscription and renew periodically This will stop indicator-printers-service from leaving stray subscriptions around when it doesn't exit gracefully. Fixes lp #959195. --- src/indicator-printers-service.c | 47 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/indicator-printers-service.c b/src/indicator-printers-service.c index 5daf697..ad5ef88 100644 --- a/src/indicator-printers-service.c +++ b/src/indicator-printers-service.c @@ -26,6 +26,8 @@ #include "indicator-printers-menu.h" #include "indicator-printer-state-notifier.h" +#define NOTIFY_LEASE_DURATION (15 * 60) + static int create_subscription () @@ -43,7 +45,7 @@ create_subscription () ippAddString (req, IPP_TAG_SUBSCRIPTION, IPP_TAG_URI, "notify-recipient-uri", NULL, "dbus://"); ippAddInteger (req, IPP_TAG_SUBSCRIPTION, IPP_TAG_INTEGER, - "notify-lease-duration", 0); + "notify-lease-duration", NOTIFY_LEASE_DURATION); resp = cupsDoRequest (CUPS_HTTP_DEFAULT, req, "/"); if (!resp || cupsLastError() != IPP_OK) { @@ -64,6 +66,46 @@ create_subscription () } +static gboolean +renew_subscription (int id) +{ + ipp_t *req; + ipp_t *resp; + + req = ippNewRequest (IPP_RENEW_SUBSCRIPTION); + ippAddInteger (req, IPP_TAG_OPERATION, IPP_TAG_INTEGER, + "notify-subscription-id", id); + ippAddString (req, IPP_TAG_OPERATION, IPP_TAG_URI, + "printer-uri", NULL, "/"); + ippAddString (req, IPP_TAG_SUBSCRIPTION, IPP_TAG_URI, + "notify-recipient-uri", NULL, "dbus://"); + ippAddInteger (req, IPP_TAG_SUBSCRIPTION, IPP_TAG_INTEGER, + "notify-lease-duration", NOTIFY_LEASE_DURATION); + + resp = cupsDoRequest (CUPS_HTTP_DEFAULT, req, "/"); + if (!resp || cupsLastError() != IPP_OK) { + g_warning ("Error renewing CUPS subscription %d: %s\n", + id, cupsLastErrorString ()); + return FALSE; + } + + ippDelete (resp); + return TRUE; +} + + +static gboolean +renew_subscription_timeout (gpointer userdata) +{ + int *subscription_id = userdata; + + if (*subscription_id <= 0 || !renew_subscription (*subscription_id)) + *subscription_id = create_subscription (); + + return TRUE; +} + + void cancel_subscription (int id) { @@ -115,6 +157,9 @@ int main (int argc, char *argv[]) gtk_init (&argc, &argv); subscription_id = create_subscription (); + g_timeout_add_seconds (NOTIFY_LEASE_DURATION - 60, + renew_subscription_timeout, + &subscription_id); service = indicator_service_new_version (INDICATOR_PRINTERS_DBUS_NAME, INDICATOR_PRINTERS_DBUS_VERSION); -- cgit v1.2.3 From 68cb8a00df6ecf2469854bab5d9226323dffde30 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Tue, 20 Mar 2012 18:35:27 +0100 Subject: Listen to indicator-right-is-lozenge property changes Fixes bug: number of jobs queued was not drawn as a lozenge in the print indicator menu. --- src/indicator-printers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/indicator-printers.c b/src/indicator-printers.c index 187fbce..7acfdce 100644 --- a/src/indicator-printers.c +++ b/src/indicator-printers.c @@ -175,6 +175,9 @@ indicator_prop_change_cb (DbusmenuMenuitem *mi, else if (properties_match (prop, "visible", value, G_VARIANT_TYPE_BOOLEAN)) gtk_widget_set_visible (GTK_WIDGET (menuitem), g_variant_get_boolean (value)); + + else if (properties_match (prop, "indicator-right-is-lozenge", value, G_VARIANT_TYPE_BOOLEAN)) + indicator_menu_item_set_right_is_lozenge (menuitem, g_variant_get_boolean (value)); } -- cgit v1.2.3 From 34707262d29696d7178a05792b81ea3da3fd9855 Mon Sep 17 00:00:00 2001 From: Lars Uebernickel Date: Tue, 20 Mar 2012 18:40:25 +0100 Subject: 0.1.5 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index f82a404..53b8543 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -AC_INIT(indicator-printers, 0.1.4) +AC_INIT(indicator-printers, 0.1.5) AC_PREREQ(2.53) AM_INIT_AUTOMAKE([]) -- cgit v1.2.3