Changeset 2540


Ignore:
Timestamp:
Jan 31, 2011, 1:35:16 PM (10 years ago)
Author:
kopal
Message:

added "Remember my password" button. So the user can decide if he wants to save his password on the machine or not

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypP2P/Internal/ConnectionManager.cs

    r2435 r2540  
    119119            }
    120120
    121             if (String.IsNullOrEmpty(P2PSettings.Default.Password))
     121            string password = null;
     122            if (P2PSettings.Default.RememberPassword)
     123            {
     124                password = P2PBase.DecryptString(P2PSettings.Default.Password);
     125            }
     126            else
     127            {
     128                password = P2PBase.DecryptString(P2PBase.Password);
     129            }
     130
     131            if (String.IsNullOrEmpty(password))
    122132            {
    123133                P2PManager.GuiLogMessage("Peer-to-peer not fully configured: password missing.",
  • trunk/CrypP2P/Internal/P2PBase.cs

    r2502 r2540  
    9898        }
    9999
     100        public static string Password { get; set; }
     101
    100102        #region Basic P2P Methods (Init, Start, Stop)
    101103
     
    201203                                        NotificationLevel.Info);
    202204            IsInitialized = true;
    203             Dht.Initialize(P2PSettings.Default.PeerName, DecryptString(P2PSettings.Default.Password), P2PSettings.Default.WorldName, overlay,
     205           
     206            string password = null;
     207            if(P2PSettings.Default.RememberPassword){
     208                password = DecryptString(P2PSettings.Default.Password);
     209            }else{
     210                password = DecryptString(P2PBase.Password);               
     211            }           
     212
     213            Dht.Initialize(P2PSettings.Default.PeerName, password, P2PSettings.Default.WorldName, overlay,
    204214                           bootstrapper, linkmanager, null);
    205215        }
  • trunk/CrypP2P/P2PSettings.Designer.cs

    r2533 r2540  
    218218        [global::System.Configuration.UserScopedSettingAttribute()]
    219219        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     220        [global::System.Configuration.DefaultSettingValueAttribute("False")]
     221        public bool RememberPassword {
     222            get {
     223                return ((bool)(this["RememberPassword"]));
     224            }
     225            set {
     226                this["RememberPassword"] = value;
     227            }
     228        }
     229       
     230        [global::System.Configuration.UserScopedSettingAttribute()]
     231        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    220232        [global::System.Configuration.DefaultSettingValueAttribute("- offline -")]
    221233        public string NetSize {
     
    227239            }
    228240        }
     241
    229242    }
    230243}
  • trunk/CrypP2P/P2PSettings.settings

    r2533 r2540  
    5151      <Value Profile="(Default)">True</Value>
    5252    </Setting>
     53    <Setting Name="RememberPassword" Type="System.Boolean" Scope="User">
     54      <Value Profile="(Default)">False</Value>
     55    </Setting>
    5356    <Setting Name="NetSize" Type="System.String" Scope="User">
    5457      <Value Profile="(Default)">- offline -</Value>
  • trunk/CrypP2P/app.config

    r2533 r2540  
    5656                <value>True</value>
    5757            </setting>
    58             <setting name="NetSize" serializeAs="String">
     58            <setting name="RememberPassword" serializeAs="String">
     59                <value>False</value>
     60            </setting>
     61          <setting name="NetSize" serializeAs="String">
    5962                <value>- offline -</value>
    60             </setting>
     63            </setting>             
    6164        </Cryptool.P2P.P2PSettings>
    6265    </userSettings>
  • trunk/CrypPlugins/P2PEditor/GUI/Controls/ConnectView.xaml

    r2492 r2540  
    9696                </TextBlock>
    9797                <Label Width="200">Password:</Label>
    98                 <PasswordBox Width="200" Name="Password" PasswordChanged="Password_PasswordChanged" IsEnabled="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource InverseBooleanConverter}}" MaxLength="40"/>
     98                <PasswordBox Name="Password" Width="200" PasswordChanged="Password_PasswordChanged" IsEnabled="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource InverseBooleanConverter}}" MaxLength="40"/>               
    9999                <TextBlock Width="200" FontSize="12" MouseDown="ForgotPasswordLabel_Click" Cursor="Hand" HorizontalAlignment="Center" IsEnabled="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource InverseBooleanConverter}}" Foreground="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource ForegroundColorConverter}}">
    100100                    <Underline>Forgot password</Underline>
    101101                </TextBlock>
     102                <Label/>
     103                <CheckBox Width="200" Name="RememberPasswordCheckbox" Click="RememberPasswordCheckbox_Click" IsEnabled="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource InverseBooleanConverter}}">
     104                    Remember my password
     105                </CheckBox>
    102106                <Label/>
    103107                <Button Width="200" Name="ConnectButton" IsDefault="True" Content="Connect" Height="38" FontFamily="Consolas" FontSize="20" Click="ConnectButtonClick" IsEnabled="{Binding IsP2PConnecting, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Converter={StaticResource InverseBooleanConverter}}" />               
  • trunk/CrypPlugins/P2PEditor/GUI/Controls/ConnectView.xaml.cs

    r2497 r2540  
    9191            WrongPassword = false;
    9292
     93            string password = null;
     94            if (P2PSettings.Default.RememberPassword)
     95            {
     96                password = P2PBase.DecryptString(P2PSettings.Default.Password);
     97            }
     98            else
     99            {
     100                password = P2PBase.DecryptString(P2PBase.Password);
     101            }
     102
    93103            try
    94104            {
     
    109119            try
    110120            {
     121                     
    111122                if (CertificateServices.GetPeerCertificateByAvatar(PeerCertificate.DEFAULT_USER_CERTIFICATE_DIRECTORY,
    112                     P2PSettings.Default.PeerName, P2PBase.DecryptString(P2PSettings.Default.Password)) == null)
     123                    P2PSettings.Default.PeerName, password) == null)
    113124                {                   
    114125                    HaveCertificate = false;               
     
    136147                    certificateClient.InvalidCertificateRequest += InvalidCertificateRequest;
    137148                    certificateClient.CertificateReceived += CertificateReceived;
    138                     certificateClient.RequestCertificate(new CertificateRequest(P2PSettings.Default.PeerName, null, P2PBase.DecryptString(P2PSettings.Default.Password)));
     149                    certificateClient.RequestCertificate(new CertificateRequest(P2PSettings.Default.PeerName, null, password));
    139150                }
    140151                catch (Exception ex)
     
    253264        }
    254265
     266        private void RememberPasswordCheckbox_Click(object sender, RoutedEventArgs e)
     267        {
     268            ((P2PEditorSettings)((P2PEditor)GetValue(P2PEditorProperty)).Settings).RememberPassword = (bool)this.RememberPasswordCheckbox.IsChecked;
     269        }
     270
    255271        private void P2PUserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
    256272        {           
    257273            this.Username.Text = ((P2PEditorSettings)((P2PEditor)GetValue(P2PEditorProperty)).Settings).PeerName;
    258274            this.Password.Password = ((P2PEditorSettings)((P2PEditor)GetValue(P2PEditorProperty)).Settings).Password;
     275            this.RememberPasswordCheckbox.IsChecked = ((P2PEditorSettings)((P2PEditor)GetValue(P2PEditorProperty)).Settings).RememberPassword;
    259276            this.RaiseP2PConnectingEvent(IsP2PConnecting);
    260277        }
     
    280297                    }
    281298                //},null);
    282             }           
     299            }
     300            if (args.PropertyName.Equals("RememberPassword"))
     301            {
     302                //this.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     303                //{
     304                if (this.RememberPasswordCheckbox.IsChecked != ((P2PEditorSettings)sender).RememberPassword)
     305                {
     306                    this.RememberPasswordCheckbox.IsChecked = ((P2PEditorSettings)sender).RememberPassword;
     307                }
     308                //},null);
     309            }
    283310        }
    284311
     
    287314            ((P2PEditorSettings)((P2PEditor)GetValue(P2PEditorProperty)).Settings).PropertyChanged += OnPropertyChanged_Settings;
    288315        }
     316
     317       
    289318    }
    290319}
  • trunk/CrypPlugins/P2PEditor/P2PEditorSettings.cs

    r2533 r2540  
    9595        #region Settings
    9696
    97         [TaskPane("username_caption",
     97        /*[TaskPane("username_caption",
    9898            "username_tooltip"
    99             , null, 0, false, ControlType.TextBox)]
     99            , null, 0, false, ControlType.TextBox)]*/
    100100        public string PeerName
    101101        {
     
    112112        }
    113113
    114         [TaskPane("password_caption",
     114        /*[TaskPane("password_caption",
    115115            "password_tooltip"
    116             , null, 1, false, ControlType.TextBoxHidden)]
     116            , null, 1, false, ControlType.TextBoxHidden)]*/
    117117        public string Password
    118118        {
    119             get { return P2PBase.DecryptString(settings.Password); }
    120             set
    121             {
    122                 if (P2PBase.EncryptString(value) != settings.Password)
    123                 {
    124                     settings.Password = P2PBase.EncryptString(value);
    125                     OnPropertyChanged("Password");
    126                     HasChanges = true;
     119            get {
     120                if (RememberPassword)
     121                {
     122                    return P2PBase.DecryptString(settings.Password);
     123                }
     124                else
     125                {
     126                    return P2PBase.DecryptString(P2PBase.Password);
     127                }
     128                }
     129            set
     130            {
     131                if (RememberPassword)
     132                {
     133                    if (P2PBase.EncryptString(value) != settings.Password)
     134                    {
     135                        settings.Password = P2PBase.EncryptString(value);
     136                        OnPropertyChanged("Password");
     137                        HasChanges = true;
     138                    }
     139                }
     140                else
     141                {
     142                    if (P2PBase.EncryptString(value) != P2PBase.Password)
     143                    {
     144                        P2PBase.Password = P2PBase.EncryptString(value);
     145                        OnPropertyChanged("Password");
     146                        HasChanges = true;
     147                    }                   
     148                }
     149            }
     150        }
     151
     152        /*[TaskPane("rememberPassword_caption",
     153            "rememberPassword_tooltip"
     154            , null, 1, false, ControlType.CheckBox)]*/
     155        public bool RememberPassword
     156        {
     157            get { return settings.RememberPassword; }
     158            set
     159            {
     160                if (value != settings.RememberPassword)
     161                {
     162                    settings.RememberPassword = value;
     163                    if (value)
     164                    {
     165                        settings.Password = P2PBase.Password;
     166                        P2PBase.Password = "";
     167                    }
     168                    else
     169                    {
     170                        P2PBase.Password = settings.Password;
     171                        settings.Password = "";
     172                    }
     173                    HasChanges = true;
     174                    OnPropertyChanged("RememberPassword");
    127175                }
    128176            }
  • trunk/CrypPlugins/P2PEditor/Resources/Attributes.Designer.cs

    r2533 r2540  
    260260       
    261261        /// <summary>
     262        ///   Looks up a localized string similar to Remember Password.
     263        /// </summary>
     264        internal static string rememberPassword_caption {
     265            get {
     266                return ResourceManager.GetString("rememberPassword_caption", resourceCulture);
     267            }
     268        }
     269       
     270        /// <summary>
     271        ///   Looks up a localized string similar to Remember Password.
     272        /// </summary>
     273        internal static string rememberPassword_tooltip {
     274            get {
     275                return ResourceManager.GetString("rememberPassword_tooltip", resourceCulture);
     276            }
     277        }
     278       
     279        /// <summary>
    262280        ///   Looks up a localized string similar to Server.
    263281        /// </summary>
  • trunk/CrypPlugins/P2PEditor/Resources/Attributes.resx

    r2533 r2540  
    184184    <value>Password of your Peers@Play certificate</value>
    185185  </data>
     186  <data name="rememberPassword_caption" xml:space="preserve">
     187    <value>Remember Password</value>
     188  </data>
     189  <data name="rememberPassword_tooltip" xml:space="preserve">
     190    <value>Remember Password</value>
     191  </data>
    186192  <data name="serverHost_caption" xml:space="preserve">
    187193    <value>Host</value>
Note: See TracChangeset for help on using the changeset viewer.