[gnome-commander] GnomeCmdCon: change auth member type from gboolean to GnomeCmdCon::Authentication enum



commit 4013c1472f28ff2c0d8674517449b14bb8e807b5
Author: Piotr Eljasiak <epiotr src gnome org>
Date:   Mon Oct 24 20:03:10 2011 +0200

    GnomeCmdCon: change auth member type from gboolean to GnomeCmdCon::Authentication enum

 src/dialogs/gnome-cmd-remote-dialog.cc |    2 +-
 src/gnome-cmd-con-dialog.cc            |   15 ++++++++-------
 src/gnome-cmd-con-ftp.cc               |    3 ++-
 src/gnome-cmd-con.cc                   |    2 +-
 src/gnome-cmd-con.h                    |    2 +-
 5 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/src/dialogs/gnome-cmd-remote-dialog.cc b/src/dialogs/gnome-cmd-remote-dialog.cc
index cdb28dc..baf8601 100644
--- a/src/dialogs/gnome-cmd-remote-dialog.cc
+++ b/src/dialogs/gnome-cmd-remote-dialog.cc
@@ -101,7 +101,7 @@ inline void set_server (GtkListStore *store, GtkTreeIter *iter, GnomeCmdConFtp *
 
     gtk_list_store_set (store, iter,
                         COL_METHOD, gnome_cmd_con_get_icon_name (con->method),
-                        COL_LOCK, con->auth ? GTK_STOCK_DIALOG_AUTHENTICATION : NULL,
+                        COL_LOCK, con->auth==GnomeCmdCon::SAVE_PERMANENTLY ? GTK_STOCK_DIALOG_AUTHENTICATION : NULL,
                         COL_AUTH, con->auth,
                         COL_NAME, gnome_cmd_con_get_alias (con),
                         COL_CON, con,
diff --git a/src/gnome-cmd-con-dialog.cc b/src/gnome-cmd-con-dialog.cc
index 25d838b..d199f31 100644
--- a/src/gnome-cmd-con-dialog.cc
+++ b/src/gnome-cmd-con-dialog.cc
@@ -86,7 +86,7 @@ struct GnomeCmdConnectDialog::Private
     string *alias;
     string uri_str;
 
-    gboolean auth;
+    GnomeCmdCon::Authentication auth;
 
     GtkWidget *required_table;
     GtkWidget *optional_table;
@@ -113,7 +113,7 @@ inline GnomeCmdConnectDialog::Private::Private()
 {
     alias = NULL;
 
-    auth = FALSE;
+    auth = GnomeCmdCon::SAVE_PERMANENTLY;
 
     required_table = NULL;
     optional_table = NULL;
@@ -228,12 +228,13 @@ inline gboolean verify_uri (GnomeCmdConnectDialog *dialog)
         return FALSE;
     }
 
-    dialog->priv->auth = type!=CON_ANON_FTP && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check));
+    dialog->priv->auth = type==CON_ANON_FTP ? GnomeCmdCon::NOT_REQUIRED :
+                                              gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check)) ? GnomeCmdCon::SAVE_PERMANENTLY : GnomeCmdCon::SAVE_FOR_SESSION;
 
     if (type==CON_ANON_FTP)
         user = "anonymous";
 
-    gnome_cmd_con_make_uri (uri, (ConnectionMethodID) type, dialog->priv->auth, uri, server, share, port, folder, domain, user, password);
+    gnome_cmd_con_make_uri (uri, (ConnectionMethodID) type, dialog->priv->auth==GnomeCmdCon::SAVE_PERMANENTLY, uri, server, share, port, folder, domain, user, password);
 
     if (type==CON_URI && uri.empty())
     {
@@ -558,8 +559,8 @@ GnomeCmdConFtp *gnome_cmd_connect_dialog_new (gboolean has_alias)
 
     gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->type_combo), CON_SSH);
 
-    dialog->priv->auth = FALSE;
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check), dialog->priv->auth);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check), dialog->priv->auth==GnomeCmdCon::SAVE_PERMANENTLY);
+    dialog->priv->auth = GnomeCmdCon::SAVE_PERMANENTLY;
 
     gint response = gtk_dialog_run (*dialog);
 
@@ -598,7 +599,7 @@ gboolean gnome_cmd_connect_dialog_edit (GnomeCmdConFtp *server)
 
     // Use GNOME Keyring Manager for authentication
     dialog->priv->auth = con->auth;
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check), con->auth);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->auth_check), con->auth==GnomeCmdCon::SAVE_PERMANENTLY);
 
     // Alias
     if (con->alias)
diff --git a/src/gnome-cmd-con-ftp.cc b/src/gnome-cmd-con-ftp.cc
index 77e6b2e..5557e38 100644
--- a/src/gnome-cmd-con-ftp.cc
+++ b/src/gnome-cmd-con-ftp.cc
@@ -261,7 +261,8 @@ GnomeCmdConFtp *gnome_cmd_con_ftp_new (const gchar *alias, const string &text_ur
     gnome_cmd_con_ftp_set_host_name (server, host);
 
     con->method = gnome_cmd_con_get_scheme (uri);
-    con->auth = !password && con->method!=CON_ANON_FTP;          // ?????????
+    con->auth = con->method==CON_ANON_FTP ? GnomeCmdCon::NOT_REQUIRED :
+                                            password ? GnomeCmdCon::SAVE_FOR_SESSION : GnomeCmdCon::SAVE_PERMANENTLY;
 
     g_free (path);
     gnome_vfs_uri_unref (uri);
diff --git a/src/gnome-cmd-con.cc b/src/gnome-cmd-con.cc
index 2377c1c..3802bef 100644
--- a/src/gnome-cmd-con.cc
+++ b/src/gnome-cmd-con.cc
@@ -168,7 +168,7 @@ static void init (GnomeCmdCon *con)
     con->alias = NULL;
     con->uri = NULL;
     con->method = CON_URI;
-    con->auth = FALSE;
+    con->auth = GnomeCmdCon::NOT_REQUIRED;
 
     con->base_path = NULL;
     con->base_info = NULL;
diff --git a/src/gnome-cmd-con.h b/src/gnome-cmd-con.h
index cdada1b..6988c19 100644
--- a/src/gnome-cmd-con.h
+++ b/src/gnome-cmd-con.h
@@ -84,7 +84,7 @@ struct GnomeCmdCon
     gchar               *alias;                 // coded as UTF-8
     gchar               *uri;
     ConnectionMethodID  method;
-    gboolean            auth;
+    Authentication      auth;
 
     gchar               *open_msg;
     GnomeCmdPath        *base_path;



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