public LanguagePageViewModel(MainModel mainModel, Func <IWindowContext> setupWizardWindowContextProxy, SetupWizardWindowLocalizator windowLocalization, SharedSetupContext sharedSetupContext) : base(mainModel, setupWizardWindowContextProxy, windowLocalization, sharedSetupContext, SetupWizardStep.LANGUAGE) { Localization = windowLocalization.LanguageStep; languagesList = new ObservableCollection <LanguageItemViewModel>(MainModel.Localization.Languages.Select(language => new LanguageItemViewModel(language))); selectedLanguage = languagesList.First(languageItem => languageItem.Language == MainModel.Localization.CurrentLanguage); }
private void Initialize() { AppSettings appSettings = MainModel.AppSettings; settingsChanged = false; isGeneralTabSelected = true; isNetworkTabSelected = false; isDownloadTabSelected = false; isMirrorsTabSelected = false; isSearchTabSelected = false; isExportTabSelected = false; isAdvancedTabSelected = false; generalLanguagesList = new ObservableCollection <LanguageItemViewModel>(MainModel.Localization.Languages.Select(language => new LanguageItemViewModel(language))); generalSelectedLanguage = generalLanguagesList.First(languageItem => languageItem.Language == MainModel.Localization.CurrentLanguage); generalUpdateCheckIntervalList = new Dictionary <GeneralSettings.UpdateCheckInterval, string> { { GeneralSettings.UpdateCheckInterval.NEVER, Localization.GeneralUpdateCheckIntervalNever }, { GeneralSettings.UpdateCheckInterval.DAILY, Localization.GeneralUpdateCheckIntervalDaily }, { GeneralSettings.UpdateCheckInterval.WEEKLY, Localization.GeneralUpdateCheckIntervalWeekly }, { GeneralSettings.UpdateCheckInterval.MONTHLY, Localization.GeneralUpdateCheckIntervalMonthly } }; generalSelectedUpdateCheckInterval = generalUpdateCheckIntervalList.First(interval => interval.Key == appSettings.General.UpdateCheck); networkIsOfflineModeOn = appSettings.Network.OfflineMode; networkUseProxy = appSettings.Network.UseProxy; networkProxyAddress = appSettings.Network.ProxyAddress; networkProxyPort = appSettings.Network.ProxyPort?.ToString() ?? String.Empty; networkProxyUserName = appSettings.Network.ProxyUserName; networkProxyPassword = appSettings.Network.ProxyPassword; downloadIsOpenInBrowserSelected = !appSettings.Download.UseDownloadManager; downloadIsUseDownloadManagerSelected = !downloadIsOpenInBrowserSelected; downloadDirectory = appSettings.Download.DownloadDirectory; downloadTimeoutDefaultValues = new ObservableCollection <string> { "30", "60", "90", "120", "180", "300", "600", "1200" }; downloadTimeout = appSettings.Download.Timeout.ToString(); downloadAttemptCountDefaultValues = new ObservableCollection <string> { "0", "1", "2", "3", "5", "10", "15", "20" }; downloadAttemptCount = appSettings.Download.Attempts.ToString(); downloadRetryDelayDefaultValues = new ObservableCollection <string> { "60", "120", "180", "300", "600", "1200" }; downloadRetryDelay = appSettings.Download.RetryDelay.ToString(); mirrorsNonFictionBooksMirrorList = BuildMirrorList(mirror => mirror.NonFictionDownloadUrl); mirrorsNonFictionCoversMirrorList = BuildMirrorList(mirror => mirror.NonFictionCoverUrl); mirrorsNonFictionSynchronizationMirrorList = BuildMirrorList(mirror => mirror.NonFictionSynchronizationUrl); mirrorsFictionBooksMirrorList = BuildMirrorList(mirror => mirror.FictionDownloadUrl); mirrorsFictionCoversMirrorList = BuildMirrorList(mirror => mirror.FictionCoverUrl); mirrorsArticlesMirrorList = BuildMirrorList(mirror => mirror.SciMagDownloadUrl); mirrorsSelectedNonFictionBooksMirror = GetDisplayMirrorName(appSettings.Mirrors.NonFictionBooksMirrorName); mirrorsSelectedNonFictionCoversMirror = GetDisplayMirrorName(appSettings.Mirrors.NonFictionCoversMirrorName); mirrorsSelectedNonFictionSynchronizationMirror = GetDisplayMirrorName(appSettings.Mirrors.NonFictionSynchronizationMirrorName); mirrorsSelectedFictionBooksMirror = GetDisplayMirrorName(appSettings.Mirrors.FictionBooksMirrorName); mirrorsSelectedFictionCoversMirror = GetDisplayMirrorName(appSettings.Mirrors.FictionCoversMirrorName); mirrorsSelectedArticlesMirror = GetDisplayMirrorName(appSettings.Mirrors.ArticlesMirrorName); searchMaximumResultCountDefaultValues = new ObservableCollection <string> { "100", "250", "500", "1000", "2500", "5000", "10000", "25000", "50000", "100000", "250000", "500000", "1000000" }; searchIsLimitResultsOn = appSettings.Search.LimitResults; searchMaximumResultCount = appSettings.Search.MaximumResultCount.ToString(); searchIsOpenInModalWindowSelected = false; searchIsOpenInNonModalWindowSelected = false; searchIsOpenInNewTabSelected = false; switch (appSettings.Search.OpenDetailsMode) { case SearchSettings.DetailsMode.NEW_MODAL_WINDOW: searchIsOpenInModalWindowSelected = true; break; case SearchSettings.DetailsMode.NEW_NON_MODAL_WINDOW: searchIsOpenInNonModalWindowSelected = true; break; case SearchSettings.DetailsMode.NEW_TAB: searchIsOpenInNewTabSelected = true; break; } exportIsOpenResultsAfterExportEnabled = appSettings.Export.OpenResultsAfterExport; exportIsSplitIntoMultipleFilesEnabled = appSettings.Export.SplitIntoMultipleFiles; exportMaximumRowsPerFileDefaultValues = new ObservableCollection <string> { "50000", "100000", "250000", "500000", "1000000" }; exportMaximumRowsPerFile = appSettings.Export.MaximumRowsPerFile.ToString(); advancedIsLoggingEnabled = appSettings.Advanced.LoggingEnabled; advancedIsSqlDebuggerEnabled = appSettings.Advanced.SqlDebuggerEnabled; Validate(); }