예제 #1
0
        private void InitializePropertyValues()
        {
            WatchedFoldersEnabled  = false;
            WatchedFolders         = new string[0];
            DragAndDropFiles       = new string[0];
            RecentFiles            = new ActiveFile[0];
            SelectedRecentFiles    = new string[0];
            SelectedWatchedFolders = new string[0];
            DecryptedFiles         = new ActiveFile[0];
            DebugMode               = _userSettings.DebugMode;
            FolderOperationMode     = _userSettings.FolderOperationMode;
            DownloadVersion         = DownloadVersion.Empty;
            VersionUpdateStatus     = DownloadVersion.CalculateStatus(New <IVersion>().Current, New <INow>().Utc, _userSettings.LastUpdateCheckUtc);
            License                 = New <LicensePolicy>().Capabilities;
            EncryptionUpgradeMode   = _userSettings.EncryptionUpgradeMode;
            AddWatchedFolders       = new AsyncDelegateAction <IEnumerable <string> >((folders) => AddWatchedFoldersActionAsync(folders), (folders) => Task.FromResult(LoggedOn));
            RemoveRecentFiles       = new AsyncDelegateAction <IEnumerable <string> >((files) => RemoveRecentFilesAction(files));
            EncryptPendingFiles     = new AsyncDelegateAction <object>((parameter) => EncryptPendingFilesAction());
            ClearPassphraseMemory   = new AsyncDelegateAction <object>((parameter) => ClearPassphraseMemoryAction());
            DecryptWatchedFolders   = new AsyncDelegateAction <IEnumerable <string> >((folders) => DecryptWatchedFoldersAction(folders), (folders) => Task.FromResult(LoggedOn));
            OpenSelectedFolder      = new DelegateAction <string>((folder) => OpenSelectedFolderAction(folder));
            AxCryptUpdateCheck      = new AsyncDelegateAction <DateTime>((utc) => AxCryptUpdateCheckAction(utc));
            LicenseUpdate           = new DelegateAction <object>((o) => License = New <LicensePolicy>().Capabilities);
            RemoveWatchedFolders    = new AsyncDelegateAction <IEnumerable <string> >((folders) => RemoveWatchedFoldersAction(folders), (folders) => Task.FromResult(LoggedOn));
            WarnIfAnyDecryptedFiles = new AsyncDelegateAction <object>((o) => WarnIfAnyDecryptedFilesActionAsync());

            DecryptFileEnabled   = true;
            OpenEncryptedEnabled = true;
            RandomRenameEnabled  = true;
        }
예제 #2
0
        private void InitializePropertyValues()
        {
            WatchedFoldersEnabled  = false;
            WatchedFolders         = new string[0];
            DragAndDropFiles       = new string[0];
            SelectedWatchedFolders = new string[0];

            AddWatchedFolders    = new AsyncDelegateAction <IEnumerable <string> >(async(folders) => await AddWatchedFoldersAction(folders), (folders) => Task.FromResult(LoggedOn));
            RemoveWatchedFolders = new AsyncDelegateAction <IEnumerable <string> >(async(folders) => await RemoveWatchedFoldersAction(folders), (folders) => Task.FromResult(LoggedOn));
            OpenSelectedFolder   = new DelegateAction <string>((folder) => OpenSelectedFolderAction(folder));
        }
예제 #3
0
        private void InitializePropertyValues(IEnumerable <UserPublicKey> sharedWith)
        {
            SetSharedAndNotSharedWith(sharedWith);
            NewKeyShare = string.Empty;
            IsOnline    = New <AxCryptOnlineState>().IsOnline;

            AddKeyShares            = new AsyncDelegateAction <IEnumerable <EmailAddress> >((upks) => AddKeySharesActionAsync(upks));
            RemoveKnownContact      = new AsyncDelegateAction <IEnumerable <UserPublicKey> >((upks) => RemoveKnownContactsActionAsync(upks));
            RemoveKeyShares         = new AsyncDelegateAction <IEnumerable <UserPublicKey> >((upks) => RemoveKeySharesActionAsync(upks));
            AddNewKeyShare          = new AsyncDelegateAction <string>((email) => AddNewKeyShareActionAsync(email), (email) => Task.FromResult(this[nameof(NewKeyShare)].Length == 0));
            ShareFolders            = new AsyncDelegateAction <object>((o) => ShareFoldersActionAsync());
            ShareFiles              = new AsyncDelegateAction <object>((o) => ShareFilesActionAsync());
            UpdateNewKeyShareStatus = new AsyncDelegateAction <object>(async(o) => NewKeyShareStatus = await NewKeyShareStatusAsync());
        }
 private void InitializePropertyValues()
 {
     DecryptFiles             = new AsyncDelegateAction <IEnumerable <string> >((files) => DecryptFilesActionAsync(files));
     EncryptFiles             = new AsyncDelegateAction <IEnumerable <string> >((files) => EncryptFilesActionAsync(files));
     OpenFiles                = new AsyncDelegateAction <IEnumerable <string> >((files) => OpenFilesActionAsync(files));
     DecryptFolders           = new AsyncDelegateAction <IEnumerable <string> >((folders) => DecryptFoldersActionAsync(folders), (folders) => Task.FromResult(_knownIdentities.IsLoggedOn));
     WipeFiles                = new AsyncDelegateAction <IEnumerable <string> >((files) => WipeFilesActionAsync(files));
     RandomRenameFiles        = new AsyncDelegateAction <IEnumerable <string> >((files) => RandomRenameFilesActionAsync(files));
     RestoreRandomRenameFiles = new AsyncDelegateAction <IEnumerable <string> >((files) => RestoreRandomRenameFilesActionAsync(files));
     OpenFilesFromFolder      = new AsyncDelegateAction <string>((folder) => OpenFilesFromFolderActionAsync(folder), (folder) => Task.FromResult(true));
     AddRecentFiles           = new AsyncDelegateAction <IEnumerable <string> >((files) => AddRecentFilesActionAsync(files));
     AsyncEncryptionUpgrade   = new AsyncDelegateAction <IEnumerable <IDataContainer> >((containers) => EncryptionUpgradeActionAsync(containers), (containers) => Task.FromResult(_knownIdentities.IsLoggedOn));
     ShowInFolder             = new AsyncDelegateAction <IEnumerable <string> >((files) => ShowInFolderActionAsync(files));
     TryBrokenFiles           = new AsyncDelegateAction <IEnumerable <string> >((files) => TryBrokenFilesActionAsync(files));
     VerifyFiles              = new AsyncDelegateAction <IEnumerable <string> >((files) => VerifyFilesActionAsync(files));
     IntegrityCheckFiles      = new AsyncDelegateAction <IEnumerable <string> >((files) => IntegrityCheckFilesActionAsync(files));
 }
예제 #5
0
        public IdentityViewModel(FileSystemState fileSystemState, KnownIdentities knownIdentities, UserSettings userSettings, SessionNotify sessionNotify)
        {
            _fileSystemState = fileSystemState;
            _knownIdentities = knownIdentities;
            _userSettings    = userSettings;
            _sessionNotify   = sessionNotify;

            LogOnIdentity = LogOnIdentity.Empty;

            LogOnAsync = new AsyncDelegateAction <object>(async(o) => { if (!_knownIdentities.IsLoggedOn)
                                                                        {
                                                                            LogOnIdentity = await LogOnActionAsync();
                                                                        }
                                                          });
            LogOff                  = new AsyncDelegateAction <object>(async(p) => { await LogOffAction(); LogOnIdentity = LogOnIdentity.Empty; }, (o) => Task.FromResult(_knownIdentities.IsLoggedOn));
            LogOnLogOff             = new AsyncDelegateAction <object>(async(o) => LogOnIdentity = await LogOnLogOffActionAsync());
            AskForDecryptPassphrase = new AsyncDelegateAction <string>(async(name) => LogOnIdentity = await AskForDecryptPassphraseActionAsync(name));
            AskForLogOnPassphrase   = new AsyncDelegateAction <LogOnIdentity>(async(id) => LogOnIdentity = await AskForLogOnPassphraseActionAsync(id, String.Empty));

            _sessionNotify.AddCommand(HandleLogOnLogOffNotifications);
        }
 private void InitializePropertyValues()
 {
     KnownFolders = new KnownFolder[0];
     UpdateState  = new AsyncDelegateAction <object>(async(object o) => KnownFolders = await UpdateEnabledStateAsync(KnownFolders));
 }
예제 #7
0
        private async Task InitializePropertyValuesAsync()
        {
            AccountProperties = (await _accountStorage.AllKeyPairsAsync()).Select(key => new AccountProperties(key.UserEmail, key.Timestamp));

            ChangePassphraseAsync = new AsyncDelegateAction <string>(async(password) => await ChangePassphraseActionAsync(password), async(password) => (await _accountStorage.AllKeyPairsAsync()).Any());
        }