Esempio n. 1
0
        public SettingsWindowViewModel()
        {
            var connectionString = App.GetConnectionString();

            _dataAdapter = new SettingsDataAdapter(connectionString);
            _watchedApplicationDataAdapter = new WatchedApplicationDataAdapter(connectionString);
            _languageDataAdapter           = new ApplicationLanguageDataAdapter(connectionString);
            Settings  = SettingsViewModelFactory.GetSettings(_dataAdapter, _watchedApplicationDataAdapter, _languageDataAdapter);
            _controls = new Dictionary <string, UserControl>();

            var viewKey = ChamiUIStrings.ViewCategory;

            _controls[viewKey] = new ConsoleAppearanceEditor(Settings.ConsoleAppearanceSettings);
            var loggingKey = ChamiUIStrings.LoggingCategory;

            _controls[loggingKey] = new LoggingSettingsEditor(Settings.LoggingSettings);
            var safetyKey = ChamiUIStrings.SafetyCategory;

            _controls[safetyKey] = new SafeVariableEditor(Settings.SafeVariableSettings);
            var detectorKey = ChamiUIStrings.DetectorCategory;

            _controls[detectorKey] = new ApplicationDetectorControl(Settings.WatchedApplicationSettings);
            var languageKey = ChamiUIStrings.LanguageCategory;

            _controls[languageKey] = new LanguageSelectorControl(Settings.LanguageSettings);
            DisplayedControl       = _controls.Values.FirstOrDefault();
            var minimizationKey = ChamiUIStrings.MinimizationCategory;

            _controls[minimizationKey] = new MinimizationBehaviourControl(Settings.MinimizationBehaviour);
        }
Esempio n. 2
0
        public App()
        {
            Logger = new ChamiLogger();
            Logger.AddFileSink("chami.log");
            _serviceProvider = CreateServices();
            InitializeComponent();
#if !DEBUG
            DispatcherUnhandledException += ShowExceptionMessageBox;
#endif
            _taskbarIcon = (TaskbarIcon)FindResource("ChamiTaskbarIcon");


            MigrateDatabase();
            try
            {
                Settings = new SettingsDataAdapter(GetConnectionString()).GetSettings();
                var watchedApplications =
                    new WatchedApplicationDataAdapter(GetConnectionString()).GetActiveWatchedApplications();
                Settings.WatchedApplicationSettings.WatchedApplications =
                    new ObservableCollection <WatchedApplicationViewModel>(watchedApplications);
                var availableLanguages =
                    new ApplicationLanguageDataAdapter(GetConnectionString()).GetAllApplicationLanguages();
                Settings.LanguageSettings.AvailableLanguages =
                    new ObservableCollection <ApplicationLanguageViewModel>(availableLanguages);
            }
            catch (SQLiteException)
            {
                MigrateDatabase();
            }
        }
Esempio n. 3
0
        public ApplicationLanguageViewModel Convert(Setting value)
        {
            var code             = value.Value;
            var connectionString = App.GetConnectionString();
            var dataAdapter      = new ApplicationLanguageDataAdapter(connectionString);
            var res = dataAdapter.GetApplicationLanguageByCode(code);

            return(res);
        }
Esempio n. 4
0
        internal void InitLocalization()
        {
            var localizationProvider = ResxLocalizationProvider.Instance;
            var dataAdapter          = new ApplicationLanguageDataAdapter(GetConnectionString());
            var languages            = dataAdapter.GetAllAvailableCultureInfos();

            localizationProvider.SearchCultures = new List <CultureInfo>();
            foreach (var cultureInfo in languages)
            {
                localizationProvider.SearchCultures.Add(cultureInfo);
                localizationProvider.AvailableCultures.Add(cultureInfo);
            }

            var currentCulture = dataAdapter.GetCultureInfoByCode(Settings.LanguageSettings.CurrentLanguage.Code);

            LocalizeDictionary.Instance.Culture = currentCulture;
            ChamiUIStrings.Culture = currentCulture;
        }
Esempio n. 5
0
        /// <summary>
        /// Retrieves all Chami settings.
        /// </summary>
        /// <param name="dataAdapter">The <see cref="SettingsDataAdapter"/> to use to retrieve settings.</param>
        /// <param name="watchedApplicationDataAdapter">The <see cref="WatchedApplicationDataAdapter"/> to retrieve the <see cref="WatchedApplicationViewModel"/>s.</param>
        /// <param name="languageDataAdapter">The <see cref="ApplicationLanguageDataAdapter"/> to retrieve all <see cref="ApplicationLanguageViewModel"/>s.</param>
        /// <returns>A <see cref="SettingsViewModel"/> object.</returns>
        public static SettingsViewModel GetSettings(SettingsDataAdapter dataAdapter, WatchedApplicationDataAdapter watchedApplicationDataAdapter, ApplicationLanguageDataAdapter languageDataAdapter)
        {
            var settings            = dataAdapter.GetSettings();
            var watchedApplications = watchedApplicationDataAdapter.GetActiveWatchedApplications();

            settings.WatchedApplicationSettings.WatchedApplications = new ObservableCollection <WatchedApplicationViewModel>(watchedApplications);
            var availableLanguages = languageDataAdapter.GetAllApplicationLanguages();
            var currentLanguage    =
                languageDataAdapter.GetApplicationLanguageByCode(settings.LanguageSettings.CurrentLanguage.Code);

            settings.LanguageSettings.AvailableLanguages = new ObservableCollection <ApplicationLanguageViewModel>(availableLanguages);
            settings.LanguageSettings.CurrentLanguage    = availableLanguages?.Where(l => l.Code == currentLanguage.Code).FirstOrDefault();
            return(settings);
        }