diff --git a/CASA.changes b/CASA.changes index db80d8ab..5e811906 100644 --- a/CASA.changes +++ b/CASA.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Mar 7 19:20:50 IST 2006 - smanojna@novell.com + +- Added Application SSO feature to CASAManager (Linux). + We will be able to add single sign-on information to Konquerer and + NetworkManager appilcations from within CASAManager. + Main-Menu: Options > Application SSO. +- Fixed an expection thrown during GnomeKeyring delete secret operation. +- All textboxes in CASAManager have been updated to take not more than + 256 characters (just a small check to avoid buffer-overflows). + ------------------------------------------------------------------- Tue Mar 7 15:08:26 IST 2006 - smanojna@novell.com diff --git a/c_gui/CasaMain.cs b/c_gui/CasaMain.cs index 04ec0ffd..5ae368d1 100644 --- a/c_gui/CasaMain.cs +++ b/c_gui/CasaMain.cs @@ -24,7 +24,6 @@ namespace Novell.CASA.GUI { - using System; using System.IO; using System.Diagnostics; @@ -40,115 +39,117 @@ namespace Novell.CASA.GUI public class CasaMain { - public MiCasa objMiCasa = null; - public Firefox objFirefox = null; - public Mozilla objMozilla = null; - public KdeWallet objKdeWallet = null; - public GnomeKeyring objGnomeKeyring = null; + public MiCasa objMiCasa = null; + public Firefox objFirefox = null; + public Mozilla objMozilla = null; + public KdeWallet objKdeWallet = null; + public GnomeKeyring objGnomeKeyring = null; - public static Glade.XML gxml; - + public static Glade.XML gxmlMain = null; + public static CasaTray mCasaTray = null; + + public static bool m_bShowDebug = false; + public static bool m_bNotifyUser = true; + public static bool m_bGuiLocked = false; + int loginPromptCount = 3; #region Glade Widgets [Glade.Widget] - Gtk.Window windowMain; + Gtk.Window windowMain; [Glade.Widget] - Gtk.TreeView tvLog; + Gtk.TreeView tvLog; [Glade.Widget] - Gtk.Notebook notebookStores; + Gtk.Notebook notebookStores; [Glade.Widget] - Gtk.Dialog dialogPersistentStorage, - dialogPreferences, - dialogAbout, - dialogLogin, - dialogLoginContinue, - dialogDesktopPassword, - dialogConfirmRefresh, - dialogSingleInstance, - dialogLoginReprompt, - dialogShortPassword, - dialogResetMP, - dialogStillRunning; + Gtk.Dialog dialogPersistentStorage, + dialogPreferences, + dialogAbout, + dialogLogin, + dialogLoginContinue, + dialogDesktopPassword, + dialogConfirmRefresh, + dialogSingleInstance, + dialogLoginReprompt, + dialogShortPassword, + dialogResetMP, + dialogStillRunning; [Glade.Widget] - Gtk.Entry entryMasterPassword1, - entryMasterPassword2, - entryMasterPassword3, - entryMasterPassword4, - entryDesktopPassword1, - entryDesktopPassword2, - entryOldMP, - entryNewMP1, - entryNewMP2; + Gtk.Entry entryMasterPassword1, + entryMasterPassword2, + entryMasterPassword3, + entryMasterPassword4, + entryDesktopPassword1, + entryDesktopPassword2, + entryOldMP, + entryNewMP1, + entryNewMP2; [Glade.Widget] - Gtk.CheckButton checkbuttonFirefox, - checkbuttonMozilla, - checkbuttonGnomeKeyring, - checkbuttonKdeWallet, - checkbuttonCloseMessage; + Gtk.CheckButton checkbuttonFirefox, + checkbuttonMozilla, + checkbuttonGnomeKeyring, + checkbuttonKdeWallet, + checkbuttonCloseMessage; [Glade.Widget] - Gtk.Label label88, - labelLoginContinue1, - labelLoginContinue2, - labelDesktopPasswordMessage; + Gtk.Label label88, + labelLoginContinue1, + labelLoginContinue2, + labelDesktopPasswordMessage; [Glade.Widget] - Gtk.Button okbuttonPersistentStorage; + Gtk.Button okbuttonPersistentStorage; [Glade.Widget] - Gtk.MenuItem mmiNew, - mmiNewKey, - mmiView, - mmiLink, - mmiCopy, - mmiDelete, - mmiRefresh, - mmiLockSecrets, - mmiUnlockSecrets, - mmiDestroySecrets, - mmiEdit, - mmiOptions, - mmiDebug; - - [Glade.Widget] - - #endregion - - - public static CasaTray mCasaTray = null; - public static bool m_bShowDebug = false; - public static bool m_bNotifyUser = true; - public static bool m_bGuiLocked = false; - - - - ///####################################################################### - /// MAIN - - /// - /// The main entry point for the CASA application. + Gtk.MenuItem mmiNew, + mmiNewKey, + mmiView, + mmiLink, + mmiCopy, + mmiDelete, + mmiRefresh, + mmiLockSecrets, + mmiUnlockSecrets, + mmiDestroySecrets, + mmiEdit, + mmiOptions, + mmiDebug, + mmiApplicationSSO, + mmiKonquerer, + mmiKopete, + mmiNetworkManager, + mmiGaim; + + #endregion + + + /// + /// ******************************************************************** + /// public static void Main(string[] args) + /// + /// MAIN + /// The main entry point for the CASA application. + /// ******************************************************************** /// [STAThread] public static void Main(string[] args) { Logger.DbgLog("GUI:CasaMain.Main() - BEGIN"); - Common.ReadPlatform(); - + Common.ReadPlatform(); Application.Init(); try { if (Common.IsArgSet(args, Common.ARG_DEBUG)) m_bShowDebug = true; - + // ping micasad Ping ping = new Ping(); ping.clientmessage = "Hello micasad"; @@ -160,34 +161,32 @@ namespace Novell.CASA.GUI } catch (Exception e) { - string message = "miCASA services are not available"; - //Console.WriteLine("CasaMain: EXCEPTION= "+e.ToString()); + //Console.WriteLine("CasaMain: EXCEPTION \n"+e.ToString()); + + string message = "miCASA services are not available"; if (m_bShowDebug) message = e.ToString(); - MessageDialog md=new MessageDialog(null,Gtk.DialogFlags.Modal, - Gtk.MessageType.Error, - Gtk.ButtonsType.Close, - message); - + Gtk.MessageType.Error, + Gtk.ButtonsType.Close, + message); md.Response+=new ResponseHandler(md_ResponseCloseWindow); md.SetPosition(Gtk.WindowPosition.CenterAlways); - md.Show(); + md.Show(); Application.Run(); } - - + Logger.DbgLog("GUI:CasaMain.Main() - END"); } - - - ///####################################################################### - /// CONSTRUCTOR - /// - /// CasaMain constructor funtion. + /// ******************************************************************* + /// public CasaMain(string[] args) + /// + /// MAIN CONSTRUCTOR + /// CasaMain constructor funtion. + /// ******************************************************************* /// public CasaMain(string[] args) { @@ -195,9 +194,7 @@ namespace Novell.CASA.GUI if( false == Common.CheckForSingleInstance() ) { - MasterPasswordAuthentication(); - - + MasterPasswordAuthentication(); if (Common.IsTrayAvailable()) // && Common.IsArgSet(args, Common.ARG_SHOW_TRAY_ICON)) { try @@ -205,53 +202,50 @@ namespace Novell.CASA.GUI if (mCasaTray == null) mCasaTray = new CasaTray(this); } - catch{} - } - + catch (Exception e) + { + Logger.DbgLog("CasaMain:EXCEPTION"+e.ToString()); + } + } } else { - //if (Common.IS_LINUX) { Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogSingleInstance", null); gxmlTemp.Autoconnect(this); - } - //else - //{ - // Common.FocusExistingApp(); - //} + } } Logger.DbgLog("GUI:CasaMain.CasaMain() - END"); } - - ///####################################################################### - /// INITIALIZE MAIN GUI - /// - /// Main GUI initializing routine. This routine builds the Main window of CASA. + /// ******************************************************************** + /// public void InitializeGUI() + /// + /// INITIALIZE MAIN GUI + /// Main GUI initializing routine. This routine builds the Main + /// window of CASA. + /// ******************************************************************** /// public void InitializeGUI() { Logger.DbgLog("GUI:CasaMain.InitializeGUI() - BEGIN"); - - gxml = new Glade.XML(Common.GladeFile, "windowMain", null); - gxml.Autoconnect(this); - + + gxmlMain = new Glade.XML(Common.GladeFile, "windowMain", null); + gxmlMain.Autoconnect(this); + windowMain.DeleteEvent += new DeleteEventHandler(OnWindowMainDeleted); + + // DEBUG if (!m_bShowDebug) mmiDebug.Hide(); - - windowMain.DeleteEvent += new DeleteEventHandler(OnWindowMainDeleted); - /// PLATFORM SPECIFIC GUI CHANGES - //ConfigureGUI(); - + /// POLICY INIT StorePolicyInterface.Init(); - + Logger.DbgLog("GUI:CasaMain.InitializeGUI() - miCASA policy = " + Common.IS_MICASA); Logger.DbgLog("GUI:CasaMain.InitializeGUI() - Firefox policy = " + Common.IS_FIREFOX); Logger.DbgLog("GUI:CasaMain.InitializeGUI() - Mozilla policy = " + Common.IS_MOZILLA); @@ -260,23 +254,23 @@ namespace Novell.CASA.GUI /// STOREDATA INIT StoreDataInterface.Init(); - + if( Common.IS_MICASA ) { Logger.DbgLog("GUI:CasaMain.new MiCasa()."); objMiCasa = new MiCasa(); } else - (notebookStores.GetNthPage(Common.STORE_MICASA)).Visible = Common.IS_MICASA; - + (notebookStores.GetNthPage(Common.STORE_MICASA)).Visible = Common.IS_MICASA; + if( Common.IS_FIREFOX ) { Logger.DbgLog("GUI:CasaMain.new Firefox()."); - objFirefox = new Firefox(); + objFirefox = new Firefox(); } else - (notebookStores.GetNthPage(Common.STORE_FIREFOX)).Visible = Common.IS_FIREFOX; - + (notebookStores.GetNthPage(Common.STORE_FIREFOX)).Visible = Common.IS_FIREFOX; + if( Common.IS_MOZILLA ) { Logger.DbgLog("GUI:CasaMain.new Mozilla()."); @@ -284,7 +278,7 @@ namespace Novell.CASA.GUI } else (notebookStores.GetNthPage(Common.STORE_MOZILLA)).Visible = Common.IS_MOZILLA; - + if( Common.IS_KDEWALLET ) { Logger.DbgLog("GUI:CasaMain.new KdeWallet()."); @@ -292,7 +286,7 @@ namespace Novell.CASA.GUI } else (notebookStores.GetNthPage(Common.STORE_KDEWALLET)).Visible = Common.IS_KDEWALLET; - + if( Common.IS_GNOMEKEYRING ) { Logger.DbgLog("GUI:CasaMain.new GnomeKeyring()."); @@ -300,7 +294,7 @@ namespace Novell.CASA.GUI } else (notebookStores.GetNthPage(Common.STORE_GNOMEKEYRING)).Visible = Common.IS_GNOMEKEYRING; - + notebookStores.CurrentPage = Common.STORE_MICASA; if (MiCASAStore.IsLocked()) @@ -309,17 +303,19 @@ namespace Novell.CASA.GUI UnlockGUI(); windowMain.Show(); - + Logger.DbgLog("GUI:CasaMain.InitializeGUI() - END"); } - - - ///####################################################################### - /// MASTER PASSWORD AUTHENTICATION - + + /// - /// This routine implements the MasterPassword authentication. + /// ******************************************************************** + /// public void MasterPasswordAuthentication() + /// + /// INITIAL MASTER PASSWORD AUTHENTICATION + /// This routine implements the MasterPassword authentication. + /// ******************************************************************** /// public void MasterPasswordAuthentication() { @@ -355,7 +351,6 @@ namespace Novell.CASA.GUI { Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogDesktopPassword", null); gxmlTemp.Autoconnect(this); - } else { @@ -384,7 +379,6 @@ namespace Novell.CASA.GUI object o = obj; if (entryDesktopPassword1 != null && entryDesktopPassword2.Text != null) { - if (entryDesktopPassword1.Text.Length < 1) { labelDesktopPasswordMessage.Text = "Please enter your desktop password"; @@ -397,11 +391,11 @@ namespace Novell.CASA.GUI try { Novell.CASA.miCASA.SetCredential(0, - "Desktop", - null, - Novell.CASA.miCASA.USERNAME_TYPE_CN_F, - GetLocalUsername(), - entryDesktopPassword1.Text); + "Desktop", + null, + Novell.CASA.miCASA.USERNAME_TYPE_CN_F, + GetLocalUsername(), + entryDesktopPassword1.Text); } catch (Exception e) { @@ -412,7 +406,6 @@ namespace Novell.CASA.GUI dialogDesktopPassword.Destroy(); MasterPasswordAuthentication(); - } else { @@ -428,7 +421,6 @@ namespace Novell.CASA.GUI Common.ShowHelpUrl("CASADesktopPassword.htm"); } - public void on_buttonPasswordClose_clicked(object obj, EventArgs args) { if (dialogDesktopPassword != null) @@ -446,8 +438,7 @@ namespace Novell.CASA.GUI if( entryMasterPassword3.Text.Length < 8 ) { Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogShortPassword", null); - gxmlTemp.Autoconnect (this); - + gxmlTemp.Autoconnect (this); } else if(entryMasterPassword3.Text != "" && (entryMasterPassword3.Text == entryMasterPassword4.Text) && entryMasterPassword3.Text.Length >= 8) { @@ -534,10 +525,8 @@ namespace Novell.CASA.GUI mCasaTray.Destroy(); mCasaTray = null; } - HandleQuit(); - } - + } public void OnDialogLoginDeleted(object obj, DeleteEventArgs args) { @@ -587,9 +576,9 @@ namespace Novell.CASA.GUI try { BasicCredential bc = Novell.CASA.miCASA.GetCredential(0, - "Desktop", - null, - Novell.CASA.miCASA.USERNAME_TYPE_CN_F); + "Desktop", + null, + Novell.CASA.miCASA.USERNAME_TYPE_CN_F); return false; } catch @@ -599,7 +588,6 @@ namespace Novell.CASA.GUI string MICASA_KEY_FILE = "/.miCASAKey"; string MICASA_PERSISTENCE_FILE = "/.miCASA"; string MICASA_VALIDATION_FILE = "/.miCASAValidate"; - string sHomeDir = GetUserHomeDir(); Logger.DbgLog("GUI:CasaMain.DoesPersistentFilesExist() - END"); @@ -609,15 +597,13 @@ namespace Novell.CASA.GUI && File.Exists(sHomeDir + MICASA_VALIDATION_FILE)); } } - - + private string GetUserHomeDir() { if (Common.IS_LINUX) return Environment.GetEnvironmentVariable("HOME"); else - return Environment.GetEnvironmentVariable("USERPROFILE"); - + return Environment.GetEnvironmentVariable("USERPROFILE"); } private string GetLocalUsername() @@ -625,12 +611,15 @@ namespace Novell.CASA.GUI return Environment.GetEnvironmentVariable("USERNAME"); } - - ///####################################################################### - /// LOGIN WARNING DIALOG + /// + /// ******************************************************************** + /// public void LoginContinue(string LabelMain, string LabelTips) + /// + /// LOGIN WARNING DIALOG /// Error dialog prompt for MasterPassword authentication + /// ******************************************************************** /// public void LoginContinue(string LabelMain, string LabelTips) { @@ -651,12 +640,16 @@ namespace Novell.CASA.GUI InitializeGUI(); } - - ///####################################################################### - /// ON MAIN MENU ACTIVATED HANDLERS - - + + /// + /// ******************************************************************** + /// internal void on_notebookStores_switch_page(object obj, SwitchPageArgs args) + /// + /// NOTEBOOK SWITCH PAGE HANDLER + /// To perform only on the click of the respective store tab/page. + /// ******************************************************************** + /// internal void on_notebookStores_switch_page(object obj, SwitchPageArgs args) { switch(args.PageNum) @@ -690,41 +683,45 @@ namespace Novell.CASA.GUI objGnomeKeyring.IS_STORE_AGGREGATED = true; } break; - } - + } } + /// + /// ******************************************************************** + /// internal void FileMenuActivated(object obj, EventArgs args) /// + /// FILE MENU ACTIVATION HANDLER + /// To highlight/de-highlight menuitems in the file menu. + /// ******************************************************************** /// internal void FileMenuActivated(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.FileMenuActivated() - BEGIN"); if (MiCASAStore.IsLocked()) - { + { LockGUI(); Logger.DbgLog("GUI:CasaMain.FileMenuActivated() Store is locked - END"); return; } else - { + { if (m_bGuiLocked) - UnlockGUI(); + UnlockGUI(); } - - - switch(notebookStores.CurrentPage) + + switch(notebookStores.CurrentPage) { - case Common.STORE_MICASA: + case Common.STORE_MICASA: if( 0 != objMiCasa.tvSecretIDMiCasa.Selection.CountSelectedRows() ) { mmiNew.Sensitive = mmiNewKey.Sensitive = true; } else { - mmiNewKey.Sensitive = false; + mmiNewKey.Sensitive = false; } break; @@ -764,14 +761,19 @@ namespace Novell.CASA.GUI } break; } - + Logger.DbgLog("GUI:CasaMain.FileMenuActivated() - END"); } - /// + /// + /// ******************************************************************** + /// internal void EditMenuActivated(object obj, EventArgs args) /// + /// EDIT MENU ACTIVATION HANDLER + /// To highlight/de-highlight menuitems in the edit menu. + /// ******************************************************************** /// internal void EditMenuActivated(object obj, EventArgs args) { @@ -835,11 +837,54 @@ namespace Novell.CASA.GUI } - ///####################################################################### - /// REFRESH ALL STORES + + /// + /// ******************************************************************** + /// internal void OptionsMenuActivated(object obj, EventArgs args) + /// + /// OPTIONS MENU ACTIVATION HANDLER + /// To highlight/de-highlight menuitems in the options menu. + /// ******************************************************************** + /// + internal void OptionsMenuActivated(object obj, EventArgs args) + { + Logger.DbgLog("GUI:CasaMain.OptionsMenuActivated() - BEGIN"); + + if( Common.IS_WINDOWS ) + { + //mmiApplicationSSO.Sensitive = false; + mmiKonquerer.Sensitive = false; + mmiKopete.Sensitive = false; + mmiNetworkManager.Sensitive = false; + mmiGaim.Sensitive = false; + mmiKopete.Visible = mmiGaim.Visible = false; + } + else + { + if( Common.IS_KDEWALLET ) + mmiKonquerer.Sensitive = mmiKopete.Sensitive = true; + else + mmiKonquerer.Sensitive = mmiKopete.Sensitive = false; + + if( Common.IS_GNOMEKEYRING ) + mmiNetworkManager.Sensitive = mmiGaim.Sensitive = true; + else + mmiNetworkManager.Sensitive = mmiGaim.Sensitive = false; + mmiKopete.Visible = mmiGaim.Visible = false; + } + + Logger.DbgLog("GUI:CasaMain.OptionsMenuActivated() - END"); + } + + /// + /// ******************************************************************** + /// public void RefreshAllStores(object obj, EventArgs args) /// + /// REFRESH ALL STORES + /// Re-aggregate all stores based on the aggregation policy. + /// ******************************************************************** /// public void RefreshAllStores(object obj, EventArgs args) { @@ -852,8 +897,7 @@ namespace Novell.CASA.GUI { Logger.DbgLog("GUI:CasaMain.on_buttonRefreshYes_clicked() - BEGIN"); - RefreshStores(); - + RefreshStores(); dialogConfirmRefresh.Destroy(); Logger.DbgLog("GUI:CasaMain.on_buttonRefreshYes_clicked() - END"); @@ -869,31 +913,35 @@ namespace Novell.CASA.GUI Common.ShowHelpUrl("RefreshStore.htm"); } - - ///####################################################################### - /// QUIT APPLICATION - - /// - /// - /// - public void QuitApplication(object obj, EventArgs args) + internal void RefreshStores() { - Logger.DbgLog("GUI:CasaMain.QuitApplication() - BEGIN"); + if( Common.IS_MICASA ) + objMiCasa.AggregateStore(); - //windowMain.Destroy(); - HandleQuit(); - - Logger.DbgLog("GUI:CasaMain.QuitApplication() - END"); + if( Common.IS_FIREFOX ) + objFirefox.AggregateStore(); + + if( Common.IS_MOZILLA ) + objMozilla.AggregateStore(); + + if( Common.IS_KDEWALLET ) + objKdeWallet.AggregateStore(); + + if( Common.IS_GNOMEKEYRING ) + objGnomeKeyring.AggregateStore(); + } - - - - ///####################################################################### - /// ADD NEW SECRET - - /// + + + + /// + /// ******************************************************************** + /// public void OnNewSecretActivated(object obj, EventArgs args) /// - /// + /// MAIN-MENU: NEW SECRET + /// Add a new secret. + /// ******************************************************************** + /// public void OnNewSecretActivated(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.NewSecret() - BEGIN"); @@ -924,12 +972,14 @@ namespace Novell.CASA.GUI - ///####################################################################### - /// ADD NEW KEY - - /// + /// + /// ******************************************************************** + /// public void OnNewKeyActivated(object obj, EventArgs args)s) /// - /// + /// MAIN-MENU: NEW KEY + /// Add new key-value pairs to an existing secret. + /// ******************************************************************** + /// public void OnNewKeyActivated(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.NewKeyValue() - BEGIN"); @@ -958,10 +1008,17 @@ namespace Novell.CASA.GUI Logger.DbgLog("GUI:CasaMain.NewKeyValue() - END"); } + - ///####################################################################### - /// UI handling - + /// + /// ******************************************************************** + /// public void OnLockMiCASASecrets(object sender, EventArgs args) + /// public void OnUnLockMiCASASecrets(object sender, EventArgs args) + /// + /// MAIN-MENU: LOCK/UNLOCK STORE, DESTROY SECRETS + /// Handlers for locking/unlocking the store, and destroying secrets. + /// ******************************************************************** + /// public void OnLockMiCASASecrets(object sender, EventArgs args) { Logger.DbgLog("GUI:CasaMain.OnLockMiCASASecrets() - START"); @@ -981,22 +1038,12 @@ namespace Novell.CASA.GUI Logger.DbgLog("GUI:CasaMain.OnUnLockMiCASASecrets() - END"); } - public void OnDestroyMiCASASecrets(object sender, EventArgs args) - { - Logger.DbgLog("GUI:CasaMain.OnDestroyMiCASASecrets() - START"); - CommonGUI temp = new CommonGUI(); - temp.menuDestroyMiCasa_Activated(this, mCasaTray); - Logger.DbgLog("GUI:CasaMain.OnDestroyMiCASASecrets() - END"); - } - - internal void LockGUI() { + notebookStores.Sensitive = false; mmiLockSecrets.Sensitive = false; mmiUnlockSecrets.Sensitive = true; - mmiDestroySecrets.Sensitive = false; - notebookStores.Sensitive = false; - + mmiDestroySecrets.Sensitive = false; mmiNew.Sensitive = false; mmiRefresh.Sensitive = false; mmiDebug.Sensitive = false; @@ -1007,31 +1054,40 @@ namespace Novell.CASA.GUI internal void UnlockGUI() { + notebookStores.Sensitive = true; mmiLockSecrets.Sensitive = true; mmiUnlockSecrets.Sensitive = false; mmiDestroySecrets.Sensitive = true; - notebookStores.Sensitive = true; - mmiNew.Sensitive = true; mmiRefresh.Sensitive = true; mmiDebug.Sensitive = true; mmiOptions.Sensitive = true; mmiEdit.Sensitive = true; - m_bGuiLocked = false; - - //refresh secrets - RefreshStores(); + //refresh secrets + RefreshStores(); } + + public void OnDestroyMiCASASecrets(object sender, EventArgs args) + { + Logger.DbgLog("GUI:CasaMain.OnDestroyMiCASASecrets() - START"); + CommonGUI temp = new CommonGUI(); + temp.menuDestroyMiCasa_Activated(this, mCasaTray); + Logger.DbgLog("GUI:CasaMain.OnDestroyMiCASASecrets() - END"); + } + - ///####################################################################### - /// VIEW KEY-VALUES - - /// - /// VIEW Key-Values - /// + /// + /// ******************************************************************** + /// public void LinkKeyValue(object obj, EventArgs args) + /// + /// MAIN-MENU: VIEW + /// View the key-value pairs of the selected secret. Calls store + /// specific handlers. + /// ******************************************************************** + /// public void ViewKeyValue(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.ViewKeyValue() - BEGIN"); @@ -1047,7 +1103,6 @@ namespace Novell.CASA.GUI break; case Common.STORE_MOZILLA: - //objMozilla.ViewKeyValues(); break; case Common.STORE_KDEWALLET: @@ -1064,12 +1119,14 @@ namespace Novell.CASA.GUI - ///####################################################################### - /// LINK KEY-VALUE - - /// - /// LINK Key-Values - /// + /// + /// ******************************************************************** + /// public void LinkKeyValue(object obj, EventArgs args) + /// + /// MAIN-MENU: LINK + /// Link selected miCASA key-value pairs. + /// ******************************************************************** + /// public void LinkKeyValue(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.LinkKeyValue() - BEGIN"); @@ -1098,30 +1155,28 @@ namespace Novell.CASA.GUI - ///####################################################################### - /// COPY KEY-VALUE - - /// - /// COPY Key-Values - /// + /// + /// ******************************************************************** + /// public void CopyKeyValue(object obj, EventArgs args) + /// + /// MAIN-MENU: COPY + /// Not at impletemented. + /// ******************************************************************** + /// public void CopyKeyValue(object obj, EventArgs args) - { - Logger.DbgLog("GUI:CasaMain.CopyKeyValue() - BEGIN"); - - //Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogCopyKeyValue", null); - //gxmlTemp.Autoconnect (this); - - Logger.DbgLog("GUI:CasaMain.CopyKeyValue() - END"); + { } - ///####################################################################### - /// DELETE SECRET - - /// - /// DELETE Secret - /// + /// + /// ******************************************************************** + /// public void DeleteSecret(object obj, EventArgs args) + /// + /// MAIN-MENU: DELETE SECRET + /// Call store specific delete-secret handler. + /// ******************************************************************** + /// public void DeleteSecret(object obj, EventArgs args) { Logger.DbgLog("GUI:CasaMain.DeleteSecret() - BEGIN"); @@ -1149,13 +1204,51 @@ namespace Novell.CASA.GUI Logger.DbgLog("GUI:CasaMain.DeleteSecret() - END"); } - - - ///####################################################################### - /// Reset Master Password CALLED VIA MAIN MENU - - /// - /// + + + + /// + /// ******************************************************************** + /// KONQUERER, KOPETE + /// NETWORK-MANAGER, GAIM + /// + /// APPLICATION SSO + /// Call respective application sso handlers. + /// ******************************************************************** + /// + public void on_konquerer_activate(object obj, EventArgs args) + { + if(null != objKdeWallet) + objKdeWallet.SSOKonquerer(obj, args); + } + + public void on_kopete_activate(object obj, EventArgs args) + { + if(null != objKdeWallet) + objKdeWallet.SSOKopete(obj, args); + } + + public void on_networkmanager_activate(object obj, EventArgs args) + { + if(null != objGnomeKeyring) + objGnomeKeyring.SSONetworkManager(obj, args); + } + + public void on_gaim_activate(object obj, EventArgs args) + { + if(null != objGnomeKeyring) + objGnomeKeyring.SSOGaim(obj, args); + } + + + + /// + /// ******************************************************************** + /// public void ResetMasterPassword(object obj, EventArgs args) + /// + /// CHANGE MASTER PASSWORD + /// Change the previously set Master Password. + /// ******************************************************************** /// public void ResetMasterPassword(object obj, EventArgs args) { @@ -1166,7 +1259,8 @@ namespace Novell.CASA.GUI dialogResetMP.TransientFor = windowMain; entryOldMP.Text=""; entryNewMP1.Text=""; - entryNewMP2.Text=""; + entryNewMP2.Text=""; + Logger.DbgLog("GUI:CasaMain.ResetMasterPassword() - END"); } @@ -1217,11 +1311,6 @@ namespace Novell.CASA.GUI dialogResetMP.Destroy(); } - public void on_helpbuttonResetMP_clicked(object obj, EventArgs args) - { - Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm"); - } - private void DisplayError(String sErrorMessage) { MessageDialog md = new MessageDialog(windowMain, @@ -1235,14 +1324,20 @@ namespace Novell.CASA.GUI md.Show(); } - + + public void on_helpbuttonResetMP_clicked(object obj, EventArgs args) + { + Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm"); + } - ///####################################################################### - /// PERSISTENT STORAGE CALLED VIA MAIN MENU - - /// - /// + /// + /// ******************************************************************** + /// public void PersistentStorage(object obj, EventArgs args) + /// + /// PERSISTENT STORAGE + /// As of now, We are not using this routine. + /// ******************************************************************** /// public void PersistentStorage(object obj, EventArgs args) { @@ -1268,7 +1363,7 @@ namespace Novell.CASA.GUI { Logger.DbgLog("GUI:CasaMain.okbuttonPersistentStorage_clicked() - BEGIN"); - if((entryMasterPassword1.Text != "" && entryMasterPassword2.Text != "") && (entryMasterPassword1.Text == entryMasterPassword2.Text)) + if(("" != entryMasterPassword1.Text && "" != entryMasterPassword2.Text) && (entryMasterPassword1.Text == entryMasterPassword2.Text)) { //StorePolicyInterface.SetMasterPassword(entryMasterPassword1.Text); miCASA.SetMasterPassword(0, entryMasterPassword1.Text); @@ -1285,11 +1380,14 @@ namespace Novell.CASA.GUI - ///####################################################################### + /// + /// ******************************************************************** + /// public void Preferences(object obj, EventArgs args) + /// /// PREFERENCES - - /// - /// + /// Handle Preferences dialog to set the store aggregation policy. + /// (Main Menu: Options > Preferences). + /// ******************************************************************** /// public void Preferences(object obj, EventArgs args) { @@ -1299,14 +1397,13 @@ namespace Novell.CASA.GUI gxmlTemp.Autoconnect (this); dialogPreferences.SetPosition(Gtk.WindowPosition.CenterOnParent); dialogPreferences.TransientFor = windowMain; - checkbuttonFirefox.Active=Common.IS_FIREFOX; - checkbuttonMozilla.Active=Common.IS_MOZILLA; - checkbuttonGnomeKeyring.Active=Common.IS_GNOMEKEYRING; - checkbuttonKdeWallet.Active=Common.IS_KDEWALLET; - - checkbuttonFirefox.Sensitive=Common.IS_FIREFOX_AVAILABLE; - checkbuttonKdeWallet.Sensitive=Common.IS_KDEWALLET_AVAILABLE; - checkbuttonGnomeKeyring.Sensitive=Common.IS_GNOMEKEYRING_AVAILABLE; + checkbuttonFirefox.Active = Common.IS_FIREFOX; + checkbuttonMozilla.Active = Common.IS_MOZILLA; + checkbuttonGnomeKeyring.Active = Common.IS_GNOMEKEYRING; + checkbuttonKdeWallet.Active = Common.IS_KDEWALLET; + checkbuttonFirefox.Sensitive = Common.IS_FIREFOX_AVAILABLE; + checkbuttonKdeWallet.Sensitive = Common.IS_KDEWALLET_AVAILABLE; + checkbuttonGnomeKeyring.Sensitive = Common.IS_GNOMEKEYRING_AVAILABLE; if (Common.IS_WINDOWS) { @@ -1323,51 +1420,77 @@ namespace Novell.CASA.GUI string[] storeID = new string[]{""}; - notebookStores.GetNthPage(Common.STORE_FIREFOX).Visible = Common.IS_FIREFOX = checkbuttonFirefox.Active; - notebookStores.GetNthPage(Common.STORE_MOZILLA).Visible = Common.IS_MOZILLA = checkbuttonMozilla.Active; - notebookStores.GetNthPage(Common.STORE_GNOMEKEYRING).Visible = Common.IS_GNOMEKEYRING = checkbuttonGnomeKeyring.Active; - notebookStores.GetNthPage(Common.STORE_KDEWALLET).Visible = Common.IS_KDEWALLET = checkbuttonKdeWallet.Active; - - StorePolicyInterface.SetAggregationPolicy(Common.STORE_FIREFOX, Common.IS_FIREFOX, storeID, 1); - StorePolicyInterface.SetAggregationPolicy(Common.STORE_MOZILLA, Common.IS_MOZILLA, storeID, 1); - StorePolicyInterface.SetAggregationPolicy(Common.STORE_KDEWALLET, Common.IS_KDEWALLET, storeID, 1); - StorePolicyInterface.SetAggregationPolicy(Common.STORE_GNOMEKEYRING, Common.IS_GNOMEKEYRING, storeID, 1); - - StorePolicyInterface.SaveAggregationPolicy(); - - + Common.IS_FIREFOX = checkbuttonFirefox.Active; + Common.IS_MOZILLA = checkbuttonMozilla.Active; + Common.IS_GNOMEKEYRING = checkbuttonGnomeKeyring.Active; + Common.IS_KDEWALLET = checkbuttonKdeWallet.Active; + dialogPreferences.Destroy(); + + /// FIREFOX if(Common.IS_FIREFOX) { if( null == objFirefox ) - objFirefox = new Firefox(); - + objFirefox = new Firefox(); objFirefox.AggregateStore(); + notebookStores.GetNthPage(Common.STORE_FIREFOX).Visible = true; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_FIREFOX, true, storeID, 1); } + else + { + objFirefox = null; + notebookStores.GetNthPage(Common.STORE_FIREFOX).Visible = false; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_FIREFOX, false, storeID, 1); + } + + /// MOZILLA if(Common.IS_MOZILLA) { if( null == objMozilla ) - objMozilla = new Mozilla(); - + objMozilla = new Mozilla(); objMozilla.AggregateStore(); + notebookStores.GetNthPage(Common.STORE_MOZILLA).Visible = true; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_MOZILLA, true, storeID, 1); } + else + { + objMozilla = null; + notebookStores.GetNthPage(Common.STORE_MOZILLA).Visible = false; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_MOZILLA, false, storeID, 1); + } + + /// KDEWALLET if(Common.IS_KDEWALLET) { if( null == objKdeWallet ) - objKdeWallet = new KdeWallet(); - + objKdeWallet = new KdeWallet(); objKdeWallet.AggregateStore(); + notebookStores.GetNthPage(Common.STORE_KDEWALLET).Visible = true; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_KDEWALLET, true, storeID, 1); } + else + { + objKdeWallet = null; + notebookStores.GetNthPage(Common.STORE_KDEWALLET).Visible = false; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_KDEWALLET, false, storeID, 1); + } + + /// GNOMEKEYRING if(Common.IS_GNOMEKEYRING) { if( null == objGnomeKeyring ) - objGnomeKeyring = new GnomeKeyring(); - + objGnomeKeyring = new GnomeKeyring(); objGnomeKeyring.AggregateStore(); + notebookStores.GetNthPage(Common.STORE_GNOMEKEYRING).Visible = true; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_GNOMEKEYRING, true, storeID, 1); } - - - dialogPreferences.Destroy(); - + else + { + objGnomeKeyring = null; + notebookStores.GetNthPage(Common.STORE_GNOMEKEYRING).Visible = false; + StorePolicyInterface.SetAggregationPolicy(Common.STORE_GNOMEKEYRING, false, storeID, 1); + } + StorePolicyInterface.SaveAggregationPolicy(); + Logger.DbgLog("GUI:CasaMain.okbuttonPreferences_clicked() - END"); } @@ -1376,13 +1499,14 @@ namespace Novell.CASA.GUI dialogPreferences.Destroy(); } - public void on_helpbuttonPreferences_clicked(object obj, EventArgs args) { Common.ShowHelpUrl("Preferences.htm"); } + + /* private bool IsTraySetForStartup() { @@ -1405,7 +1529,6 @@ namespace Novell.CASA.GUI } */ - private static void md_ResponseCloseWindow(object o, ResponseArgs args) { MessageDialog md = (MessageDialog)o; @@ -1415,15 +1538,14 @@ namespace Novell.CASA.GUI Application.Quit(); } } - - + internal void PromptUserForStartup() { // prompt user MessageDialog md=new MessageDialog(null,Gtk.DialogFlags.Modal, - Gtk.MessageType.Question, - Gtk.ButtonsType.YesNo, - "Show the Tray Icon at startup?"); + Gtk.MessageType.Question, + Gtk.ButtonsType.YesNo, + "Show the Tray Icon at startup?"); md.SetPosition(Gtk.WindowPosition.Center); md.Response +=new ResponseHandler(md_Response); @@ -1436,16 +1558,15 @@ namespace Novell.CASA.GUI { if (args.ResponseId.Equals(Gtk.ResponseType.Yes)) { - #if W32 // get our program path String sPath = "\"" +Environment.GetEnvironmentVariable("ProgramFiles")+ - "\\Novell\\CASA\\bin\\CASAManager.exe\" -tray"; + "\\Novell\\CASA\\bin\\CASAManager.exe\" -tray"; CommonGUI.WriteRegKey(Registry.CurrentUser, - "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", - "CASA Tray", - sPath); + "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", + "CASA Tray", + sPath); #endif // TODO: Set startup script for the user @@ -1458,11 +1579,16 @@ namespace Novell.CASA.GUI } } - ///####################################################################### - /// DEBUG - /// - /// + + /// + /// ******************************************************************** + /// public void on_create_sample_secrets1_activate(object obj, EventArgs arg) + /// public void on_remove_test_secrets1_activate(object obj, EventArgs args) + /// + /// DEBUG LOGGING + /// Create and delete miCASA test secrets. + /// ******************************************************************** /// public void on_create_sample_secrets1_activate(object obj, EventArgs arg) { @@ -1478,11 +1604,15 @@ namespace Novell.CASA.GUI objMiCasa.AggregateStore(); } - ///####################################################################### - /// ABOUT - /// - /// + + /// + /// ******************************************************************** + /// public void About(object obj, EventArgs args) + /// + /// ABOUT + /// Display the About dialog box. + /// ******************************************************************** /// public void About(object obj, EventArgs args) { @@ -1499,87 +1629,41 @@ namespace Novell.CASA.GUI dialogAbout.Destroy(); } - public void on_buttonNovell_clicked(object obj, EventArgs args) { Common.ShowUrl("http://www.novell.com"); } - ///####################################################################### - /// SINGLE INSTANCE DIALOG CLOSE HANDLER - - /// - /// dislogSingleInstance delete window handler + + + /// + /// ******************************************************************** + /// + /// + /// SINGLE INSTANCE OF CASAMANAGER + /// Check for single instance of CASAManager.exe. + /// ******************************************************************** /// public void on_dialogSingleInstance_delete_event(object obj, DeleteEventArgs args) { dialogSingleInstance.Destroy(); - HandleQuit(); - //Application.Quit(); + HandleQuit(); } public void on_buttonSIClose_clicked(object obj, EventArgs args) { dialogSingleInstance.Destroy(); - HandleQuit(); - //Application.Quit(); + HandleQuit(); } - ///####################################################################### - /// WINDOW MAIN CLOSE HANDLER - - /// - /// MainWindow delete window handler - /// - public void OnWindowMainDeleted(object obj, DeleteEventArgs args) - { - Logger.DbgLog("GUI:CasaMain.OnWindowMainDeleted() - BEGIN"); - - //windowMain.Destroy(); - HandleQuit(); - - //Gtk.Application.Quit (); - args.RetVal = true; - - Logger.DbgLog("GUI:CasaMain.OnWindowMainDeleted() - END"); - } - private void HandleQuit() - { - if (mCasaTray != null) - { - if (m_bNotifyUser) - { - // StillRunning(null, null); - // prompt user - - MessageDialog md=new MessageDialog(null,Gtk.DialogFlags.Modal, - Gtk.MessageType.Info, - Gtk.ButtonsType.Close, - "CASA Manager will continue to run in the task bar"); - - md.SetPosition(Gtk.WindowPosition.Center); - md.Response +=new ResponseHandler(md_Response); - md.Modal = true; - md.SetIconFromFile(Common.CASAICONS); - md.Show(); - - m_bNotifyUser = false; - - } - - mCasaTray.CasaManagerQuit(); - return; - } - else - Application.Quit(); - } - - ///####################################################################### - /// StillRunning - - /// - /// + /// + /// ******************************************************************** + /// public void StillRunning(object obj, EventArgs args) + /// + /// GO TO TRAY + /// Inform that CASAManager will continue to run in the tray. + /// ******************************************************************** /// public void StillRunning(object obj, EventArgs args) { @@ -1601,10 +1685,68 @@ namespace Novell.CASA.GUI dialogStillRunning.Destroy(); } + + /// + /// ******************************************************************** + /// public void on_view_log_file1_activate(object obj, EventArgs args) + /// + /// LOGGING + /// Logging window operations. + /// ******************************************************************** + /// + public void on_view_log_file1_activate(object obj, EventArgs args) + { + } - ///####################################################################### - /// WINDOW MAIN FOCUS - /// + public void on_enable_logging1_activate(object obj, EventArgs args) + { + Gtk.CheckMenuItem miLog = (Gtk.CheckMenuItem)obj; + if (miLog.Active) + OpenLogWindow(); + else + CloseLogWindow(); + } + + internal void OpenLogWindow() + { + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLog", null); + gxmlTemp.Autoconnect (this); + + Gtk.TreeViewColumn col1 = new Gtk.TreeViewColumn("", new Gtk.CellRendererText(), "text", 0); + tvLog.AppendColumn(col1); + Logger.ActivateLogWindow(tvLog); + } + + internal void CloseLogWindow() + { + Logger.StopLogWindow(); + dialogLogin.Dispose(); + dialogLogin.Destroy(); + } + + + /// + /// ******************************************************************** + /// public void OnMenuHelpActivate(object sender, EventArgs args) + /// + /// HELP + /// Opens help contents for CASAManager. + /// ******************************************************************** + /// + public void OnMenuHelpActivate(object sender, EventArgs args) + { + Common.ShowHelpUrl("Contents.htm"); + } + + + /// + /// ******************************************************************** + /// internal void Focus() + /// + /// MAIN WINDOW FOCUS + /// Handling Hocus-Focus of Main window. + /// ******************************************************************** + /// internal void Focus() { if (windowMain != null) @@ -1633,73 +1775,65 @@ namespace Novell.CASA.GUI if (windowMain != null) windowMain.Destroy(); } - - internal void RefreshStores() - { - if( Common.IS_MICASA ) - objMiCasa.AggregateStore(); - - if( Common.IS_FIREFOX ) - objFirefox.AggregateStore(); - if( Common.IS_MOZILLA ) - objMozilla.AggregateStore(); - if( Common.IS_KDEWALLET ) - objKdeWallet.AggregateStore(); - - if( Common.IS_GNOMEKEYRING ) - objGnomeKeyring.AggregateStore(); - - } - - ///####################################################################### - /// LOGGING WINDOW operations - /// - - public void on_view_log_file1_activate(object obj, EventArgs args) + /// + /// ******************************************************************** + /// private void HandleQuit() + /// + /// QUIT CASAMANAGER + /// Quit CASAManager.exe, also handle the closing the trayicon. + /// ******************************************************************** + /// + private void HandleQuit() { + if (mCasaTray != null) + { + if (m_bNotifyUser) + { + // StillRunning(null, null); + // prompt user + MessageDialog md=new MessageDialog(null,Gtk.DialogFlags.Modal, + Gtk.MessageType.Info, + Gtk.ButtonsType.Close, + "CASA Manager will continue to run in the task bar."); - } - - public void on_enable_logging1_activate(object obj, EventArgs args) - { - Gtk.CheckMenuItem miLog = (Gtk.CheckMenuItem)obj; - if (miLog.Active) - OpenLogWindow(); + md.SetPosition(Gtk.WindowPosition.Center); + md.Response +=new ResponseHandler(md_Response); + md.Modal = true; + md.SetIconFromFile(Common.CASAICONS); + md.Show(); + m_bNotifyUser = false; + } + mCasaTray.CasaManagerQuit(); + return; + } else - CloseLogWindow(); + Application.Quit(); } - - internal void OpenLogWindow() + + public void QuitApplication(object obj, EventArgs args) { - Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLog", null); - gxmlTemp.Autoconnect (this); - - Gtk.TreeViewColumn col1 = new Gtk.TreeViewColumn("", new Gtk.CellRendererText(), "text", 0); - tvLog.AppendColumn(col1); - Logger.ActivateLogWindow(tvLog); - } - - internal void CloseLogWindow() - { - Logger.StopLogWindow(); - dialogLogin.Dispose(); - dialogLogin.Destroy(); + Logger.DbgLog("GUI:CasaMain.QuitApplication() - BEGIN"); + + HandleQuit(); + + Logger.DbgLog("GUI:CasaMain.QuitApplication() - END"); } - - - ///########################################################################### - /// Help Handlers - ///########################################################################### - public void OnMenuHelpActivate(object sender, EventArgs args) + + public void OnWindowMainDeleted(object obj, DeleteEventArgs args) { - Common.ShowHelpUrl("Contents.htm"); - } - + Logger.DbgLog("GUI:CasaMain.OnWindowMainDeleted() - BEGIN"); + + HandleQuit(); + args.RetVal = true; + + Logger.DbgLog("GUI:CasaMain.OnWindowMainDeleted() - END"); + } + } - } -///########################################################################### -/// END OF FILE -///########################################################################### + +/// ******************************************************************** +/// END OF FILE +/// ******************************************************************** diff --git a/c_gui/Common.cs b/c_gui/Common.cs index 241b8508..d6c54e06 100644 --- a/c_gui/Common.cs +++ b/c_gui/Common.cs @@ -35,11 +35,11 @@ using Glade; public class Common { - public const int STORE_MICASA = 0, - STORE_FIREFOX = 1, - STORE_MOZILLA = 2, - STORE_KDEWALLET = 3, - STORE_GNOMEKEYRING = 4; + public const int STORE_MICASA = 0, + STORE_FIREFOX = 1, + STORE_MOZILLA = 2, + STORE_KDEWALLET = 3, + STORE_GNOMEKEYRING = 4; public static bool IS_MICASA_AVAILABLE = true, IS_FIREFOX_AVAILABLE = false, @@ -66,10 +66,10 @@ public class Common public static int MAX_STORES = 10; - public static string STORENAME_MICASA = "miCASA", + public static string STORENAME_MICASA = "miCASA", STORENAME_FIREFOX = "Firefox", STORENAME_MOZILLA = "Mozilla", - STORENAME_KDEWALLET = "KDE KWallet", + STORENAME_KDEWALLET = "KDE Wallet", STORENAME_GNOMEKEYRING = "GNOME Keyring"; @@ -90,8 +90,8 @@ public class Common public static string NATIVEINFO_FOLDERNAME = "Folder Name"; public static string NATIVEINFO_TYPEID = "Type of Secret"; - public static string NATIVEINFO_SYNC = "Syncronization Status"; - public static string NATIVEINFO_SYNCTYPE = "Syncronization Type"; + public static string NATIVEINFO_SYNC = "Syncronization Status"; + public static string NATIVEINFO_SYNCTYPE = "Syncronization Type"; public static string NATIVEINFO_MODIFIEDTIME = "Last Modified Time"; public static int INDEX_NATIVEINFO_FOLDERNAME = 0, @@ -173,7 +173,7 @@ public class Common if ( (128 == platform) || (4 == platform) ) { IS_LINUX = true; - GladeFile = "/usr/share/doc/packages/CASA/images/casa.glade"; + GladeFile = "/usr/share/doc/packages/CASA/images/casa.glade"; if( !File.Exists(GladeFile) ) { diff --git a/c_gui/CommonGUI.cs b/c_gui/CommonGUI.cs index 5dd15bca..d7d97b92 100644 --- a/c_gui/CommonGUI.cs +++ b/c_gui/CommonGUI.cs @@ -20,52 +20,50 @@ * ***********************************************************************/ -using System; +using System; using Gtk; -using Glade; - +using Glade; + using Novell.CASA; using Novell.CASA.MiCasa.Common; -using Novell.CASA.MiCasa.Communication; - -#if W32 -using Microsoft.Win32; -#endif -namespace Novell.CASA.GUI -{ - /// - /// Summary description for CommonGUI. - /// - public class CommonGUI - { +using Novell.CASA.MiCasa.Communication; + +#if W32 +using Microsoft.Win32; +#endif +namespace Novell.CASA.GUI +{ + /// + /// Summary description for CommonGUI. + /// + public class CommonGUI + { [Glade.Widget] Gtk.Label label86, label88; [Glade.Widget] - Gtk.Entry entryMasterPassword1, - entryMasterPassword2, - entryMasterPassword3, + Gtk.Entry entryMasterPassword3, entryMasterPassword4; [Glade.Widget] - Gtk.Dialog dialogLogin; - - Gtk.Window mainWindow = new Window("Test"); - - private CasaMain mCasaInstance = null; - private CasaTray mTrayInstance = null; - - public CommonGUI() - { - // - // TODO: Add constructor logic here - // - } - - /// - /// HandleUnlock dialog + Gtk.Dialog dialogLogin; + + Gtk.Window mainWindow = new Window("Test"); + + private CasaMain mCasaInstance = null; + private CasaTray mTrayInstance = null; + + public CommonGUI() + { + // + // TODO: Add constructor logic here + // + } + + /// + /// HandleUnlock dialog /// public void HandleUnlock(CasaMain managerInstance, CasaTray trayInstance) { @@ -79,8 +77,9 @@ namespace Novell.CASA.GUI Glade.XML gxmlTemp = new Glade.XML ("../images/casa.glade", "dialogLogin", null); #endif #if LINUX - Glade.XML gxmlTemp = new Glade.XML ("/usr/share/doc/packages/CASA/images/casa.glade", "dialogLogin", null); + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLogin", null); #endif + gxmlTemp.Autoconnect (this); //dialogLogin.TransientFor = windowMain; @@ -191,84 +190,84 @@ namespace Novell.CASA.GUI public void on_entryMasterPassword4_activate(object obj, EventArgs args) { okbuttonLogin_clicked(obj, args); - } - - private void dialogLogin_Destroyed(object sender, EventArgs e) - { - bool bStoreLocked = MiCASAStore.IsLocked(); - if (mCasaInstance != null) - { - if (bStoreLocked) - mCasaInstance.LockGUI(); - else - mCasaInstance.UnlockGUI(); - } - - if (mTrayInstance != null) - { - if (bStoreLocked) - mTrayInstance.UpdateTrayIcon(true); - else - mTrayInstance.UpdateTrayIcon(false); - } - } -#if W32 - internal static string ReadRegKey(RegistryKey rk, string sSubKey, string KeyName) - { - // Opening the registry key - // RegistryKey rk = Registry.Users; - // Open a subKey as read-only - RegistryKey sk1 = rk.OpenSubKey(sSubKey); - // If the RegistrySubKey doesn't exist -> (null) - if ( sk1 == null ) - { - return null; - } - else - { - try - { - // If the RegistryKey exists I get its value - // or null is returned. - return (string)sk1.GetValue(KeyName.ToUpper()); - } - catch (Exception e) - { - //ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper()); - return null; - } - } - } - - internal static void WriteRegKey(RegistryKey rk, string sSubKey, string KeyName, string sKeyValue) - { - RegistryKey sk1 = rk.OpenSubKey(sSubKey, true); - // If the RegistrySubKey doesn't exist -> (null) - if ( sk1 == null ) - { - //return null; - } - else - { - try - { - // If the RegistryKey exists I get its value - // or null is returned. - sk1.SetValue(KeyName, sKeyValue); - sk1.Close(); - } - catch (Exception e) - { - sk1.Close(); - //ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper()); - Console.Write(e.ToString()); - //return null; - } - } - - - } - -#endif - } -} + } + + private void dialogLogin_Destroyed(object sender, EventArgs e) + { + bool bStoreLocked = MiCASAStore.IsLocked(); + if (mCasaInstance != null) + { + if (bStoreLocked) + mCasaInstance.LockGUI(); + else + mCasaInstance.UnlockGUI(); + } + + if (mTrayInstance != null) + { + if (bStoreLocked) + mTrayInstance.UpdateTrayIcon(true); + else + mTrayInstance.UpdateTrayIcon(false); + } + } +#if W32 + internal static string ReadRegKey(RegistryKey rk, string sSubKey, string KeyName) + { + // Opening the registry key + // RegistryKey rk = Registry.Users; + // Open a subKey as read-only + RegistryKey sk1 = rk.OpenSubKey(sSubKey); + // If the RegistrySubKey doesn't exist -> (null) + if ( sk1 == null ) + { + return null; + } + else + { + try + { + // If the RegistryKey exists I get its value + // or null is returned. + return (string)sk1.GetValue(KeyName.ToUpper()); + } + catch (Exception e) + { + //ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper()); + return null; + } + } + } + + internal static void WriteRegKey(RegistryKey rk, string sSubKey, string KeyName, string sKeyValue) + { + RegistryKey sk1 = rk.OpenSubKey(sSubKey, true); + // If the RegistrySubKey doesn't exist -> (null) + if ( sk1 == null ) + { + //return null; + } + else + { + try + { + // If the RegistryKey exists I get its value + // or null is returned. + sk1.SetValue(KeyName, sKeyValue); + sk1.Close(); + } + catch (Exception e) + { + sk1.Close(); + //ShowErrorMessage(e, "Reading registry " + KeyName.ToUpper()); + Console.Write(e.ToString()); + //return null; + } + } + + + } + +#endif + } +} diff --git a/c_gui/Firefox.cs b/c_gui/Firefox.cs index a7525c3e..bf87b1a3 100644 --- a/c_gui/Firefox.cs +++ b/c_gui/Firefox.cs @@ -38,9 +38,7 @@ public class Firefox : Store tsKeyValue; CellRendererText cellEditable; - - ArrayList arrDeletedKeys = null; - + public bool IS_STORE_AGGREGATED = false; #region Glade Widgets @@ -57,7 +55,6 @@ public class Firefox : Store [Glade.Widget] Gtk.Dialog dialogNewSecret, dialogManageSecret, - dialogConfirmDelete, dialogLogin; [Glade.Widget] @@ -68,8 +65,7 @@ public class Firefox : Store entryKey, entryValue, entryMasterPassword3, - entryMasterPassword4, - entryDeleteSecretID; + entryMasterPassword4; [Glade.Widget] Gtk.CheckButton cbuttonShowPassword; @@ -102,7 +98,7 @@ public class Firefox : Store Logger.DbgLog("GUI:Firefox.Firefox() - BEGIN"); /// SecretID TreeStore - tvSecretIDFirefox = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvSecretIDFirefox"); + tvSecretIDFirefox = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvSecretIDFirefox"); tsSecretIDFirefox = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[])); tvSecretIDFirefox.AppendColumn("Secret ID",new CellRendererText(),"text",0); tvSecretIDFirefox.Model = tsSecretIDFirefox; @@ -110,7 +106,7 @@ public class Firefox : Store tvSecretIDFirefox.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnRightClicked); tvSecretIDFirefox.CursorChanged += new EventHandler(OnCursorChanged); /// NativeInfo TreeStore - tvNativeInfoFirefox = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvNativeInfoFirefox"); + tvNativeInfoFirefox = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvNativeInfoFirefox"); tsNativeInfoFirefox = new TreeStore(typeof(string), typeof(string)); tvNativeInfoFirefox.AppendColumn("NativeKey",new CellRendererText(),"text",0); tvNativeInfoFirefox.AppendColumn("NativeValue",new CellRendererText(),"text",1); @@ -131,7 +127,7 @@ public class Firefox : Store try { - tsSecretIDFirefox.Clear(); + tsSecretIDFirefox.Clear(); tsNativeInfoFirefox.Clear(); StoreDataInterface.AggregateStore(Common.STORE_FIREFOX); StoreDataInterface.ReadStore(Common.STORE_FIREFOX,ref tsSecretIDFirefox); @@ -235,7 +231,7 @@ public class Firefox : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogManageSecret", null); gxmlTemp.Autoconnect (this); - dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogManageSecret.Title = "Firefox - Manage Secret"; cellEditable = new CellRendererText(); @@ -253,7 +249,7 @@ public class Firefox : Store { if( (null != keys[i]) && (null != values[i]) ) tsKeyValue.AppendValues(keys[i], values[i], "********", false, "No"); - //Console.WriteLine("Keys="+keys[i]+" , "+"Values="+values[i]); + Console.WriteLine("Keys="+keys[i]+" , "+"Values="+values[i]); } tvKeyValue.Model = tsKeyValue; //entryKey.HasFocus = true; @@ -283,7 +279,7 @@ public class Firefox : Store } /// - /// MANAGE SECRET-ID DIALOG OK-BUTTON CLICKED + /// MANAGE SECRET ID DIALOG OK-BUTTON CLICKED /// public void on_buttonManageOk_clicked(object obj, EventArgs args) { @@ -292,7 +288,7 @@ public class Firefox : Store } /// - /// MANAGE SECRET-ID DIALOG CANCEL-BUTTON CLICKED + /// MANAGE SECRET ID DIALOG CANCEL-BUTTON CLICKED /// public void on_buttonManageCancel_clicked(object obj, EventArgs args) { @@ -404,18 +400,9 @@ public class Firefox : Store } } - private void md_Response(object o, ResponseArgs args) - { - MessageDialog md = (MessageDialog)o; - if (md != null) - { - md.Destroy(); - } - } - /// - /// SECRET-ID DOUBLE CLICKED + /// SECRET ID DOUBLE CLICKED /// private void OntvSecretIDFirefoxRowActivated( object obj, RowActivatedArgs args ) { diff --git a/c_gui/GnomeKeyring.cs b/c_gui/GnomeKeyring.cs index ea1fdd2b..612ec0aa 100644 --- a/c_gui/GnomeKeyring.cs +++ b/c_gui/GnomeKeyring.cs @@ -26,8 +26,8 @@ namespace Novell.CASA.GUI { using System; using System.Collections; using System.Collections.Specialized; -using Gtk; using Glade; +using Gtk; using Novell.CASA.MiCasa.Common; using Novell.CASA.MiCasa.Communication; @@ -45,6 +45,10 @@ public class GnomeKeyring : Store public bool IS_STORE_AGGREGATED = false; + string[] stringNetworkManagerServerType = new string[]{ "SSH", + "FTP (with login)", + "Windows share" }; + #region Glade Widgets [Glade.Widget] @@ -58,9 +62,11 @@ public class GnomeKeyring : Store [Glade.Widget] Gtk.Dialog dialogNewSecret, - dialogManageSecret, - dialogConfirmDelete, - dialogLogin; + dialogManageSecret, + dialogConfirmDelete, + dialogLogin, + dialogNetworkManager, + dialogGaim; [Glade.Widget] Gtk.Menu menuRightClick; @@ -71,29 +77,37 @@ public class GnomeKeyring : Store entryValue, entryMasterPassword3, entryMasterPassword4, - entryDeleteSecretID; + entryDeleteSecretID, + entryNetworkManagerCName, + entryNetworkManagerServer, + entryNetworkManagerUsername, + entryNetworkManagerPassword, + entryNetworkManagerFolder, + entryNetworkManagerPort, + entryNetworkManagerShare, + entryNetworkManagerDomain; [Glade.Widget] Gtk.CheckButton cbuttonShowPassword; [Glade.Widget] Gtk.Label label86, - label88; - - [Glade.Widget] - Gtk.Button buttonNewAdd, - buttonNewRemove; - + label88, + labelNetworkManagerPort, + labelNetworkManagerShare, + labelNetworkManagerDomain; + [Glade.Widget] - Gtk.MenuItem cmiNewSecret, - cmiNewKey, + Gtk.MenuItem cmiNewKey, cmiDelete, cmiView, cmiLink, cmiCopy; - + + [Glade.Widget] + Combo comboNetworkManager; #endregion - + ///####################################################################### @@ -107,15 +121,15 @@ public class GnomeKeyring : Store Logger.DbgLog("GUI:GnomeKeyring.GnomeKeyring() - BEGIN"); /// SecretID TreeStore - tvSecretIDGnomeKeyring = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvSecretIDGnomeKeyring"); + tvSecretIDGnomeKeyring = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvSecretIDGnomeKeyring"); tsSecretIDGnomeKeyring = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[])); - tvSecretIDGnomeKeyring.AppendColumn("Secret-ID",new CellRendererText(),"text",0); + tvSecretIDGnomeKeyring.AppendColumn("Secret ID",new CellRendererText(),"text",0); tvSecretIDGnomeKeyring.Model = tsSecretIDGnomeKeyring; tvSecretIDGnomeKeyring.RowActivated += new RowActivatedHandler(OntvSecretIDGnomeKeyringRowActivated); tvSecretIDGnomeKeyring.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnRightClicked); tvSecretIDGnomeKeyring.CursorChanged += new EventHandler(OnCursorChanged); /// NativeInfo TreeStore - tvNativeInfoGnomeKeyring = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvNativeInfoGnomeKeyring"); + tvNativeInfoGnomeKeyring = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvNativeInfoGnomeKeyring"); tsNativeInfoGnomeKeyring = new TreeStore(typeof(string), typeof(string)); tvNativeInfoGnomeKeyring.AppendColumn("NativeKey",new CellRendererText(),"text",0); tvNativeInfoGnomeKeyring.AppendColumn("NativeValue",new CellRendererText(),"text",1); @@ -255,7 +269,7 @@ public class GnomeKeyring : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogManageSecret", null); gxmlTemp.Autoconnect (this); - dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogManageSecret.Title = "GNOME Keyring - Manage Secret"; cellEditable = new CellRendererText(); @@ -642,7 +656,7 @@ public class GnomeKeyring : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogNewSecret", null); gxmlTemp.Autoconnect (this); - dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogNewSecret.Title = "GNOME Keyring - New Secret"; cellEditable = new CellRendererText(); @@ -832,8 +846,8 @@ public class GnomeKeyring : Store { Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogConfirmDelete", null); gxmlTemp.Autoconnect (this); - dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); - dialogNewSecret.Title = "GNOME Keyring - Delete Secret"; + dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); + dialogConfirmDelete.Title = "GNOME Keyring - Delete Secret"; TreeModel model; TreeIter iter; @@ -886,16 +900,179 @@ public class GnomeKeyring : Store } - public void on_buttonhelpEditSecret_clicked(object obj, EventArgs args) - { - Common.ShowHelpUrl("EditingSecrets.html"); - } - public void on_helpbuttonAuthentication_clicked(object obj, EventArgs args) - { - Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm"); - } - + public void on_buttonhelpEditSecret_clicked(object obj, EventArgs args) + { + Common.ShowHelpUrl("EditingSecrets.html"); + } + public void on_helpbuttonAuthentication_clicked(object obj, EventArgs args) + { + Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm"); + } + ///####################################################################### + /// Application SSO + /// + /// + /// + + /// Network Manager + public void SSONetworkManager(object obj, EventArgs args) + { + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogNetworkManager", null); + gxmlTemp.Autoconnect (this); + dialogNetworkManager.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); + comboNetworkManager.PopdownStrings = stringNetworkManagerServerType; + comboNetworkManager.DisableActivate(); + //labelNetworkManagerFolder.Visible = entryNetworkManagerFolder.Visible = true; + labelNetworkManagerPort.Visible = entryNetworkManagerPort.Visible = true; + labelNetworkManagerShare.Visible = entryNetworkManagerShare.Visible = false; + labelNetworkManagerDomain.Visible = entryNetworkManagerDomain.Visible = false; + } + + public void on_okNetworkManager_clicked(object abj, EventArgs args) + { + TreeModel modelSecret; + TreeIter iterSecret; + string SecretID = null; + string[] Keys = null, + Values = null, + NativeKeys = null, + NativeValues = null; + ArrayList arrKeys = null, + arrValues = null; + + try + { + if( "" != entryNetworkManagerServer.Text && "" != entryNetworkManagerUsername.Text && "" != entryNetworkManagerPassword.Text ) + { + arrKeys = new ArrayList(); + arrValues = new ArrayList(); + + if( "SSH" == comboNetworkManager.Entry.Text ) + { + SecretID = String.Concat(entryNetworkManagerUsername.Text ,"@", entryNetworkManagerServer.Text); + arrKeys.Add("server"); arrValues.Add(entryNetworkManagerServer.Text); + arrKeys.Add("user"); arrValues.Add(entryNetworkManagerUsername.Text); + arrKeys.Add("password"); arrValues.Add(entryNetworkManagerPassword.Text); + arrKeys.Add("protocol"); arrValues.Add("sftp"); + arrKeys.Add("authtype"); arrValues.Add("password"); + } + else if( "FTP (with login)" == comboNetworkManager.Entry.Text ) + { + SecretID = String.Concat(entryNetworkManagerUsername.Text ,"@", entryNetworkManagerServer.Text); + arrKeys.Add("server"); arrValues.Add(entryNetworkManagerServer.Text); + arrKeys.Add("user"); arrValues.Add(entryNetworkManagerUsername.Text); + arrKeys.Add("password"); arrValues.Add(entryNetworkManagerPassword.Text); + arrKeys.Add("protocol"); arrValues.Add("ftp"); + arrKeys.Add("authtype"); arrValues.Add("password"); + } + else if( "Windows share" == comboNetworkManager.Entry.Text ) + { + SecretID = String.Concat(entryNetworkManagerUsername.Text ,"@", entryNetworkManagerServer.Text,"/",entryNetworkManagerShare.Text); + arrKeys.Add("server"); arrValues.Add(entryNetworkManagerServer.Text); + arrKeys.Add("user"); arrValues.Add(entryNetworkManagerUsername.Text); + arrKeys.Add("password"); arrValues.Add(entryNetworkManagerPassword.Text); + arrKeys.Add("object"); arrValues.Add(entryNetworkManagerShare.Text); + arrKeys.Add("domain"); arrValues.Add(entryNetworkManagerDomain.Text); + arrKeys.Add("protocol"); arrValues.Add("smb"); + } + + Keys = (string[])arrKeys.ToArray(typeof(string)); + Values = (string[])arrValues.ToArray(typeof(string)); + NativeKeys = new string[Common.MAX_NATIVE_ELEMENTS]; + NativeValues = new string[Common.MAX_NATIVE_ELEMENTS]; + NativeKeys[Common.INDEX_NATIVEINFO_FOLDERNAME] = Common.NATIVEINFO_FOLDERNAME; + NativeKeys[Common.INDEX_NATIVEINFO_TYPEID] = Common.NATIVEINFO_TYPEID; + NativeKeys[Common.INDEX_NATIVEINFO_SYNC] = Common.NATIVEINFO_SYNC; + NativeKeys[Common.INDEX_NATIVEINFO_SYNCTYPE] = Common.NATIVEINFO_SYNCTYPE; + NativeKeys[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = Common.NATIVEINFO_MODIFIEDTIME; + NativeValues[Common.INDEX_NATIVEINFO_FOLDERNAME] = null; + NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Network Password"; + NativeValues[Common.INDEX_NATIVEINFO_SYNC] = null; + NativeValues[Common.INDEX_NATIVEINFO_SYNCTYPE] = null; + NativeValues[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = null; + + iterSecret = tsSecretIDGnomeKeyring.AppendValues(SecretID, Keys, Values, "default", NativeKeys, NativeValues); + modelSecret = tvSecretIDGnomeKeyring.Model; + + if( Common.STATUS_SUCCESS == StoreDataInterface.UpdateStore(Common.STORE_GNOMEKEYRING, Common.OPERATION_ADD_SECRET, "", "", ref modelSecret, ref iterSecret) ) + { + AggregateStore(); + Logger.DbgLog("GUI:GnomeKeyring.on_okNetworkManager_clicked() - ADD_NEW_SECRET_SUCCEEDED."); + } + else + Logger.DbgLog("GUI:GnomeKeyring.on_okNetworkManager_clicked() - ERROR: ADD_NEW_SECRET_FAILED"); + + dialogNetworkManager.Destroy(); + } + } + catch(Exception exp) + { + Logger.DbgLog("GUI:GnomeKeyring.on_okNetworkManager_clicked() - EXCEPTION:" + exp.ToString()); + } + + } + + public void on_entryNetworkManagerServerType_changed(object obj, EventArgs args) + { + if( comboNetworkManager.Entry.Text == stringNetworkManagerServerType[0] ) + { + //labelNetworkManagerFolder.Visible = entryNetworkManagerFolder.Visible = true; + labelNetworkManagerPort.Visible = entryNetworkManagerPort.Visible = true; + labelNetworkManagerShare.Visible = entryNetworkManagerShare.Visible = false; + labelNetworkManagerDomain.Visible = entryNetworkManagerDomain.Visible = false; + entryNetworkManagerServer.HasFocus = true; + } + if( comboNetworkManager.Entry.Text == stringNetworkManagerServerType[1] ) + { + //labelNetworkManagerFolder.Visible = entryNetworkManagerFolder.Visible = true; + labelNetworkManagerPort.Visible = entryNetworkManagerPort.Visible = true; + labelNetworkManagerShare.Visible = entryNetworkManagerShare.Visible = false; + labelNetworkManagerDomain.Visible = entryNetworkManagerDomain.Visible = false; + entryNetworkManagerServer.HasFocus = true; + } + if( comboNetworkManager.Entry.Text == stringNetworkManagerServerType[2] ) + { + //labelNetworkManagerFolder.Visible = entryNetworkManagerFolder.Visible = true; + labelNetworkManagerPort.Visible = entryNetworkManagerPort.Visible = false; + labelNetworkManagerShare.Visible = entryNetworkManagerShare.Visible = true; + labelNetworkManagerDomain.Visible = entryNetworkManagerDomain.Visible = true; + entryNetworkManagerServer.HasFocus = true; + } + + } + + public void on_cancelNetworkManager_clicked(object obj, EventArgs args) + { + dialogNetworkManager.Destroy(); + } + + public void on_helpNetworkManager_clicked(object obj, EventArgs args) + { + } + + + + /// Gaim + public void SSOGaim(object obj, EventArgs args) + { + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogGaim", null); + gxmlTemp.Autoconnect (this); + dialogGaim.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); + + } + public void on_okGaim_clicked(object obj, EventArgs args) + { + dialogGaim.Destroy(); + } + public void on_cancelGaim_clicked(object obj, EventArgs args) + { + dialogGaim.Destroy(); + } + public void on_helpGaim_clicked(object obj, EventArgs args) + { + } + } } ///################################################################## diff --git a/c_gui/KdeWallet.cs b/c_gui/KdeWallet.cs index 3c524ab2..80ece6cd 100644 --- a/c_gui/KdeWallet.cs +++ b/c_gui/KdeWallet.cs @@ -43,6 +43,17 @@ public class KdeWallet : Store public bool IS_STORE_AGGREGATED = false; + string[] stringKonquererTemplates = new string[]{ "New Website", + "Novell Website (novell.com)", + "Novell Innerweb (innerweb.novell.com)", + "Novell Bugzilla (bugzilla.novell.com)", + "Novell Forge (forge.novell.com)", + "Bandit Project (bandit-project.org)", + "Groupwise Webaccess (gmail.novell.com)", + "Gmail (gmail.com)", + "Yahoo! Mail (mail.yahoo.com)", + "MSN Hotmail (hotmail.com)"}; + #region Glade Widgets [Glade.Widget] @@ -56,9 +67,11 @@ public class KdeWallet : Store [Glade.Widget] Gtk.Dialog dialogNewSecret, - dialogManageSecret, - dialogConfirmDelete, - dialogLogin; + dialogManageSecret, + dialogConfirmDelete, + dialogLogin, + dialogKonquerer, + dialogKopete; [Glade.Widget] Gtk.Menu menuRightClick; @@ -69,7 +82,12 @@ public class KdeWallet : Store entryValue, entryMasterPassword3, entryMasterPassword4, - entryDeleteSecretID; + entryDeleteSecretID, + entryKonquererURL, + entryKonquererUsrKey, + entryKonquererUsrValue, + entryKonquererPwdKey, + entryKonquererPwdValue; [Glade.Widget] Gtk.CheckButton cbuttonShowPassword; @@ -80,13 +98,14 @@ public class KdeWallet : Store [Glade.Widget] - Gtk.MenuItem cmiNewSecret, - cmiNewKey, + Gtk.MenuItem cmiNewKey, cmiDelete, cmiView, cmiLink, cmiCopy; - + + [Glade.Widget] + Gtk.Combo comboKonquererTemplates; #endregion @@ -101,15 +120,15 @@ public class KdeWallet : Store Logger.DbgLog("GUI:KdeWallet.KdeWallet() - BEGIN"); /// SecretID TreeStore - tvSecretIDKdeWallet = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvSecretIDKdeWallet"); + tvSecretIDKdeWallet = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvSecretIDKdeWallet"); tsSecretIDKdeWallet = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[])); - tvSecretIDKdeWallet.AppendColumn("Secret-ID",new CellRendererText(),"text",0); + tvSecretIDKdeWallet.AppendColumn("Secret ID",new CellRendererText(),"text",0); tvSecretIDKdeWallet.Model = tsSecretIDKdeWallet; tvSecretIDKdeWallet.RowActivated += new RowActivatedHandler(OntvSecretIDKdeWalletRowActivated); tvSecretIDKdeWallet.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnRightClicked); tvSecretIDKdeWallet.CursorChanged += new EventHandler(OnCursorChanged); /// NativeInfo TreeStore - tvNativeInfoKdeWallet = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvNativeInfoKdeWallet"); + tvNativeInfoKdeWallet = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvNativeInfoKdeWallet"); tsNativeInfoKdeWallet = new TreeStore(typeof(string), typeof(string)); tvNativeInfoKdeWallet.AppendColumn("NativeKey",new CellRendererText(),"text",0); tvNativeInfoKdeWallet.AppendColumn("NativeValue",new CellRendererText(),"text",1); @@ -251,7 +270,7 @@ public class KdeWallet : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogManageSecret", null); gxmlTemp.Autoconnect (this); - dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogManageSecret.Title = "KDE Wallet - Manage Secret"; cellEditable = new CellRendererText(); @@ -636,7 +655,7 @@ public class KdeWallet : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogNewSecret", null); gxmlTemp.Autoconnect (this); - dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogNewSecret.Title = "KDE Wallet - New Secret"; cellEditable = new CellRendererText(); @@ -744,7 +763,7 @@ public class KdeWallet : Store NativeValues[Common.INDEX_NATIVEINFO_SYNCTYPE] = null; NativeValues[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = null; - iterSecret = tsSecretIDKdeWallet.AppendValues(entrySecretID.Text, Keys, Values, "CASAwallet", NativeKeys, NativeValues); + iterSecret = tsSecretIDKdeWallet.AppendValues(entrySecretID.Text, Keys, Values, "kdewallet", NativeKeys, NativeValues); modelSecret = tvSecretIDKdeWallet.Model; if( Common.STATUS_SUCCESS == StoreDataInterface.UpdateStore(Common.STORE_KDEWALLET, Common.OPERATION_ADD_SECRET, "", "", ref modelSecret, ref iterSecret) ) @@ -823,7 +842,7 @@ public class KdeWallet : Store { Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogConfirmDelete", null); gxmlTemp.Autoconnect (this); - dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogConfirmDelete.Title = "KDE Wallet - Delete Secret"; TreeModel model; @@ -883,7 +902,195 @@ public class KdeWallet : Store public void on_helpbuttonAuthentication_clicked(object obj, EventArgs args) { Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm"); - } + } + + ///####################################################################### + /// Application SSO + /// + /// + /// + + /// Konquerer + public void SSOKonquerer(object obj, EventArgs args) + { + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogKonquerer", null); + gxmlTemp.Autoconnect (this); + dialogKonquerer.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); + comboKonquererTemplates.PopdownStrings = stringKonquererTemplates; + comboKonquererTemplates.DisableActivate(); + } + public void on_okKonquerer_clicked(object abj, EventArgs args) + { + TreeModel modelSecret; + TreeIter iterSecret; + string[] Keys = null, + Values = null, + NativeKeys = null, + NativeValues = null; + ArrayList arrKeys = null, + arrValues = null; + + try + { + if( "" != entryKonquererURL.Text && "" != entryKonquererUsrKey.Text && "" != entryKonquererUsrValue.Text && "" != entryKonquererPwdKey.Text && "" != entryKonquererPwdValue.Text ) + { + arrKeys = new ArrayList(); + arrValues = new ArrayList(); + + arrKeys.Add(entryKonquererUsrKey.Text); + arrKeys.Add(entryKonquererPwdKey.Text); + arrValues.Add(entryKonquererUsrValue.Text); + arrValues.Add(entryKonquererPwdValue.Text); + + Keys = (string[])arrKeys.ToArray(typeof(string)); + Values = (string[])arrValues.ToArray(typeof(string)); + + NativeKeys = new string[Common.MAX_NATIVE_ELEMENTS]; + NativeValues = new string[Common.MAX_NATIVE_ELEMENTS]; + NativeKeys[Common.INDEX_NATIVEINFO_FOLDERNAME] = Common.NATIVEINFO_FOLDERNAME; + NativeKeys[Common.INDEX_NATIVEINFO_TYPEID] = Common.NATIVEINFO_TYPEID; + NativeKeys[Common.INDEX_NATIVEINFO_SYNC] = Common.NATIVEINFO_SYNC; + NativeKeys[Common.INDEX_NATIVEINFO_SYNCTYPE] = Common.NATIVEINFO_SYNCTYPE; + NativeKeys[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = Common.NATIVEINFO_MODIFIEDTIME; + NativeValues[Common.INDEX_NATIVEINFO_FOLDERNAME] = "Form Data"; + NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Maps"; + NativeValues[Common.INDEX_NATIVEINFO_SYNC] = null; + NativeValues[Common.INDEX_NATIVEINFO_SYNCTYPE] = null; + NativeValues[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = null; + + iterSecret = tsSecretIDKdeWallet.AppendValues(entryKonquererURL.Text, Keys, Values, "kdewallet", NativeKeys, NativeValues); + modelSecret = tvSecretIDKdeWallet.Model; + + if( Common.STATUS_SUCCESS == StoreDataInterface.UpdateStore(Common.STORE_KDEWALLET, Common.OPERATION_ADD_SECRET, "", "", ref modelSecret, ref iterSecret) ) + { + AggregateStore(); + Logger.DbgLog("GUI:KdeWallet.on_okKonquerer_clicked() - ADD_NEW_SECRET_SUCCEEDED."); + } + else + Logger.DbgLog("GUI:KdeWallet.on_okKonquerer_clicked() - ERROR: ADD_NEW_SECRET_FAILED"); + + dialogKonquerer.Destroy(); + } + } + catch(Exception exp) + { + Logger.DbgLog("GUI:KdeWallet.on_okKonquerer_clicked() - EXCEPTION:" + exp.ToString()); + } + + } + + public void on_entryKonquererTemplates_changed(object obj, EventArgs args) + { + /// new + if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[0] ) + { + entryKonquererURL.Text = ""; + entryKonquererUsrKey.Text = ""; + entryKonquererPwdKey.Text = ""; + entryKonquererURL.HasFocus = true; + } + /// novell + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[1] ) + { + entryKonquererURL.Text = "http://www.novell.com/ICSLogin/#"; + entryKonquererUsrKey.Text = "username"; + entryKonquererPwdKey.Text = "password"; + entryKonquererUsrValue.HasFocus = true; + } + /// innerweb + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[2] ) + { + entryKonquererURL.Text = "https://innerweb.novell.com/ICSLogin/#"; + entryKonquererUsrKey.Text = "username"; + entryKonquererPwdKey.Text = "password"; + entryKonquererUsrValue.HasFocus = true; + } + /// bugzilla + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[3] ) + { + entryKonquererURL.Text = "https://bugzilla.novell.com/ICSLogin/#"; + entryKonquererUsrKey.Text = "username"; + entryKonquererPwdKey.Text = "password"; + entryKonquererUsrValue.HasFocus = true; + } + /// forge + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[4] ) + { + entryKonquererURL.Text = "http://forge.novell.com/modules/news/#"; + entryKonquererUsrKey.Text = "username"; + entryKonquererPwdKey.Text = "password"; + entryKonquererUsrValue.HasFocus = true; + } + /// bandit + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[5] ) + { + entryKonquererURL.Text = "https://www.bandit-project.org/ICSLogin/#login"; + entryKonquererUsrKey.Text = "username"; + entryKonquererPwdKey.Text = "password"; + entryKonquererUsrValue.HasFocus = true; + } + /// gw webaccess + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[6] ) + { + entryKonquererURL.Text = "https://gmail.novell.com/gw/webacc#loginForm"; + entryKonquererUsrKey.Text = "User.id"; + entryKonquererPwdKey.Text = "User.password"; + entryKonquererUsrValue.HasFocus = true; + } + /// gmail + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[7] ) + { + entryKonquererURL.Text = "https://www.google.com/accounts/ServiceLogin#"; + entryKonquererUsrKey.Text = "Email"; + entryKonquererPwdKey.Text = "Passwd"; + entryKonquererUsrValue.HasFocus = true; + } + /// yahoo mail + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[8] ) + { + entryKonquererURL.Text = "http://mail.yahoo.com/#login_form"; + entryKonquererUsrKey.Text = "login"; + entryKonquererPwdKey.Text = "passwd"; + entryKonquererUsrValue.HasFocus = true; + } + /// hotmail + else if( comboKonquererTemplates.Entry.Text == stringKonquererTemplates[9] ) + { + entryKonquererURL.Text = "http://login.passport.net/uilogin.srf#f1"; + entryKonquererUsrKey.Text = "login"; + entryKonquererPwdKey.Text = "passwd"; + entryKonquererUsrValue.HasFocus = true; + } + } + + public void on_cancelKonquerer_clicked(object obj, EventArgs args) + { + dialogKonquerer.Destroy(); + } + + public void on_helpKonquerer_clicked(object obj, EventArgs args) + { + } + + /// Kopete + public void SSOKopete(object obj, EventArgs args) + { + Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogKopete", null); + gxmlTemp.Autoconnect (this); + dialogKopete.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); + + } + public void on_okKopete_clicked(object obj, EventArgs args) + { + dialogKopete.Destroy(); + } + public void on_cancelKopete_clicked(object obj, EventArgs args) + { + dialogKopete.Destroy(); + } + public void on_helpKopete_clicked(object obj, EventArgs args) + { + } } } ///################################################################## diff --git a/c_gui/MiCasa.cs b/c_gui/MiCasa.cs index c4e88f27..04c5f291 100644 --- a/c_gui/MiCasa.cs +++ b/c_gui/MiCasa.cs @@ -114,16 +114,16 @@ public class MiCasa : Store Logger.DbgLog("GUI:MiCasa.MiCasa() - BEGIN"); /// SecretID TreeStore - tvSecretIDMiCasa = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvSecretIDMiCasa"); + tvSecretIDMiCasa = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvSecretIDMiCasa"); tsSecretIDMiCasa = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[])); - tvSecretIDMiCasa.AppendColumn("Secret-ID",new CellRendererText(),"text",0); + tvSecretIDMiCasa.AppendColumn("Secret ID",new CellRendererText(),"text",0); tvSecretIDMiCasa.Model = tsSecretIDMiCasa; tsSecretIDMiCasa.SetSortColumnId(0, Gtk.SortType.Ascending); tvSecretIDMiCasa.RowActivated += new RowActivatedHandler(OntvSecretIDMiCasaRowActivated); tvSecretIDMiCasa.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnRightClicked); tvSecretIDMiCasa.CursorChanged += new EventHandler(OnCursorChanged); /// NativeInfo TreeStore - tvNativeInfoMiCasa = (Gtk.TreeView)CasaMain.gxml.GetWidget("tvNativeInfoMiCasa"); + tvNativeInfoMiCasa = (Gtk.TreeView)CasaMain.gxmlMain.GetWidget("tvNativeInfoMiCasa"); tsNativeInfoMiCasa = new TreeStore(typeof(string), typeof(string)); tvNativeInfoMiCasa.AppendColumn("NativeKey",new CellRendererText(),"text",0); tvNativeInfoMiCasa.AppendColumn("NativeValue",new CellRendererText(),"text",1); @@ -131,11 +131,7 @@ public class MiCasa : Store tvNativeInfoMiCasa.ModifyBase(StateType.Normal,new Gdk.Color(0xff,0xff,0xe6)); /// Aggregate the store AggregateStore(); - - //TreeIter iterSecret; - //if( tsSecretIDMiCasa.GetIterFirst(out iterSecret) ) - // tvSecretIDMiCasa.Selection.SelectIter(iterSecret); - + Logger.DbgLog("GUI:MiCasa.MiCasa() - END"); } @@ -268,7 +264,7 @@ public class MiCasa : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogManageSecret", null); gxmlTemp.Autoconnect (this); - dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogManageSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogManageSecret.Title = "miCASA - Manage Secret"; cellEditable = new CellRendererText(); @@ -682,7 +678,7 @@ public class MiCasa : Store Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogNewSecret", null); gxmlTemp.Autoconnect (this); - dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogNewSecret.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogNewSecret.Title = "miCASA - New Secret"; cellEditable = new CellRendererText(); @@ -875,7 +871,7 @@ public class MiCasa : Store { Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogConfirmDelete", null); gxmlTemp.Autoconnect (this); - dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("windowMain"); + dialogConfirmDelete.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); dialogConfirmDelete.Title = "miCASA - Delete Secret"; TreeModel model; @@ -944,7 +940,7 @@ public class MiCasa : Store { Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLinkKeyValue", null); gxmlTemp.Autoconnect (this); - dialogLinkKeyValue.TransientFor = (Gtk.Window)CasaMain.gxml.GetWidget("dialogNewSecret"); + dialogLinkKeyValue.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("dialogNewSecret"); dialogLinkKeyValue.Title = "miCASA - Link Keys"; dialogLinkKeyValue.Modal = true; @@ -960,7 +956,7 @@ public class MiCasa : Store tsAvailableSecrets=new TreeStore(typeof(string),typeof(string)); tsAvailableSecrets.SetSortColumnId(0, Gtk.SortType.Ascending); - tvAvailableSecrets.AppendColumn("Secret-ID",new CellRendererText(),"text",0); + tvAvailableSecrets.AppendColumn("Secret ID",new CellRendererText(),"text",0); tvAvailableSecrets.Model=tsAvailableSecrets; tvAvailableSecrets.ButtonReleaseEvent +=new ButtonReleaseEventHandler(tvAvailableSecrets_ButtonReleaseEvent); @@ -986,7 +982,7 @@ public class MiCasa : Store tsLinkedKeys=new TreeStore(typeof(string), typeof(string)); tsLinkedKeys.SetSortColumnId(0, Gtk.SortType.Descending); - tvLinkedKeys.AppendColumn("Secret-ID", new CellRendererText(), "text", 0); + tvLinkedKeys.AppendColumn("Secret ID", new CellRendererText(), "text", 0); tvLinkedKeys.AppendColumn("Key", new CellRendererText(), "text", 1); tvLinkedKeys.Model=tsLinkedKeys; @@ -1093,7 +1089,7 @@ public class MiCasa : Store { selectedSecret = (string) model.GetValue(iter,0); // add NULL - selectedSecret = selectedSecret; + //selectedSecret = selectedSecret; selectedKey = (string) model.GetValue(iter,1); LinkedKeyInfo lki = new LinkedKeyInfo(selectedSecret, selectedKey); diff --git a/c_gui/images/casa.glade b/c_gui/images/casa.glade index 3f589f8a..1253ee2c 100644 --- a/c_gui/images/casa.glade +++ b/c_gui/images/casa.glade @@ -56,7 +56,7 @@ True - + True gtk-new 1 @@ -78,7 +78,7 @@ - + True gtk-new 1 @@ -99,7 +99,7 @@ - + True gtk-new 1 @@ -125,7 +125,7 @@ - + True gtk-refresh 1 @@ -152,7 +152,7 @@ - + True gtk-dialog-authentication 1 @@ -173,7 +173,7 @@ - + True gtk-open 1 @@ -194,7 +194,7 @@ - + True gtk-delete 1 @@ -222,7 +222,7 @@ - + True gtk-quit 1 @@ -258,7 +258,7 @@ - + True gtk-zoom-fit 1 @@ -279,7 +279,7 @@ - + True gtk-jump-to 1 @@ -300,7 +300,7 @@ - + True gtk-copy 1 @@ -328,7 +328,7 @@ - + True gtk-delete 1 @@ -350,19 +350,129 @@ True _Options True + + + + True + _Application SSO + True + + + + True + gtk-execute + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + + True + _Konquerer + True + + + + + True + gtk-execute + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + K_opete + True + + + + + True + gtk-execute + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + _NetworkManager + True + + + + + True + gtk-execute + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + True + _Gaim + True + + + + + True + gtk-execute + 1 + 0.5 + 0.5 + 0 + 0 + + + + + + + + + True - Change Master Password + _Change Master Password True - + True gtk-revert-to-saved 1 @@ -375,6 +485,12 @@ + + + True + + + True @@ -383,7 +499,7 @@ - + True gtk-preferences 1 @@ -417,9 +533,9 @@ - + True - gtk-file + gtk-add 1 0.5 0.5 @@ -438,9 +554,9 @@ - + True - gtk-missing-image + gtk-remove 1 0.5 0.5 @@ -489,7 +605,7 @@ - + True gtk-help 1 @@ -516,7 +632,7 @@ - + True gtk-dialog-info 1 @@ -1378,7 +1494,7 @@ 4 True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -1571,7 +1687,7 @@ their backend stores. 4 True - NEW SECRET + New Secret GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -1905,7 +2021,7 @@ their backend stores. True True True - 0 + 256 True * @@ -1926,7 +2042,7 @@ their backend stores. True True True - 0 + 256 True * @@ -2120,7 +2236,7 @@ their backend stores. True True True - 0 + 256 True * @@ -2155,7 +2271,7 @@ their backend stores. 4 True - LINK + Link Key-Value pairs GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -2351,7 +2467,7 @@ their backend stores. True True True - 0 + 256 True * @@ -3340,7 +3456,7 @@ their backend stores. 4 True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -3509,9 +3625,9 @@ their backend stores. True False True - 0 + 256 - True + False * False @@ -3575,7 +3691,7 @@ and all the key-value pairs. 4 True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -4073,7 +4189,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -4094,7 +4210,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -4114,7 +4230,7 @@ prompted for the Master Password at startup. True True True - 0 + 256 True * @@ -4958,32 +5074,27 @@ CSL Manojna</b> False False True - GTK_JUSTIFY_LEFT - GTK_WRAP_NONE + GTK_JUSTIFY_CENTER + GTK_WRAP_WORD True 0 0 0 - 0 - 0 + 10 + 10 0 - * Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; version 2.1 - * of the License. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, Novell, Inc. - * - * To contact Novell about this file by physical or electronic mail, - * you may find current contact information at www.novell.com. + +Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved. + +This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1 of the License. + +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along with this library; if not, Novell, Inc. + +To contact Novell about this file by physical or electronic mail, you may find current contact information at www.novell.com. + +.................................................ooO0Ooo................................................. @@ -5319,7 +5430,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -5341,7 +5452,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -5380,7 +5491,7 @@ prompted for the Master Password at startup. True - CASA Help + CASA Manager - Help GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -5497,7 +5608,7 @@ prompted for the Master Password at startup. 4 True - MANAGE SECRET + Manage Secret GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -5832,7 +5943,7 @@ prompted for the Master Password at startup. True True True - 0 + 256 True * @@ -5853,7 +5964,7 @@ prompted for the Master Password at startup. True True True - 0 + 256 True * @@ -6048,7 +6159,7 @@ prompted for the Master Password at startup. True False True - 0 + 256 True * @@ -6083,7 +6194,7 @@ prompted for the Master Password at startup. 4 True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ALWAYS False @@ -6245,7 +6356,7 @@ instance is already running.</b> True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -6485,7 +6596,7 @@ by cilcking the Close button. True - WARNING + Warning GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT True @@ -6709,7 +6820,7 @@ by cilcking the Close button. True - dialog1 + CASA Manager - Debug Log GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -6797,7 +6908,7 @@ by cilcking the Close button. GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER_ON_PARENT False - True + False False CASAicons.ico True @@ -6827,7 +6938,7 @@ by cilcking the Close button. True gtk-help True - GTK_RELIEF_NORMAL + GTK_RELIEF_NONE True -11 @@ -7052,7 +7163,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -7073,7 +7184,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -7122,7 +7233,7 @@ prompted for the Master Password at startup. True True False - 0 + 256 True * @@ -7169,7 +7280,7 @@ prompted for the Master Password at startup. True True True - 0 + 256 True * @@ -7205,1377 +7316,6 @@ prompted for the Master Password at startup. - - CASA Manager - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_CENTER - False - 250 - 525 - True - True - CASAicons.ico - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - - - - True - False - 0 - - - - True - False - 0 - - - - True - GTK_PACK_DIRECTION_LTR - GTK_PACK_DIRECTION_LTR - - - - True - _File - True - - - - - - - - True - _New - True - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - True - New _Secret - True - - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - New _Key - True - - - - - True - gtk-new - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Refresh Stores - True - - - - - - True - gtk-refresh - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - _Lock Secrets - True - - - - - True - gtk-dialog-authentication - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Unlock Secrets - True - - - - - True - gtk-open - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Destroy Secrets - True - - - - - True - gtk-delete - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - _Exit - True - - - - - - True - gtk-quit - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Edit - True - - - - - - - - True - _View - True - - - - - - True - gtk-zoom-fit - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Link - True - - - - - True - gtk-jump-to - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Copy - True - - - - - True - gtk-copy - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - _Delete - True - - - - - - True - gtk-delete - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Options - True - - - - - - - True - Persistent _Storage - True - - - - - True - gtk-revert-to-saved - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Preferences - True - - - - - True - gtk-preferences - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - - True - _Debug - True - - - - - - - True - _Create Test Secrets - True - - - - - True - gtk-file - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - _Remove Test Secrets - True - - - - - True - gtk-missing-image - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - Enable _Logging - True - False - - - - - - - - - - - True - _Help - True - - - - - - - True - _Contents - True - - - - - True - gtk-help - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - True - - - - - - True - _About CASA - True - - - - - True - gtk-dialog-info - 1 - 0.5 - 0.5 - 0 - 0 - - - - - - - - - - - 0 - True - True - - - - - 0 - False - False - - - - - - True - False - 0 - - - - True - casa-logo.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - 0 - False - True - - - - - - 8 - True - True - True - True - True - True - False - GTK_POS_TOP - True - False - - - - - True - False - 0 - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - True - True - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - <b>:: Native Information ::</b> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - True - False - True - False - False - False - - - - - 0 - False - True - - - - - False - True - - - - - - True - False - 0 - - - - True - CASA_32.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - <b>miCASA</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - tab - - - - - - True - False - 0 - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - <b>:: Native Information ::</b> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - True - False - True - False - False - False - - - - - 0 - False - True - - - - - False - True - - - - - - False - 0 - - - - True - firefox-logo.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - <b>Firefox</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - tab - - - - - - True - False - 0 - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - <b>:: Native Information ::</b> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - True - False - True - False - False - False - - - - - 0 - False - True - - - - - False - True - - - - - - True - False - 0 - - - - True - mozilla-logo.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - <b>Mozilla</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - tab - - - - - - True - False - 0 - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - <b>:: Native Information ::</b> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - True - False - True - False - False - False - - - - - 0 - False - True - - - - - False - True - - - - - - True - False - 0 - - - - True - kwallet-logo.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - <b>KDE Wallet</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - tab - - - - - - True - False - 0 - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - True - False - True - False - False - False - - - - - 0 - True - True - - - - - - True - <b>:: Native Information ::</b> - False - True - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 6 - True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - True - False - True - False - False - False - - - - - 0 - False - True - - - - - False - True - - - - - - True - False - 0 - - - - True - keyring-logo.png - 0.5 - 0.5 - 0 - 0 - - - 0 - False - True - - - - - - True - <b>GNOME Keyring</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - tab - - - - - 0 - True - True - - - - - - True - True - - - 0 - False - False - GTK_PACK_END - - - - - - 4 True @@ -8891,8 +7631,7 @@ prompted for the Master Password at startup. CASA encypts your credentials and writes them in your home directory. To retrieve them, please enter your -workstation password. - +workstation password. False False GTK_JUSTIFY_LEFT @@ -8928,31 +7667,6 @@ workstation password. - - - True - - True - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - 6 @@ -9045,7 +7759,7 @@ workstation password. True True False - 0 + 256 True * @@ -9067,7 +7781,7 @@ workstation password. True True False - 0 + 256 True * @@ -9104,4 +7818,2869 @@ workstation password. + + 4 + True + KDE Wallet - New Secret + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + False + True + CASAicons.ico + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-help + True + GTK_RELIEF_NONE + True + -11 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + gtk-new + 5 + 0.5 + 0.5 + 0 + 0 + + + 6 + False + True + + + + + 4 + False + True + + + + + + True + False + 0 + + + + True + <b>Adding Sign-On information for Konquerer</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 5 + False + False + + + + + + True + Enter the URL of the website for which you wish to enable Single Sign-On in Konquerer web browser. Further, enter the username and password entries for that site in the corresponding textboxes. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + 12 + True + True + + + + + 0 + False + True + + + + + + True + 1 + 2 + False + 4 + 4 + + + + True + 0 + 1 + GTK_SHADOW_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 6 + 6 + 6 + 6 + + + + True + 8 + 2 + False + 4 + 4 + + + + True + Enter the form-element name of the password input textbox. + True + True + True + 256 + + True + * + False + + + 0 + 1 + 7 + 8 + + + + + + + True + <b>Password</b> +Key: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 6 + 7 + fill + + + + + + + True + Enter the form-element name of the username input textbox. + True + True + True + 256 + + True + * + False + + + 0 + 1 + 5 + 6 + + + + + + + True + <b>Username</b> +Key: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + fill + + + + + + + True + Enter your password here. + True + True + False + 256 + + True + * + False + + + 1 + 2 + 7 + 8 + + + + + + + True + <b></b> +Value: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 6 + 7 + fill + + + + + + + True + Enter your username here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 5 + 6 + + + + + + + True + <b></b> +Value: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + Enter the URL of the website here. + True + True + True + True + True + True + 256 + + True + * + False + + + 0 + 2 + 3 + 4 + + + + + + + True + <b>URL:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 2 + 3 + fill + + + + + + + True + <b>Templates:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 0 + 1 + fill + + + + + + + True + False + True + False + True + False + + + + True + True + False + True + 256 + + True + * + False + + + + + + + True + GTK_SELECTION_BROWSE + + + + + 0 + 2 + 1 + 2 + fill + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + 2 + 0 + 1 + fill + + + + + 6 + True + True + + + + + 0 + True + True + + + + + + + + 4 + True + KDE Wallet - New Secret + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + False + True + CASAicons.ico + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-help + True + GTK_RELIEF_NONE + True + -11 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + gtk-new + 5 + 0.5 + 0.5 + 0 + 0 + + + 6 + False + True + + + + + 4 + False + True + + + + + + True + False + 0 + + + + True + <b>Adding Sign-On information for Kopete</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 5 + False + False + + + + + + True + Enter the following account details for enabling Single Sign-On for Kopete instant messenger. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + 12 + True + True + + + + + 0 + False + True + + + + + + True + 0 + 1 + GTK_SHADOW_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 6 + 6 + 6 + 6 + + + + True + 3 + 2 + False + 4 + 4 + + + + True + Enter your username/screen name here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + <b>Username:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + True + <b>Protocol:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + <b>Password:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + Enter your password here. + True + True + False + 256 + + True + * + False + + + 1 + 2 + 2 + 3 + + + + + + + True + False + True + False + True + False + + + + True + True + True + True + 256 + + True + * + False + + + + + + True + GTK_SELECTION_BROWSE + + + + + 1 + 2 + 0 + 1 + fill + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 6 + True + True + + + + + 0 + True + True + + + + + + + + 4 + True + GNOME Keyring- New Secret + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + False + True + CASAicons.ico + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-help + True + GTK_RELIEF_NONE + True + -11 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + gtk-new + 5 + 0.5 + 0.5 + 0 + 0 + + + 6 + False + True + + + + + 4 + False + True + + + + + + True + False + 0 + + + + True + <b>Adding Sign-On information for Network Manager</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 5 + False + False + + + + + + True + Enter the following details to enable Single Sign-On for NetworkManager and Nautilus network browser. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + 12 + True + True + + + + + 0 + False + True + + + + + + True + 0 + 1 + GTK_SHADOW_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 6 + 6 + 6 + 6 + + + + True + 5 + 2 + False + 4 + 4 + + + + True + True + False + False + True + True + + + + True + True + False + True + 256 + + True + * + False + + + + + + + True + GTK_SELECTION_BROWSE + + + + True + True + + + + + + + + 1 + 2 + 0 + 1 + fill + fill + + + + + + True + <b>Server _type:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entry32 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + + + + + + + True + <b>_Server:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerUsername + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + <b>_Username:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerUsername + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + <b>_Password:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerPassword + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + Enter the hostname/IP address of the server. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + Enter your username here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 2 + 3 + + + + + + + True + Enter your password here. + True + True + False + 256 + + True + * + False + + + 1 + 2 + 3 + 4 + + + + + + + 4 + True + True + False + 4 + + + + True + 5 + 2 + False + 4 + 4 + + + + True + True + True + True + 256 + + True + * + False + + + 1 + 2 + 4 + 5 + + + + + + + True + Enter the Windows share name here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 3 + 4 + + + + + + + True + Enter the port number. This is an optional information. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 2 + 3 + + + + + + + Enter your folder name or the path. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + <b>_Domain name:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerDomain + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + + + + + + + True + <b>S_hare:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerShare + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + + + + + + + True + <b>_Port:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerPort + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + + + + + + + <b>_Folder:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerFolder + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + Enter a name for this connection. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 0 + 1 + + + + + + + <b>Connection _name:</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + entryNetworkManagerCName + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + + + True + <b>_Optional information</b> + True + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + 2 + 4 + 5 + fill + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 6 + True + True + + + + + 0 + True + True + + + + + + + + 4 + True + GNOME Keyring - New Secret + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + False + True + CASAicons.ico + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-help + True + GTK_RELIEF_NONE + True + -11 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + gtk-new + 5 + 0.5 + 0.5 + 0 + 0 + + + 6 + False + True + + + + + 4 + False + True + + + + + + True + False + 0 + + + + True + <b>Adding Sign-On information for Gaim</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 5 + False + False + + + + + + True + Enter the following account details for enabling Single Sign-On for Gaim instant messenger. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + 12 + True + True + + + + + 0 + False + True + + + + + + True + 0 + 1 + GTK_SHADOW_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 6 + 6 + 6 + 6 + + + + True + 3 + 2 + False + 4 + 4 + + + + True + Enter your username/screen name here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + <b>Username:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + True + <b>Protocol:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + <b>Password:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + Enter your password here. + True + True + False + 256 + + True + * + False + + + 1 + 2 + 2 + 3 + + + + + + + True + False + True + False + True + False + + + + True + True + True + True + 256 + + True + * + False + + + + + + True + GTK_SELECTION_BROWSE + + + + + 1 + 2 + 0 + 1 + fill + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 6 + True + True + + + + + 0 + True + True + + + + + + + + 4 + True + KDE Wallet - New Secret + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + False + True + CASAicons.ico + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-help + True + GTK_RELIEF_NONE + True + -11 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + False + 0 + + + + True + False + 0 + + + + True + gtk-new + 5 + 0.5 + 0.5 + 0 + 0 + + + 6 + False + True + + + + + 4 + False + True + + + + + + True + False + 0 + + + + True + <b>Adding Sign-On information for Firefox</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 5 + False + False + + + + + + True + Enter the URL of the website for which you wish to enable Single Sign-On in Firefox web browser. Further, enter the username and password entries for that site in the corresponding textboxes. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + 12 + True + True + + + + + 0 + False + True + + + + + + True + 1 + 2 + False + 4 + 4 + + + + True + 0 + 1 + GTK_SHADOW_IN + + + + True + 0.5 + 0.5 + 1 + 1 + 6 + 6 + 6 + 6 + + + + True + 8 + 2 + False + 4 + 4 + + + + True + Enter the form-element name of the password input textbox. + True + True + True + 256 + + True + * + False + + + 0 + 1 + 7 + 8 + + + + + + + True + <b>Password</b> +Key: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 6 + 7 + fill + + + + + + + True + Enter the form-element name of the username input textbox. + True + True + True + 256 + + True + * + False + + + 0 + 1 + 5 + 6 + + + + + + + True + <b>Username</b> +Key: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + fill + + + + + + + True + Enter your password here. + True + True + False + 256 + + True + * + False + + + 1 + 2 + 7 + 8 + + + + + + + True + <b></b> +Value: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 6 + 7 + fill + + + + + + + True + Enter your username here. + True + True + True + 256 + + True + * + False + + + 1 + 2 + 5 + 6 + + + + + + + True + <b></b> +Value: + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + Enter the URL of the website here. + True + True + True + True + True + True + 256 + + True + * + False + + + 0 + 2 + 3 + 4 + + + + + + + True + <b>URL:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 2 + 3 + fill + + + + + + + True + <b>Templates:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 0 + 1 + fill + + + + + + + True + False + True + False + True + False + + + + True + True + False + True + 256 + + True + * + False + + + + + + + True + GTK_SELECTION_BROWSE + + + + + 0 + 2 + 1 + 2 + fill + + + + + + + + + + True + + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + 2 + 0 + 1 + fill + + + + + 6 + True + True + + + + + 0 + True + True + + + + + +