[gnome-control-center] printers: Authenticate samba server also on double-click



commit fc073f218522495f6f34374b0b992ebdd4e74583
Author: Felipe Borges <felipeborges gnome org>
Date:   Tue Feb 7 13:11:52 2017 +0100

    printers: Authenticate samba server also on double-click
    
    The "Add Printer" dialog should be smart enough to know whether
    an item listed in the dialog is a samba server or just a printer.
    If it is a samba server, it should go for the authentication page
    instead of emitting a GTK_RESPONSE_*.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778277

 panels/printers/pp-new-printer-dialog.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 13c3c41..7a15a45 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -1974,8 +1974,30 @@ row_activated_cb (GtkTreeView       *tree_view,
 {
   PpNewPrinterDialog        *dialog = (PpNewPrinterDialog *) user_data;
   PpNewPrinterDialogPrivate *priv = dialog->priv;
+  GtkTreeModel              *model;
+  GtkTreeIter                iter;
+  GtkWidget                 *widget;
+  gboolean                   authentication_needed;
+  gboolean                   selected;
 
-  gtk_dialog_response (GTK_DIALOG (priv->dialog), GTK_RESPONSE_OK);
+  selected = gtk_tree_selection_get_selected (gtk_tree_view_get_selection (priv->treeview),
+                                              &model,
+                                              &iter);
+
+  if (selected)
+    {
+      gtk_tree_model_get (model, &iter, SERVER_NEEDS_AUTHENTICATION_COLUMN, &authentication_needed, -1);
+
+      if (authentication_needed)
+        {
+          widget = WID ("unlock-button");
+          authenticate_samba_server (GTK_BUTTON (widget), dialog);
+        }
+      else
+        {
+          gtk_dialog_response (GTK_DIALOG (priv->dialog), GTK_RESPONSE_OK);
+        }
+    }
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]