Example #1
0
        private void RegisterViewModels()
        {
            SearchPageViewModel.Register(_searchPage);
            PrivacyModeViewModel.Register(_privacyMode);
            AddWalletPageViewModel.Register(_addWalletPage);
            SettingsPageViewModel.Register(_settingsPage);

            GeneralSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 0;
                return(_settingsPage);
            });

            PrivacySettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 1;
                return(_settingsPage);
            });

            NetworkSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 2;
                return(_settingsPage);
            });

            BitcoinTabSettingsViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 3;
                return(_settingsPage);
            });

            AboutViewModel.RegisterLazy(() => new AboutViewModel());

            BroadcastTransactionViewModel.RegisterAsyncLazy(
                async() =>
            {
                var dialogResult = await DialogScreen.NavigateDialog(new LoadTransactionViewModel(_global.Network));

                if (dialogResult.Result is { })
                {
                    while (_global.TransactionBroadcaster is null)
                    {
                        await Task.Delay(100);
                    }

                    return(new BroadcastTransactionViewModel(
                               _global.BitcoinStore,
                               _global.Network,
                               _global.TransactionBroadcaster,
                               dialogResult.Result));
                }

                return(null);
            });
Example #2
0
    public SettingsPageViewModel()
    {
        _selectedTab = 0;

        GeneralSettingsTab = new GeneralSettingsTabViewModel();
        BitcoinTabSettings = new BitcoinTabSettingsViewModel();

        RestartCommand = ReactiveCommand.Create(AppLifetimeHelper.Restart);
    }
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     if (value is ISettingsTabViewModel settingsTab)
     {
         return(settingsTab switch
         {
             GeneralSettingsTabViewModel _ => PackIconKind.Settings,
             LocationSettingsTabViewModel _ => PackIconKind.Globe,
             AdvancedSettingsTabViewModel _ => PackIconKind.CheckboxesMarked,
             ApplicationWhitelistSettingsTabViewModel _ => PackIconKind.Apps,
             HotKeySettingsTabViewModel _ => PackIconKind.Keyboard,
             _ => PackIconKind.QuestionMark // shouldn't happen
         });
Example #4
0
        private void RegisterViewModels()
        {
            SearchPageViewModel.Register(_searchPage);
            PrivacyModeViewModel.Register(_privacyMode);
            AddWalletPageViewModel.Register(_addWalletPage);
            SettingsPageViewModel.Register(_settingsPage);

            GeneralSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 0;
                return(_settingsPage);
            });

            PrivacySettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 1;
                return(_settingsPage);
            });

            NetworkSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 2;
                return(_settingsPage);
            });

            BitcoinTabSettingsViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 3;
                return(_settingsPage);
            });

            AboutViewModel.RegisterLazy(() => new AboutViewModel());

            BroadcastTransactionViewModel.RegisterAsyncLazy(
                async() =>
            {
                var dialogResult = await DialogScreen.NavigateDialogAsync(new LoadTransactionViewModel(Services.Config.Network));

                if (dialogResult.Result is { })
                {
                    return(new BroadcastTransactionViewModel(Services.Config.Network,
                                                             dialogResult.Result));
                }

                return(null);
            });
Example #5
0
        private void RegisterViewModels()
        {
            HomePageViewModel.Register(_homePage);

            SearchPageViewModel.Register(_searchPage);
            PrivacyModeViewModel.Register(_privacyMode);
            AddWalletPageViewModel.Register(_addWalletPage);
            SettingsPageViewModel.Register(_settingsPage);

            GeneralSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 0;
                return(_settingsPage);
            });

            PrivacySettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 1;
                return(_settingsPage);
            });

            NetworkSettingsTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 2;
                return(_settingsPage);
            });

            BitcoinTabViewModel.RegisterLazy(
                () =>
            {
                _settingsPage.SelectedTab = 3;
                return(_settingsPage);
            });

            AboutViewModel.RegisterLazy(() => new AboutViewModel());

            LegalDocumentsViewModel.RegisterAsyncLazy(
                async() =>
            {
                var content = await File.ReadAllTextAsync(_global.LegalDocuments.FilePath);

                var legalDocs = new LegalDocumentsViewModel(content);

                return(legalDocs);
            });
        }
        public SettingsViewModel(
            GeneralSettingsTabViewModel generalSettingsTabViewModel,
            ModuleOrderTabViewModel moduleOrderTabViewModel,
            PluginSettingsTabViewModel pluginSettingsTabViewModel,
            DeviceSettingsTabViewModel deviceSettingsTabViewModel)
        {
            DisplayName = "Settings";

            Items.Add(generalSettingsTabViewModel);
            Items.Add(moduleOrderTabViewModel);
            Items.Add(pluginSettingsTabViewModel);
            Items.Add(deviceSettingsTabViewModel);

            ActiveItem = generalSettingsTabViewModel;
        }