Printers: Detect disconnection of printer

Connect to CUPS' "printer-stopped" event so the panel can change state
of the printer when unplugged (rhbz #743884).
This commit is contained in:
Marek Kasik 2011-11-01 13:51:18 +01:00
parent 85feb058e0
commit af40a98f80

View file

@ -245,6 +245,7 @@ on_cups_notification (GDBusConnection *connection,
if (g_strcmp0 (signal_name, "PrinterAdded") != 0 &&
g_strcmp0 (signal_name, "PrinterDeleted") != 0 &&
g_strcmp0 (signal_name, "PrinterStateChanged") != 0 &&
g_strcmp0 (signal_name, "PrinterStopped") != 0 &&
g_strcmp0 (signal_name, "JobCreated") != 0 &&
g_strcmp0 (signal_name, "JobCompleted") != 0)
return;
@ -279,7 +280,8 @@ on_cups_notification (GDBusConnection *connection,
if (g_strcmp0 (signal_name, "PrinterAdded") == 0 ||
g_strcmp0 (signal_name, "PrinterDeleted") == 0 ||
g_strcmp0 (signal_name, "PrinterStateChanged") == 0)
g_strcmp0 (signal_name, "PrinterStateChanged") == 0 ||
g_strcmp0 (signal_name, "PrinterStopped") == 0)
actualize_printers_list (self);
else if (g_strcmp0 (signal_name, "JobCreated") == 0 ||
g_strcmp0 (signal_name, "JobCompleted") == 0)
@ -336,6 +338,7 @@ renew_subscription (gpointer data)
static const char * const events[] = {
"printer-added",
"printer-deleted",
"printer-stopped",
"printer-state-changed",
"job-created",
"job-completed"};