Пример #1
0
        void OnCredentialsChanged()
        {
            Credentials.PrivateKey = privateKeyLocationTextEntry.Text ?? string.Empty;
            Credentials.PublicKey  = publicKeyLocationTextEntry.Text ?? string.Empty;
            Credentials.Passphrase = passphraseEntry.Password ?? string.Empty;

            bool privateKeyIsValid = ValidatePrivateKey(Credentials.PrivateKey);
            bool publicKeyIsValid  = System.IO.File.Exists(Credentials.PublicKey);
            bool hasPassphrase     = false;

            if (privateKeyIsValid)
            {
                hasPassphrase = passphraseEntry.Sensitive = GitCredentials.KeyHasPassphrase(Credentials.PrivateKey);
                if (!hasPassphrase)
                {
                    passphraseEntry.Password        = "";
                    passphraseEntry.PlaceholderText = passphraseEntry.Accessible.Description = GettextCatalog.GetString("Private Key is not encrypted");
                }
                warningPrivateKey.Hide();
            }
            else
            {
                warningPrivateKey.Message = GettextCatalog.GetString("Please select a valid private key file");
                warningPrivateKey.Visible = true;
            }

            if (publicKeyIsValid)
            {
                warningPublicKey.Hide();
            }
            else
            {
                warningPublicKey.Message = GettextCatalog.GetString("Please select a valid public key (.pub) file");
                warningPublicKey.Show();
            }

            CredentialsAreValid = privateKeyIsValid && publicKeyIsValid && (!hasPassphrase || Credentials.Passphrase.Length > 0);

            CredentialsChanged?.Invoke(this, EventArgs.Empty);
        }
Пример #2
0
 void ShowPopoverMessage(string message, TaskSeverity severity)
 {
     warningPopover.Message  = message;
     warningPopover.Severity = severity;
     warningPopover.Show();
 }