From: Philipp Zabel Date: Sat, 22 May 2010 11:15:48 +0000 (+0200) Subject: Add username and password fields in settings dialog, set credentials X-Git-Url: http://vcs.maemo.org/git/?p=beifahrer;a=commitdiff_plain;h=cc4db6bd98dce619097e25af4a250d53ffd89a50 Add username and password fields in settings dialog, set credentials --- diff --git a/src/query-window.vala b/src/query-window.vala index d5c9bc9..a58ee26 100644 --- a/src/query-window.vala +++ b/src/query-window.vala @@ -47,6 +47,12 @@ public class QueryWindow : StackableWindow { adac = new AdacMitfahrclub (); gconf = GConf.Client.get_default (); + try { + adac.set_credentials (gconf.get_string ("/apps/beifahrer/adac/username"), + gconf.get_string ("/apps/beifahrer/adac/password")); + } catch (Error e) { + } + tolerance_selector = new TouchSelector.text (); for (int days = 0; days <= 4; days += 1) tolerance_selector.append_text (_("+/- %d days").printf (days)); diff --git a/src/settings-dialog.vala b/src/settings-dialog.vala index 8617e83..aea80c1 100644 --- a/src/settings-dialog.vala +++ b/src/settings-dialog.vala @@ -19,12 +19,24 @@ using Gtk; using Hildon; +namespace Hildon { + [CCode (cname = "hildon_gtk_entry_set_placeholder_text")] + extern static void gtk_entry_set_placeholder_text (Gtk.Entry entry, string placeholder_text); + + [CCode (cname = "hildon_gtk_entry_set_input_mode")] + extern static void gtk_entry_set_input_mode (Gtk.Entry entry, Hildon.GtkInputMode mode); +} + public class SettingsDialog : Gtk.Dialog { public const string GCONF_KEY_USE_LOCATION = "/apps/beifahrer/use_location"; public const string GCONF_KEY_PRELOAD = "/apps/beifahrer/preload"; + public const string GCONF_KEY_USERNAME = "/apps/beifahrer/adac/username"; + public const string GCONF_KEY_PASSWORD = "/apps/beifahrer/adac/password"; Hildon.CheckButton use_location; Hildon.CheckButton preload; + Hildon.Entry username; + Hildon.Entry password; GConf.Client gconf; public SettingsDialog (Gtk.Window window) { @@ -36,8 +48,15 @@ public class SettingsDialog : Gtk.Dialog { use_location.set_label (_("Determine point of departure automatically")); preload = new Hildon.CheckButton (SizeType.FINGER_HEIGHT); preload.set_label (_("Preload lift details in the background")); + username = new Hildon.Entry (SizeType.FINGER_HEIGHT); + Hildon.gtk_entry_set_placeholder_text (username, _("Username")); + password = new Hildon.Entry (SizeType.FINGER_HEIGHT); + password.set_visibility (false); + Hildon.gtk_entry_set_placeholder_text (password, _("Password")); vbox.pack_start (use_location, true, true, 0); vbox.pack_start (preload, true, true, 0); + vbox.pack_start (username, true, true, 0); + vbox.pack_start (password, true, true, 0); vbox.show_all (); add_button (_("Save"), ResponseType.APPLY); @@ -46,6 +65,8 @@ public class SettingsDialog : Gtk.Dialog { try { use_location.set_active (gconf.get_bool (GCONF_KEY_USE_LOCATION)); preload.set_active (gconf.get_bool (GCONF_KEY_PRELOAD)); + username.set_text (gconf.get_string (GCONF_KEY_USERNAME)); + password.set_text (gconf.get_string (GCONF_KEY_PASSWORD)); } catch (Error e) { use_location.set_active (true); } @@ -57,6 +78,8 @@ public class SettingsDialog : Gtk.Dialog { if (response_id == ResponseType.APPLY) try { gconf.set_bool (GCONF_KEY_USE_LOCATION, use_location.get_active ()); gconf.set_bool (GCONF_KEY_PRELOAD, preload.get_active ()); + gconf.set_string (GCONF_KEY_USERNAME, username.get_text ()); + gconf.set_string (GCONF_KEY_PASSWORD, password.get_text ()); this.destroy (); } catch (Error e) { }