[Ifolder-svn] r7264 - trunk/ifolder/src/UI/Linux/LinuxClient/library
Brought to you by:
srinidhi_bs
From: Novell F. S. <no...@fo...> - 2009-10-31 02:07:45
|
Author: hegdegg Date: 2009-10-31 02:07:39 -0600 (Sat, 31 Oct 2009) New Revision: 7264 Modified: trunk/ifolder/src/UI/Linux/LinuxClient/library/KeyRecoveryWizard.cs trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPassPhraseDialog.cs trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPasswordDialog.cs Log: Setting the wait cursor for reset passphrase and reset password operations. Modified: trunk/ifolder/src/UI/Linux/LinuxClient/library/KeyRecoveryWizard.cs =================================================================== --- trunk/ifolder/src/UI/Linux/LinuxClient/library/KeyRecoveryWizard.cs 2009-10-29 07:07:38 UTC (rev 7263) +++ trunk/ifolder/src/UI/Linux/LinuxClient/library/KeyRecoveryWizard.cs 2009-10-31 08:07:39 UTC (rev 7264) @@ -31,10 +31,12 @@ * *******************************************************************************/ +using Gtk; +using Gdk; using System; using System.Collections; +using System.Runtime.InteropServices; using Simias.Client; -using Gtk; using Novell.iFolder.Controller; using System.ComponentModel; @@ -53,7 +55,7 @@ namespace Novell.iFolder { - public class KeyRecoveryWizard : Window + public class KeyRecoveryWizard : Gtk.Window { private Gnome.Druid KeyRecoveryDruid; @@ -145,13 +147,16 @@ private Entry exportedPath; private Entry emailID; + iFolderWaitDialog WaitDialog; - public KeyRecoveryWizard(SimiasWebService simws,iFolderWebService ifws):base(WindowType.Toplevel) + + public KeyRecoveryWizard(SimiasWebService simws,iFolderWebService ifws):base(Gtk.WindowType.Toplevel) { this.Title = Util.GS("Passphrase Recovery Wizard"); + WaitDialog = null; this.Resizable = false; this.Modal = true; this.WindowPosition = Gtk.WindowPosition.Center; @@ -460,94 +465,116 @@ private bool OnEnterPassphrasePageValidated(object obj, EventArgs args) - { - - bool result = false; - Status status = null; - DomainController domainController = DomainController.GetDomainController(); + { + bool result = false; + Status status = null; - if(this.newPassphrase.Text != this.confirmPassphrase.Text) - { - iFolderMsgDialog dialog = new iFolderMsgDialog(null,iFolderMsgDialog.DialogType.Error,iFolderMsgDialog.ButtonSet.None,Util.GS("Passphrase reset failed"), Util.GS("The values in the new and confirm passphrase fields do not match"), Util.GS("")); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - return false; + if (this.GdkWindow != null) + this.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); + DomainController domainController = DomainController.GetDomainController(); - } - - DomainInformation domainInfo = (DomainInformation)this.simws.GetDomainInformation(this.selectedDomain); - try{ - status = this.simws.LogoutFromRemoteDomain(domainInfo.ID); - if (status.statusCode == StatusCodes.Success) + if(this.newPassphrase.Text != this.confirmPassphrase.Text) + { + iFolderMsgDialog dialog = new iFolderMsgDialog(null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Passphrase reset failed"), + Util.GS("The values in the new and confirm passphrase fields do not match"), + Util.GS("")); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; + return false; - { - status = this.simws.LoginToRemoteDomain(domainInfo.ID, this.password.Text); - if(status.statusCode != StatusCodes.Success) - { - iFolderMsgDialog dialog = new iFolderMsgDialog(null,iFolderMsgDialog.DialogType.Error,iFolderMsgDialog.ButtonSet.None,Util.GS("Passphrase reset failed"), Util.GS("Unable to authenticate to the domain.You have been logged out of the account.Please login and try again"), Util.GS("")); - int rc = dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - - domainController.LogoutDomain(domainInfo.ID); - if ((ResponseType)rc == ResponseType.Ok) - { - CloseDialog(); - ShowNextWizard(); - } + } + DomainInformation domainInfo = (DomainInformation)this.simws.GetDomainInformation(this.selectedDomain); + try{ + status = this.simws.LogoutFromRemoteDomain(domainInfo.ID); + if (status.statusCode == StatusCodes.Success) - return false; + { + status = this.simws.LoginToRemoteDomain(domainInfo.ID, this.password.Text); + if(status.statusCode != StatusCodes.Success) + { + iFolderMsgDialog dialog = new iFolderMsgDialog(null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Passphrase reset failed"), + Util.GS("Unable to authenticate to the domain.You have been logged out of the account.Please login and try again"), + Util.GS("")); + int rc = dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; - } - result = true; - } - } - catch(Exception) - { - iFolderMsgDialog dialog = new iFolderMsgDialog(null,iFolderMsgDialog.DialogType.Error,iFolderMsgDialog.ButtonSet.None,Util.GS("Passphrase reset failed"), Util.GS("Unable to authenticate to the domain.You have been logged out of the account.Please login and try again"), Util.GS("")); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - domainController.LogoutDomain(domainInfo.ID); - return false; - } - if(result) - { - string memberUID = domainInfo.MemberUserID; - // string publicKey = null; + domainController.LogoutDomain(domainInfo.ID); + if ((ResponseType)rc == ResponseType.Ok) + { + CloseDialog(); + ShowNextWizard(); + } - try{ - this.simws.ExportRecoverImport(domainInfo.ID, memberUID, this.newPassphrase.Text); - //set the values - this.simws.StorePassPhrase(domainInfo.ID, this.newPassphrase.Text, CredentialType.Basic,this.simws.GetRememberOption(domainInfo.ID)); - + return false; - KeyRecoveryDruid.Page = FinishPage; - } - catch(Exception) - { - iFolderMsgDialog dialog = new iFolderMsgDialog(null,iFolderMsgDialog.DialogType.Error,iFolderMsgDialog.ButtonSet.None,Util.GS("Passphrase reset failed"), Util.GS("You have been logged out of the account.Please login and try again."), Util.GS("")); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - //CloseDialog(); - return false; - - } - // KeyRecoveryDruid.Page = FinishPage; - // result = true; - } + } + result = true; + } + } + catch(Exception) + { + iFolderMsgDialog dialog = new iFolderMsgDialog(null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Passphrase reset failed"), + Util.GS("Unable to authenticate to the domain.You have been logged out of the account.Please login and try again"), + Util.GS("")); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; + domainController.LogoutDomain(domainInfo.ID); + return false; + } + if(result) + { + string memberUID = domainInfo.MemberUserID; + try + { + this.simws.ExportRecoverImport(domainInfo.ID, memberUID, this.newPassphrase.Text); + this.simws.StorePassPhrase(domainInfo.ID, + this.newPassphrase.Text, + CredentialType.Basic, + this.simws.GetRememberOption(domainInfo.ID)); + KeyRecoveryDruid.Page = FinishPage; + } + catch(Exception) + { + iFolderMsgDialog dialog = new iFolderMsgDialog(null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None,Util.GS("Passphrase reset failed"), + Util.GS("You have been logged out of the account.Please login and try again."), + Util.GS("")); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; + return false; + } + if (WaitDialog != null) + { + Console.WriteLine("Hiding wait dialog"); + WaitDialog.Hide(); + WaitDialog.Destroy(); + WaitDialog = null; + } + } + if(this.GdkWindow != null) + this.GdkWindow.Cursor = null; + return result; + } - - return result; - } - private void OnEnterPassphraseFieldsChanged(object obj, EventArgs args) { Modified: trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPassPhraseDialog.cs =================================================================== --- trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPassPhraseDialog.cs 2009-10-29 07:07:38 UTC (rev 7263) +++ trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPassPhraseDialog.cs 2009-10-31 08:07:39 UTC (rev 7264) @@ -314,137 +314,125 @@ domainComboBox.Changed += new EventHandler(OnDomainChangedEvent); } - /// <summary> - /// Event Handler for Reset Clicked - /// </summary> - private void OnResetClicked( object o, EventArgs args) + /// <summary> + /// Event Handler for Reset Clicked + /// </summary> + private void OnResetClicked( object o, EventArgs args) { Debug.PrintLine("Reset clicked"); string publicKey = null; bool reset = false; - try{DomainController domainController = DomainController.GetDomainController(); - - Status passphraseStatus = simws.ValidatePassPhrase(this.Domain, this.OldPassphrase); - if( passphraseStatus != null) - { - if( passphraseStatus.statusCode == StatusCodes.PassPhraseInvalid) // check for invalid passphrase - { - iFolderMsgDialog dialog = new iFolderMsgDialog( - null, - iFolderMsgDialog.DialogType.Error, - iFolderMsgDialog.ButtonSet.None, - Util.GS("Invalid Passphrase"), - Util.GS("The Current PassPhrase entered is not valid"), - Util.GS("Please enter the passphrase again")); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - return; - } - } - if( this.RAName != "DEFAULT") + try { - byte [] RACertificateObj = domainController.GetRACertificate(this.Domain, this.RAName); - if( RACertificateObj != null && RACertificateObj.Length != 0) + if (this.GdkWindow != null) + this.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); + DomainController domainController = DomainController.GetDomainController(); + + Status passphraseStatus = simws.ValidatePassPhrase(this.Domain, this.OldPassphrase); + if( passphraseStatus != null) { - System.Security.Cryptography.X509Certificates.X509Certificate Cert = new System.Security.Cryptography.X509Certificates.X509Certificate(RACertificateObj); - CertificateDialog dlg = new CertificateDialog(Cert.ToString(true)); - if (!Util.RegisterModalWindow(dlg)) + if( passphraseStatus.statusCode == StatusCodes.PassPhraseInvalid) // check for invalid passphrase { + iFolderMsgDialog dialog = new iFolderMsgDialog( + null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Invalid Passphrase"), + Util.GS("The Current PassPhrase entered is not valid"), + Util.GS("Please enter the passphrase again")); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; + return; + } + } + if( this.RAName != "DEFAULT") + { + byte [] RACertificateObj = domainController.GetRACertificate(this.Domain, this.RAName); + if( RACertificateObj != null && RACertificateObj.Length != 0) + { + System.Security.Cryptography.X509Certificates.X509Certificate Cert = + new System.Security.Cryptography.X509Certificates.X509Certificate(RACertificateObj); + CertificateDialog dlg = new CertificateDialog(Cert.ToString(true)); + if (!Util.RegisterModalWindow(dlg)) + { + dlg.Destroy(); + dlg = null; + return ; + } + int res = dlg.Run(); + dlg.Hide(); dlg.Destroy(); dlg = null; - return ; + if( res == (int)ResponseType.Ok) + { + publicKey = Convert.ToBase64String(Cert.GetPublicKey()); + Debug.PrintLine(String.Format(" The public key is: {0}", publicKey)); + reset = true; + } + else + { + reset = false; + Debug.PrintLine("Response type is not ok"); + return; + } } - int res = dlg.Run(); - dlg.Hide(); - dlg.Destroy(); - dlg = null; - if( res == (int)ResponseType.Ok) - { - publicKey = Convert.ToBase64String(Cert.GetPublicKey()); - Debug.PrintLine(String.Format(" The public key is: {0}", publicKey)); - reset = true; - } - else - { - reset = false; - Debug.PrintLine("Response type is not ok"); - return; - } } - } - else - { + else + { - DomainInformation domainInfo = (DomainInformation)this.simws.GetDomainInformation(this.Domain); + DomainInformation domainInfo = (DomainInformation)this.simws.GetDomainInformation(this.Domain); - string memberUID = domainInfo.MemberUserID; + string memberUID = domainInfo.MemberUserID; - publicKey = this.ifws.GetDefaultServerPublicKey(this.Domain, memberUID); - reset = true; - - - - - /* iFolderMsgDialog dg = new iFolderMsgDialog( - this, - iFolderMsgDialog.DialogType.Warning, - iFolderMsgDialog.ButtonSet.YesNo, - "No Recovery Agent", - Util.GS("Recovery Agent Not Selected"), - Util.GS("There is no Recovery Agent selected. Encrypted data cannot be recovered later, if passphrase is lost. Do you want to continue?")); - int rc = dg.Run(); - dg.Hide(); - dg.Destroy(); - if( (ResponseType)rc == ResponseType.Yes ) - { - // reset passphrase + publicKey = this.ifws.GetDefaultServerPublicKey(this.Domain, memberUID); reset = true; - } - else - { - return; - }*/ - } - if( reset == true) - { - try + } + if( reset == true) { - status = domainController.ReSetPassphrase(this.Domain, this.OldPassphrase, this.NewPassphrase, this.RAName, publicKey); + try + { + status = domainController.ReSetPassphrase(this.Domain, + this.OldPassphrase, + this.NewPassphrase, + this.RAName, publicKey); - //clear the values - simws.StorePassPhrase(this.Domain, "", CredentialType.None, false); - //set the values - - simws.StorePassPhrase(this.Domain, this.NewPassphrase, CredentialType.Basic, this.SavePassphrase); + //clear the values + simws.StorePassPhrase(this.Domain, "", CredentialType.None, false); + //set the values + + simws.StorePassPhrase(this.Domain, this.NewPassphrase, CredentialType.Basic, this.SavePassphrase); + } + catch(Exception ex) + { + //add client debug log here + throw ex; + } } - catch(Exception ex) + if( status == false) { - //add client debug log here - throw ex; + + iFolderMsgDialog dialog = new iFolderMsgDialog( + null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Change Passphrase"), + Util.GS("Unable to change the Passphrase"), + Util.GS("Please try again")); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; } } - if( status == false) - { - - iFolderMsgDialog dialog = new iFolderMsgDialog( - null, - iFolderMsgDialog.DialogType.Error, - iFolderMsgDialog.ButtonSet.None, - Util.GS("Change Passphrase"), - Util.GS("Unable to change the Passphrase"), - Util.GS("Please try again")); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; - }} catch(Exception e) { Debug.PrintLine(String.Format("Exception in reset passphrase : {0}",e.Message)); } + if (this.GdkWindow != null) + this.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); } /// <summary> Modified: trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPasswordDialog.cs =================================================================== --- trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPasswordDialog.cs 2009-10-29 07:07:38 UTC (rev 7263) +++ trunk/ifolder/src/UI/Linux/LinuxClient/library/ResetPasswordDialog.cs 2009-10-31 08:07:39 UTC (rev 7264) @@ -317,36 +317,39 @@ if( newPassword.Text == oldPassword.Text ) { string Message = Util.GS("Old password and new password should not be same."); - ///set false status and show message. - iFolderMsgDialog dialog = new iFolderMsgDialog( - null, - iFolderMsgDialog.DialogType.Error, - iFolderMsgDialog.ButtonSet.None, - Util.GS("Error changing password"), - Message, null); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; + iFolderMsgDialog dialog = new iFolderMsgDialog( + null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Error changing password"), + Message, null); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; return; } else if(newPassword.Text != confirmPassword.Text) { - string Message = Util.GS("New password and confirm password do not match."); - iFolderMsgDialog dialog = new iFolderMsgDialog( - null, - iFolderMsgDialog.DialogType.Error, - iFolderMsgDialog.ButtonSet.None, - Util.GS("Error changing password"), - Message, null); - dialog.Run(); - dialog.Hide(); - dialog.Destroy(); - dialog = null; + string Message = Util.GS("New password and confirm password do not match."); + iFolderMsgDialog dialog = new iFolderMsgDialog( + null, + iFolderMsgDialog.DialogType.Error, + iFolderMsgDialog.ButtonSet.None, + Util.GS("Error changing password"), + Message, null); + dialog.Run(); + dialog.Hide(); + dialog.Destroy(); + dialog = null; return; } + if (this.GdkWindow != null) + this.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); ResetPassword( this.Domain, this.OldPassword, this.NewPassword); + if (this.GdkWindow != null) + this.GdkWindow.Cursor = null; } protected bool OnDeleteEvent(object o, EventArgs args) |