printers: Bring back buttons for addition/removal of printers
This commit is contained in:
parent
1b97a789e8
commit
9f2fb8520f
2 changed files with 112 additions and 9 deletions
|
@ -502,7 +502,7 @@ actualize_printers_list (CcPrintersPanel *self)
|
|||
priv->current_dest = -1;
|
||||
|
||||
treeview = (GtkTreeView*)
|
||||
gtk_builder_get_object (priv->builder, "printer-treeview");
|
||||
gtk_builder_get_object (priv->builder, "printers-treeview");
|
||||
|
||||
store = gtk_list_store_new (PRINTER_N_COLUMNS,
|
||||
G_TYPE_STRING,
|
||||
|
@ -650,7 +650,7 @@ populate_printers_list (CcPrintersPanel *self)
|
|||
priv = PRINTERS_PANEL_PRIVATE (self);
|
||||
|
||||
treeview = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "printer-treeview");
|
||||
gtk_builder_get_object (priv->builder, "printers-treeview");
|
||||
|
||||
g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
|
||||
"changed", G_CALLBACK (printer_selection_changed_cb), self);
|
||||
|
@ -1570,6 +1570,50 @@ printer_set_default_cb (GtkToggleButton *button,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
printer_remove_cb (GtkToolButton *toolbutton,
|
||||
gpointer user_data)
|
||||
{
|
||||
CcPrintersPanelPrivate *priv;
|
||||
CcPrintersPanel *self = (CcPrintersPanel*) user_data;
|
||||
DBusGProxy *proxy;
|
||||
GError *error = NULL;
|
||||
char *ret_error = NULL;
|
||||
char *name = NULL;
|
||||
|
||||
priv = PRINTERS_PANEL_PRIVATE (self);
|
||||
|
||||
if (priv->current_dest >= 0 &&
|
||||
priv->current_dest < priv->num_dests &&
|
||||
priv->dests != NULL)
|
||||
name = priv->dests[priv->current_dest].name;
|
||||
|
||||
if (name)
|
||||
{
|
||||
proxy = get_dbus_proxy ();
|
||||
|
||||
if (!proxy)
|
||||
return;
|
||||
|
||||
dbus_g_proxy_call (proxy, "PrinterDelete", &error,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_STRING, &ret_error,
|
||||
G_TYPE_INVALID);
|
||||
|
||||
if (error || (ret_error && ret_error[0] != '\0'))
|
||||
{
|
||||
if (error)
|
||||
g_warning ("%s", error->message);
|
||||
|
||||
if (ret_error && ret_error[0] != '\0')
|
||||
g_warning ("%s", ret_error);
|
||||
}
|
||||
else
|
||||
actualize_printers_list (self);
|
||||
}
|
||||
}
|
||||
|
||||
static ipp_t *
|
||||
execute_maintenance_command (const char *printer_name,
|
||||
const char *command,
|
||||
|
@ -1730,6 +1774,10 @@ cc_printers_panel_init (CcPrintersPanel *self)
|
|||
gtk_builder_get_object (priv->builder, "job-release-button");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (job_process_cb), self);
|
||||
|
||||
widget = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "printer-remove-button");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (printer_remove_cb), self);
|
||||
|
||||
widget = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "printer-disable-button");
|
||||
g_signal_connect (widget, "toggled", G_CALLBACK (printer_disable_cb), self);
|
||||
|
@ -1758,6 +1806,16 @@ cc_printers_panel_init (CcPrintersPanel *self)
|
|||
gtk_builder_get_object (priv->builder, "clean-print-heads-button");
|
||||
g_signal_connect (widget, "clicked", G_CALLBACK (printer_maintenance_cb), self);
|
||||
|
||||
widget = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "printers-scrolledwindow");
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
|
||||
|
||||
widget = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "printers-toolbar");
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
|
||||
|
||||
widget = (GtkWidget*)
|
||||
gtk_builder_get_object (priv->builder, "allowed-users-scrolledwindow");
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
|
|
|
@ -11,18 +11,63 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="scrolledwindow2">
|
||||
<object class="GtkVBox" id="vbox4">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="vscrollbar_policy">automatic</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="printer-treeview">
|
||||
<object class="GtkScrolledWindow" id="printers-scrolledwindow">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="headers_visible">False</property>
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="vscrollbar_policy">automatic</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="printers-treeview">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="headers_visible">False</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolbar" id="printers-toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="icon_size_set">True</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="printer-add-button">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="label">AddPrinter</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">list-add-symbolic</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="printer-remove-button">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">RemovePrinter</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">list-remove-symbolic</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
Loading…
Add table
Reference in a new issue