Bug 148945. Handle the case were micasad is restarted, before
a user sets their master password
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| ------------------------------------------------------------------- | ||||
| Mon Feb 21 12:05:17 MST 2006 - jnorman@novell.com | ||||
|  | ||||
| - Bug 148945. Handle the case were micasad is restarted, before | ||||
|   a user sets their master password | ||||
|  | ||||
| ------------------------------------------------------------------- | ||||
| Mon Feb 20 10:40:17 IST 2006 - smanojna@novell.com | ||||
|  | ||||
|   | ||||
| @@ -67,6 +67,7 @@ namespace Novell.CASA.GUI | ||||
| 			dialogAbout,  | ||||
| 			dialogLogin,  | ||||
| 			dialogLoginContinue,  | ||||
|             dialogDesktopPassword, | ||||
| 			dialogConfirmRefresh, | ||||
| 			dialogSingleInstance, | ||||
| 			dialogLoginReprompt, | ||||
| @@ -79,6 +80,8 @@ namespace Novell.CASA.GUI | ||||
| 			entryMasterPassword2,  | ||||
| 			entryMasterPassword3,  | ||||
| 			entryMasterPassword4, | ||||
|             entryDesktopPassword1, | ||||
|             entryDesktopPassword2, | ||||
| 			entryOldMP, | ||||
| 			entryNewMP1, | ||||
| 			entryNewMP2; | ||||
| @@ -93,7 +96,8 @@ namespace Novell.CASA.GUI | ||||
| 		[Glade.Widget]  | ||||
| 		Gtk.Label			label88,  | ||||
| 			labelLoginContinue1,  | ||||
| 			labelLoginContinue2; | ||||
| 			labelLoginContinue2, | ||||
|             labelDesktopPasswordMessage; | ||||
| 						 | ||||
| 		[Glade.Widget]  | ||||
| 		Gtk.Button	okbuttonPersistentStorage; | ||||
| @@ -345,16 +349,93 @@ namespace Novell.CASA.GUI | ||||
| 			{        	 | ||||
| 				Logger.DbgLog("GUI:CasaMain.Login() - IsMasterPasswordSet returned false"); | ||||
|                                  | ||||
|                 // did the daemon get restarted before the user created a master password? | ||||
|                 // if so, let's ask the user for there desktop password and set it if there's a cache file | ||||
|                 if (true == DoPersistentFilesExist()) | ||||
|                 { | ||||
|                     Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogDesktopPassword", null); | ||||
|                     gxmlTemp.Autoconnect(this); | ||||
|  | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null); | ||||
|                     gxmlTemp.Autoconnect(this); | ||||
| 				entryMasterPassword3.Text=""; | ||||
| 				entryMasterPassword4.Text=""; | ||||
|                     entryMasterPassword3.Text = ""; | ||||
|                     entryMasterPassword4.Text = ""; | ||||
|                 } | ||||
| 			} 	          	         | ||||
|      | ||||
| 			Logger.DbgLog("GUI:CasaMain.Login() - END"); | ||||
| 		} | ||||
|  | ||||
|         public void on_entryDesktopPassword1_activate(object obj, EventArgs args) | ||||
|         { | ||||
|             on_buttonPasswordOk_clicked(obj, args); | ||||
|         } | ||||
|  | ||||
|         public void on_entryDesktopPassword2_activate(object obj, EventArgs args) | ||||
|         { | ||||
|             on_buttonPasswordOk_clicked(obj, args); | ||||
|         } | ||||
|  | ||||
|         public void on_buttonPasswordOk_clicked(object obj, EventArgs args) | ||||
|         { | ||||
|             object o = obj; | ||||
|             if (entryDesktopPassword1 != null && entryDesktopPassword2.Text != null) | ||||
|             { | ||||
|  | ||||
|                 if (entryDesktopPassword1.Text.Length < 1) | ||||
|                 {                     | ||||
|                     labelDesktopPasswordMessage.Text = "Please enter your desktop password"; | ||||
|                     return; | ||||
|                 } | ||||
|  | ||||
|                 if (entryDesktopPassword1.Text.Equals(entryDesktopPassword2.Text)) | ||||
|                 { | ||||
|                     // set the desktop password in micasa | ||||
|                     try | ||||
|                     { | ||||
|                         Novell.CASA.miCASA.SetCredential(0, | ||||
|                                         "Desktop", | ||||
|                                         null, | ||||
|                                         Novell.CASA.miCASA.USERNAME_TYPE_CN_F, | ||||
|                                         GetLocalUsername(), | ||||
|                                         entryDesktopPassword1.Text); | ||||
|                     } | ||||
|                     catch (Exception e) | ||||
|                     { | ||||
|                         Logger.DbgLog(e.ToString()); | ||||
|                     } | ||||
|  | ||||
|                     if (dialogDesktopPassword != null) | ||||
|                         dialogDesktopPassword.Destroy(); | ||||
|  | ||||
|                     MasterPasswordAuthentication(); | ||||
|  | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     labelDesktopPasswordMessage.Text = "Passwords do not match"; | ||||
|                     entryDesktopPassword1.Text = ""; | ||||
|                     entryDesktopPassword2.Text = "";                     | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public void on_helpbuttonDesktopPassword_clicked(object obj, EventArgs args) | ||||
|         { | ||||
|             Common.ShowHelpUrl("CASADesktopPassword.htm"); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         public void on_buttonPasswordClose_clicked(object obj, EventArgs args) | ||||
|         { | ||||
|             if (dialogDesktopPassword != null) | ||||
|                 dialogDesktopPassword.Destroy(); | ||||
|  | ||||
|             closebuttonLogin_clicked(obj, args); | ||||
|         } | ||||
|      | ||||
| 		public void okbuttonLogin_clicked(object abj, EventArgs args) | ||||
| 		{     | ||||
| @@ -444,7 +525,9 @@ namespace Novell.CASA.GUI | ||||
|      | ||||
| 		public void closebuttonLogin_clicked(object abj, EventArgs args) | ||||
| 		{ | ||||
|             if (dialogLogin != null) | ||||
| 			    dialogLogin.Destroy();  | ||||
|  | ||||
| 			// close tray too | ||||
| 			if (mCasaTray != null) | ||||
| 			{	 | ||||
| @@ -496,6 +579,38 @@ namespace Novell.CASA.GUI | ||||
| 			return (File.Exists(fileName)); | ||||
| 		} | ||||
|  | ||||
|         public bool DoPersistentFilesExist() | ||||
|         { | ||||
|             Logger.DbgLog("GUI:CasaMain.DoesPersistentFilesExist() - BEGIN"); | ||||
|  | ||||
|             // is the desktop password set already? | ||||
|             try | ||||
|             { | ||||
|                 BasicCredential bc = Novell.CASA.miCASA.GetCredential(0, | ||||
|                                                     "Desktop", | ||||
|                                                     null, | ||||
|                                                     Novell.CASA.miCASA.USERNAME_TYPE_CN_F); | ||||
|                 return false; | ||||
|             } | ||||
|             catch | ||||
|             { | ||||
|                 // check for existence of persistent files | ||||
|                 string MICASA_PASSCODE_BY_DESKTOP_FILE = "/.miCASAPCByDesktop"; | ||||
|                 string MICASA_KEY_FILE = "/.miCASAKey"; | ||||
|                 string MICASA_PERSISTENCE_FILE = "/.miCASA"; | ||||
|                 string MICASA_VALIDATION_FILE = "/.miCASAValidate"; | ||||
|  | ||||
|                 string sHomeDir = GetUserHomeDir(); | ||||
|  | ||||
|                 Logger.DbgLog("GUI:CasaMain.DoesPersistentFilesExist() - END"); | ||||
|                 return (File.Exists(sHomeDir + MICASA_PERSISTENCE_FILE) | ||||
|                         && File.Exists(sHomeDir + MICASA_KEY_FILE) | ||||
|                         && File.Exists(sHomeDir + MICASA_PASSCODE_BY_DESKTOP_FILE) | ||||
|                         && File.Exists(sHomeDir + MICASA_VALIDATION_FILE)); | ||||
|             } | ||||
|         } | ||||
|         | ||||
|      | ||||
| 		private string GetUserHomeDir() | ||||
| 		{ | ||||
| 			if (Common.IS_LINUX)	 | ||||
| @@ -505,6 +620,12 @@ namespace Novell.CASA.GUI | ||||
| 		 | ||||
| 		} | ||||
|  | ||||
|         private string GetLocalUsername() | ||||
|         { | ||||
|             return Environment.GetEnvironmentVariable("USERNAME");                     | ||||
|         } | ||||
|  | ||||
|      | ||||
| 		///####################################################################### | ||||
| 		/// LOGIN WARNING DIALOG | ||||
|      | ||||
|   | ||||
							
								
								
									
										45
									
								
								c_gui/help/en/CASADesktopPassword.htm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								c_gui/help/en/CASADesktopPassword.htm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| <html> | ||||
| <head> | ||||
|    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> | ||||
| <!-- #BeginEditable "doctitle" --> | ||||
| <title>Novell® CASA Manager</title> | ||||
| <!-- #EndEditable --> | ||||
| <link href="hf_style.css" rel="styleSheet" type="text/css"> | ||||
|    <style type="text/css" media="screen"> | ||||
|       <!-- | ||||
|       body            { font-family: "Trebuchet MS", Arial, Helvetica, Geneva; background: white url(help_zcc_bg.gif) repeat-x 0% 0% } | ||||
|       #headgraphic    { position: absolute; z-index: 0; top: 0px; left: 0px; width: 380px; visibility: visible } | ||||
|       #helpcontent    { position: absolute; top: 37px; left: 10px; width: 93%; visibility: visible } | ||||
|       --> | ||||
|    </style> | ||||
| </head> | ||||
|  | ||||
| <body bgcolor="white" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0"> | ||||
| <div id="headgraphic"> | ||||
| <img src="h1_help_zcc.gif" width="221" height="26" border="0"></div> | ||||
| <div id="helpcontent"> | ||||
|  | ||||
| <!--Begin Content --> | ||||
|  | ||||
|   <div class="head3b">Entering your workstation password</div> | ||||
|  | ||||
|   <!--Remove this section if you do not need introductory text for this topic --> | ||||
|   <p class="margintop2">You are prompted for your workstation password if the CASA | ||||
|     service is restarted and before you have set your master password.</p> | ||||
|      | ||||
| 	<p>Your desktop password and master password are used to encypt your secrets  | ||||
| 	and store them on your computer. When you login to the computer, CASA will decrypt | ||||
| 	the saved secrets using your desktop password and make them available for  | ||||
| 	applications integrated with CASA. | ||||
| 	If your desktop password changes, you must run CASA Manager and enter your master | ||||
| 	password before CASA can decrypt your saved secrets.</p>  | ||||
| 	 | ||||
|      | ||||
|   <p><b>Important:</b> To prevent unauthorized access to your credential stores,  | ||||
|     always create confidential passwords that are not easily discovered.</p> | ||||
|    | ||||
|     <!--End Content --> | ||||
|     <br> | ||||
| <div class="ruleabove"></div></div> | ||||
| </body> | ||||
| </html> | ||||
| @@ -8244,4 +8244,353 @@ prompted for the Master Password at startup.</property> | ||||
|   </child> | ||||
| </widget> | ||||
|  | ||||
| <widget class="GtkDialog" id="dialogDesktopPassword"> | ||||
|   <property name="visible">True</property> | ||||
|   <property name="title" translatable="yes">Enter Workstation Password</property> | ||||
|   <property name="type">GTK_WINDOW_TOPLEVEL</property> | ||||
|   <property name="window_position">GTK_WIN_POS_CENTER_ALWAYS</property> | ||||
|   <property name="modal">True</property> | ||||
|   <property name="resizable">False</property> | ||||
|   <property name="destroy_with_parent">True</property> | ||||
|   <property name="icon">CASAicons.ico</property> | ||||
|   <property name="decorated">True</property> | ||||
|   <property name="skip_taskbar_hint">False</property> | ||||
|   <property name="skip_pager_hint">False</property> | ||||
|   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> | ||||
|   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> | ||||
|   <property name="has_separator">True</property> | ||||
|  | ||||
|   <child internal-child="vbox"> | ||||
|     <widget class="GtkVBox" id="vbox105"> | ||||
|       <property name="visible">True</property> | ||||
|       <property name="homogeneous">False</property> | ||||
|       <property name="spacing">0</property> | ||||
|  | ||||
|       <child internal-child="action_area"> | ||||
| 	<widget class="GtkHButtonBox" id="hbuttonbox13"> | ||||
| 	  <property name="visible">True</property> | ||||
| 	  <property name="layout_style">GTK_BUTTONBOX_END</property> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkButton" id="helpbuttonDesktopPassword"> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="can_default">True</property> | ||||
| 	      <property name="can_focus">True</property> | ||||
| 	      <property name="label">gtk-help</property> | ||||
| 	      <property name="use_stock">True</property> | ||||
| 	      <property name="relief">GTK_RELIEF_NONE</property> | ||||
| 	      <property name="focus_on_click">True</property> | ||||
| 	      <property name="response_id">-11</property> | ||||
| 	      <signal name="clicked" handler="on_helpbuttonDesktopPassword_clicked" last_modification_time="Tue, 21 Feb 2006 16:51:04 GMT"/> | ||||
| 	    </widget> | ||||
| 	  </child> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkButton" id="buttonPasswordClose"> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="can_default">True</property> | ||||
| 	      <property name="can_focus">True</property> | ||||
| 	      <property name="label">gtk-close</property> | ||||
| 	      <property name="use_stock">True</property> | ||||
| 	      <property name="relief">GTK_RELIEF_NORMAL</property> | ||||
| 	      <property name="focus_on_click">True</property> | ||||
| 	      <property name="response_id">-7</property> | ||||
| 	      <signal name="clicked" handler="on_buttonPasswordClose_clicked" last_modification_time="Fri, 17 Feb 2006 23:00:27 GMT"/> | ||||
| 	    </widget> | ||||
| 	  </child> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkButton" id="buttonPasswordOk"> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="can_default">True</property> | ||||
| 	      <property name="can_focus">True</property> | ||||
| 	      <property name="label">gtk-ok</property> | ||||
| 	      <property name="use_stock">True</property> | ||||
| 	      <property name="relief">GTK_RELIEF_NORMAL</property> | ||||
| 	      <property name="focus_on_click">True</property> | ||||
| 	      <property name="response_id">-5</property> | ||||
| 	      <signal name="clicked" handler="on_buttonPasswordOk_clicked" last_modification_time="Tue, 21 Feb 2006 18:15:24 GMT"/> | ||||
| 	    </widget> | ||||
| 	  </child> | ||||
| 	</widget> | ||||
| 	<packing> | ||||
| 	  <property name="padding">0</property> | ||||
| 	  <property name="expand">False</property> | ||||
| 	  <property name="fill">True</property> | ||||
| 	  <property name="pack_type">GTK_PACK_END</property> | ||||
| 	</packing> | ||||
|       </child> | ||||
|  | ||||
|       <child> | ||||
| 	<widget class="GtkVBox" id="vbox106"> | ||||
| 	  <property name="visible">True</property> | ||||
| 	  <property name="homogeneous">False</property> | ||||
| 	  <property name="spacing">0</property> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkHBox" id="hbox71"> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="homogeneous">False</property> | ||||
| 	      <property name="spacing">0</property> | ||||
|  | ||||
| 	      <child> | ||||
| 		<widget class="GtkVBox" id="vbox107"> | ||||
| 		  <property name="visible">True</property> | ||||
| 		  <property name="homogeneous">False</property> | ||||
| 		  <property name="spacing">0</property> | ||||
|  | ||||
| 		  <child> | ||||
| 		    <widget class="GtkImage" id="image2776"> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="stock">gtk-dialog-question</property> | ||||
| 		      <property name="icon_size">6</property> | ||||
| 		      <property name="xalign">0.5</property> | ||||
| 		      <property name="yalign">0.5</property> | ||||
| 		      <property name="xpad">0</property> | ||||
| 		      <property name="ypad">0</property> | ||||
| 		    </widget> | ||||
| 		    <packing> | ||||
| 		      <property name="padding">6</property> | ||||
| 		      <property name="expand">False</property> | ||||
| 		      <property name="fill">True</property> | ||||
| 		    </packing> | ||||
| 		  </child> | ||||
| 		</widget> | ||||
| 		<packing> | ||||
| 		  <property name="padding">4</property> | ||||
| 		  <property name="expand">True</property> | ||||
| 		  <property name="fill">True</property> | ||||
| 		</packing> | ||||
| 	      </child> | ||||
|  | ||||
| 	      <child> | ||||
| 		<widget class="GtkVBox" id="vbox108"> | ||||
| 		  <property name="visible">True</property> | ||||
| 		  <property name="homogeneous">False</property> | ||||
| 		  <property name="spacing">0</property> | ||||
|  | ||||
| 		  <child> | ||||
| 		    <widget class="GtkLabel" id="label174"> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="label" translatable="yes"><b>Enter Workstation Password</b></property> | ||||
| 		      <property name="use_underline">False</property> | ||||
| 		      <property name="use_markup">True</property> | ||||
| 		      <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
| 		      <property name="wrap">False</property> | ||||
| 		      <property name="selectable">False</property> | ||||
| 		      <property name="xalign">0</property> | ||||
| 		      <property name="yalign">0.5</property> | ||||
| 		      <property name="xpad">0</property> | ||||
| 		      <property name="ypad">0</property> | ||||
| 		    </widget> | ||||
| 		    <packing> | ||||
| 		      <property name="padding">5</property> | ||||
| 		      <property name="expand">False</property> | ||||
| 		      <property name="fill">False</property> | ||||
| 		    </packing> | ||||
| 		  </child> | ||||
|  | ||||
| 		  <child> | ||||
| 		    <widget class="GtkLabel" id="label175"> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="label" translatable="yes">CASA encypts your credentials | ||||
| and writes them in your home directory. | ||||
| To retrieve them, please enter your  | ||||
| workstation password.  | ||||
| </property> | ||||
| 		      <property name="use_underline">False</property> | ||||
| 		      <property name="use_markup">False</property> | ||||
| 		      <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
| 		      <property name="wrap">False</property> | ||||
| 		      <property name="selectable">False</property> | ||||
| 		      <property name="xalign">0</property> | ||||
| 		      <property name="yalign">0.5</property> | ||||
| 		      <property name="xpad">0</property> | ||||
| 		      <property name="ypad">0</property> | ||||
| 		    </widget> | ||||
| 		    <packing> | ||||
| 		      <property name="padding">4</property> | ||||
| 		      <property name="expand">False</property> | ||||
| 		      <property name="fill">False</property> | ||||
| 		    </packing> | ||||
| 		  </child> | ||||
| 		</widget> | ||||
| 		<packing> | ||||
| 		  <property name="padding">0</property> | ||||
| 		  <property name="expand">True</property> | ||||
| 		  <property name="fill">True</property> | ||||
| 		</packing> | ||||
| 	      </child> | ||||
| 	    </widget> | ||||
| 	    <packing> | ||||
| 	      <property name="padding">0</property> | ||||
| 	      <property name="expand">True</property> | ||||
| 	      <property name="fill">True</property> | ||||
| 	    </packing> | ||||
| 	  </child> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkLabel" id="labelDesktopPasswordMessage"> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="label" translatable="yes"></property> | ||||
| 	      <property name="use_underline">True</property> | ||||
| 	      <property name="use_markup">True</property> | ||||
| 	      <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
| 	      <property name="wrap">False</property> | ||||
| 	      <property name="selectable">False</property> | ||||
| 	      <property name="xalign">0.5</property> | ||||
| 	      <property name="yalign">0.5</property> | ||||
| 	      <property name="xpad">0</property> | ||||
| 	      <property name="ypad">0</property> | ||||
| 	    </widget> | ||||
| 	    <packing> | ||||
| 	      <property name="padding">0</property> | ||||
| 	      <property name="expand">False</property> | ||||
| 	      <property name="fill">False</property> | ||||
| 	    </packing> | ||||
| 	  </child> | ||||
|  | ||||
| 	  <child> | ||||
| 	    <widget class="GtkFrame" id="frame20"> | ||||
| 	      <property name="border_width">6</property> | ||||
| 	      <property name="visible">True</property> | ||||
| 	      <property name="label_xalign">0</property> | ||||
| 	      <property name="label_yalign">0.5</property> | ||||
| 	      <property name="shadow_type">GTK_SHADOW_IN</property> | ||||
|  | ||||
| 	      <child> | ||||
| 		<widget class="GtkAlignment" id="alignment33"> | ||||
| 		  <property name="visible">True</property> | ||||
| 		  <property name="xalign">0.5</property> | ||||
| 		  <property name="yalign">0.5</property> | ||||
| 		  <property name="xscale">1</property> | ||||
| 		  <property name="yscale">1</property> | ||||
| 		  <property name="top_padding">0</property> | ||||
| 		  <property name="bottom_padding">0</property> | ||||
| 		  <property name="left_padding">12</property> | ||||
| 		  <property name="right_padding">0</property> | ||||
|  | ||||
| 		  <child> | ||||
| 		    <widget class="GtkTable" id="table17"> | ||||
| 		      <property name="border_width">6</property> | ||||
| 		      <property name="visible">True</property> | ||||
| 		      <property name="n_rows">2</property> | ||||
| 		      <property name="n_columns">2</property> | ||||
| 		      <property name="homogeneous">False</property> | ||||
| 		      <property name="row_spacing">6</property> | ||||
| 		      <property name="column_spacing">6</property> | ||||
|  | ||||
| 		      <child> | ||||
| 			<widget class="GtkLabel" id="label176"> | ||||
| 			  <property name="visible">True</property> | ||||
| 			  <property name="label" translatable="yes">Workstation Password :</property> | ||||
| 			  <property name="use_underline">False</property> | ||||
| 			  <property name="use_markup">False</property> | ||||
| 			  <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
| 			  <property name="wrap">False</property> | ||||
| 			  <property name="selectable">False</property> | ||||
| 			  <property name="xalign">1</property> | ||||
| 			  <property name="yalign">0.5</property> | ||||
| 			  <property name="xpad">0</property> | ||||
| 			  <property name="ypad">0</property> | ||||
| 			</widget> | ||||
| 			<packing> | ||||
| 			  <property name="left_attach">0</property> | ||||
| 			  <property name="right_attach">1</property> | ||||
| 			  <property name="top_attach">0</property> | ||||
| 			  <property name="bottom_attach">1</property> | ||||
| 			  <property name="x_options">fill</property> | ||||
| 			  <property name="y_options"></property> | ||||
| 			</packing> | ||||
| 		      </child> | ||||
|  | ||||
| 		      <child> | ||||
| 			<widget class="GtkLabel" id="label177"> | ||||
| 			  <property name="visible">True</property> | ||||
| 			  <property name="label" translatable="yes">Re-enter Password :</property> | ||||
| 			  <property name="use_underline">False</property> | ||||
| 			  <property name="use_markup">False</property> | ||||
| 			  <property name="justify">GTK_JUSTIFY_LEFT</property> | ||||
| 			  <property name="wrap">False</property> | ||||
| 			  <property name="selectable">False</property> | ||||
| 			  <property name="xalign">1</property> | ||||
| 			  <property name="yalign">0.5</property> | ||||
| 			  <property name="xpad">0</property> | ||||
| 			  <property name="ypad">0</property> | ||||
| 			</widget> | ||||
| 			<packing> | ||||
| 			  <property name="left_attach">0</property> | ||||
| 			  <property name="right_attach">1</property> | ||||
| 			  <property name="top_attach">1</property> | ||||
| 			  <property name="bottom_attach">2</property> | ||||
| 			  <property name="x_options">fill</property> | ||||
| 			  <property name="y_options"></property> | ||||
| 			</packing> | ||||
| 		      </child> | ||||
|  | ||||
| 		      <child> | ||||
| 			<widget class="GtkEntry" id="entryDesktopPassword1"> | ||||
| 			  <property name="visible">True</property> | ||||
| 			  <property name="can_focus">True</property> | ||||
| 			  <property name="editable">True</property> | ||||
| 			  <property name="visibility">False</property> | ||||
| 			  <property name="max_length">0</property> | ||||
| 			  <property name="text" translatable="yes"></property> | ||||
| 			  <property name="has_frame">True</property> | ||||
| 			  <property name="invisible_char">*</property> | ||||
| 			  <property name="activates_default">False</property> | ||||
| 			  <signal name="activate" handler="on_entryDesktopPassword1_activate" last_modification_time="Tue, 21 Feb 2006 18:30:33 GMT"/> | ||||
| 			</widget> | ||||
| 			<packing> | ||||
| 			  <property name="left_attach">1</property> | ||||
| 			  <property name="right_attach">2</property> | ||||
| 			  <property name="top_attach">0</property> | ||||
| 			  <property name="bottom_attach">1</property> | ||||
| 			  <property name="y_options"></property> | ||||
| 			</packing> | ||||
| 		      </child> | ||||
|  | ||||
| 		      <child> | ||||
| 			<widget class="GtkEntry" id="entryDesktopPassword2"> | ||||
| 			  <property name="visible">True</property> | ||||
| 			  <property name="can_focus">True</property> | ||||
| 			  <property name="editable">True</property> | ||||
| 			  <property name="visibility">False</property> | ||||
| 			  <property name="max_length">0</property> | ||||
| 			  <property name="text" translatable="yes"></property> | ||||
| 			  <property name="has_frame">True</property> | ||||
| 			  <property name="invisible_char">*</property> | ||||
| 			  <property name="activates_default">False</property> | ||||
| 			  <signal name="activate" handler="on_entryDesktopPassword2_activate" last_modification_time="Tue, 21 Feb 2006 18:31:48 GMT"/> | ||||
| 			</widget> | ||||
| 			<packing> | ||||
| 			  <property name="left_attach">1</property> | ||||
| 			  <property name="right_attach">2</property> | ||||
| 			  <property name="top_attach">1</property> | ||||
| 			  <property name="bottom_attach">2</property> | ||||
| 			  <property name="y_options"></property> | ||||
| 			</packing> | ||||
| 		      </child> | ||||
| 		    </widget> | ||||
| 		  </child> | ||||
| 		</widget> | ||||
| 	      </child> | ||||
| 	    </widget> | ||||
| 	    <packing> | ||||
| 	      <property name="padding">0</property> | ||||
| 	      <property name="expand">True</property> | ||||
| 	      <property name="fill">True</property> | ||||
| 	    </packing> | ||||
| 	  </child> | ||||
| 	</widget> | ||||
| 	<packing> | ||||
| 	  <property name="padding">0</property> | ||||
| 	  <property name="expand">True</property> | ||||
| 	  <property name="fill">True</property> | ||||
| 	</packing> | ||||
|       </child> | ||||
|     </widget> | ||||
|   </child> | ||||
| </widget> | ||||
|  | ||||
| </glade-interface> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user