Exemple #1
0
        public MainWindow()
        {
            InitializeComponent();

            FontFamilyViewModel fontFamilyVM = (FontFamilyViewModel)fontFamilyComboBox.DataContext;

            fontFamilyVM.TextEditor     = richTextBox;
            fontFamilyVM.FontSizeSlider = fontSizeSlider;

            ColorPickerViewModel colorPickerVM = (ColorPickerViewModel)colorPicker.DataContext;

            colorPickerVM.TextEditor = richTextBox;

            FileDialogViewModel fileDialogVM = (FileDialogViewModel)fileDialogMenuItem.DataContext;

            fileDialogVM.TextEditor = richTextBox;
            fileDialogVM.MainWindow = this;

            App.LanguageChanged += LanguageChanged;
            CultureInfo currentLang = App.Language;

            //Refresh language menu
            LangMenu.Items.Clear();
            foreach (CultureInfo lang in App.Languages)
            {
                MenuItem item = new MenuItem();
                item.Header    = lang.DisplayName;
                item.Tag       = lang;
                item.IsChecked = lang.Equals(currentLang);
                item.Click    += LanguageChange_Click;
                LangMenu.Items.Add(item);
            }
            App.Language = currentLang;
        }
        void ShowSaveDialog(FileDialogViewModel fileDialogViewModel)
        {
            Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog.DefaultExt      = ".json";
            saveFileDialog.Filter          = "JSON File|*.json";
            saveFileDialog.OverwritePrompt = true;

            var filePath = fileDialogViewModel.FilePath;

            string basePath = null;
            string fileName = null;

            if (!string.IsNullOrWhiteSpace(filePath))
            {
                basePath = System.IO.Path.GetDirectoryName(filePath);
                fileName = System.IO.Path.GetFileName(filePath);
            }

            saveFileDialog.InitialDirectory = basePath;
            saveFileDialog.FileName         = fileName;

            var result = saveFileDialog.ShowDialog();

            if (result.HasValue && result.Value)
            {
                filePath = saveFileDialog.FileName;
                fileDialogViewModel.FilePath         = filePath;
                fileDialogViewModel.FileDialogResult = FileDialogResultEnum.Ok;
            }
            else
            {
                fileDialogViewModel.FileDialogResult = FileDialogResultEnum.Cancel;
            }
        }
Exemple #3
0
        private void Export()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle         = "Export search results";
            vm.Filters["CSV file"] = "*.csv";
            vm.FileNames           = new[] { "results.csv" };
            vm.OverwritePrompt     = true;

            if (vm.ShowSaveFileDialog() == DialogResult.Ok)
            {
                using (var file = File.CreateText(vm.FileNames[0]))
                {
                    file.WriteLine("Id,Title,ConsoleId,Created,Age," +
                                   "Points,Players,TimesMastered," +
                                   "MeanTimeToMaster,StdDevTimeToMaster," +
                                   "MinutesPerPointToMaster,MinutesPerPoint," +
                                   "TwentyFifthPercentilePoints,FiftiethPercentilePoints,SeventyFifthPercentilePoints,NintiethPercentilePoints");

                    foreach (var game in Results)
                    {
                        file.Write("{0},\"{1}\",", game.GameId, game.GameName.Replace("\"", "\\\""));
                        file.Write("{0},{1},{2},", game.ConsoleId, game.Created, (DateTime.Today - game.Created).TotalDays);
                        file.Write("{0},{1},{2},", game.Points, game.NumPlayers, game.HardcoreMasteredUserCount);
                        file.Write("{0},{1},", game.MeanTimeToMaster, game.StdDevTimeToMaster);
                        file.Write("{0},{1},", game.MinutesPerPointToMaster, game.MinutesPerPoint);
                        file.Write("{0},{1},{2},{3}", game.TwentyFifthPercentilePoints, game.FiftiethPercentilePoints, game.SeventyFifthPercentilePoints, game.NintiethPercentilePoints);
                        file.WriteLine();
                    }
                }
            }
        }
        void ShowOpenDialog(FileDialogViewModel fileDialogViewModel)
        {
            Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
            openFileDialog.DefaultExt  = ".json";
            openFileDialog.Filter      = "JSON File|*.json";
            openFileDialog.Multiselect = false;

            var    filePath = fileDialogViewModel.FilePath;
            string basePath = null;
            string fileName = null;

            if (!string.IsNullOrWhiteSpace(filePath))
            {
                basePath = System.IO.Path.GetDirectoryName(filePath);
                fileName = System.IO.Path.GetFileName(filePath);
            }

            openFileDialog.InitialDirectory = basePath;
            openFileDialog.FileName         = fileName;

            var result = openFileDialog.ShowDialog();

            if (result.HasValue && result.Value)
            {
                filePath = openFileDialog.FileName;
                fileDialogViewModel.FilePath         = filePath;
                fileDialogViewModel.FileDialogResult = FileDialogResultEnum.Ok;
            }
            else
            {
                fileDialogViewModel.FileDialogResult = FileDialogResultEnum.Cancel;
            }
        }
        private void OpenFile()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle            = "Select achievements script";
            vm.Filters["Script file"] = "*.rascript;*.txt";
            vm.CheckFileExists        = true;

            if (vm.ShowOpenFileDialog() == DialogResult.Ok)
            {
                OpenFile(vm.FileNames[0]);
            }
        }
Exemple #6
0
        private void ExportColors()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle          = "Export Colors";
            vm.Filters["JSON file"] = "*.json";
            vm.FileNames            = new[] { "Colors.json" };
            vm.OverwritePrompt      = true;

            if (vm.ShowSaveFileDialog() == DialogResult.Ok)
            {
                Theme.Export(vm.FileNames[0]);
            }
        }
Exemple #7
0
        private void ImportColors()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle          = "Import Colors";
            vm.Filters["JSON file"] = "*.json";
            vm.FileNames            = new[] { "Colors.json" };
            vm.CheckFileExists      = true;

            if (vm.ShowOpenFileDialog() == DialogResult.Ok)
            {
                Theme.Import(vm.FileNames[0]);
            }
        }
Exemple #8
0
        private void Summarize()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle         = "Export summary results";
            vm.Filters["TXT file"] = "*.txt";
            vm.FileNames           = new[] { "mastery.txt" };
            vm.OverwritePrompt     = true;

            if (vm.ShowSaveFileDialog() == DialogResult.Ok)
            {
                _backgroundWorkerService.RunAsync(() => SaveSummary(vm.FileNames[0]));
            }
        }
        void Vm_ShowFileDialogRequested(FileDialogTypeEnum fileDialogType, FileDialogViewModel filedDialogViewModel)
        {
            switch (fileDialogType)
            {
            case FileDialogTypeEnum.Save:
                ShowSaveDialog(filedDialogViewModel);
                break;

            case FileDialogTypeEnum.Open:
                ShowOpenDialog(filedDialogViewModel);
                break;

            default:
                throw new NotSupportedException(fileDialogType.ToString());
            }
        }
Exemple #10
0
        private void AddDirectory()
        {
            var vm = new FileDialogViewModel();

            if (vm.ShowSelectFolderDialog() == DialogResult.Ok)
            {
                var directoryViewModel = new DirectoryViewModel {
                    Path = vm.FileNames[0]
                };

                var cachePath = Path.Combine(vm.FileNames[0], "RACache", "Data");
                directoryViewModel.IsValid = _fileSystemService.DirectoryExists(cachePath);

                Directories.Add(directoryViewModel);
            }
        }
        private bool SaveScriptAs()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle            = "Save achievements script";
            vm.Filters["Script file"] = "*.rascript;*.txt";
            vm.FileNames       = new[] { Game.Script.Filename };
            vm.OverwritePrompt = true;

            if (vm.ShowSaveFileDialog() == DialogResult.Ok)
            {
                Game.Script.Filename = vm.FileNames[0];
                SaveScript();
            }

            return(false);
        }
        //------------------------- ОКРЫТЬ И ЗАГРУЗИТЬ В КОЛЛЕКЦИЮ СПИСОК ФАЙЛОВ ---------------------------------
        private void OpenFolderAndLoadSound()
        {
            FileDialogViewModel DialogViewModel = new FileDialogViewModel();

            DialogViewModel.CurrentFolder = Directory.GetCurrentDirectory();
            DialogViewModel.Extension     = "*.mp3";
            DialogViewModel.Filter        = "Wave file|*.wav|Mp3 file|*.mp3|All Files(.*)|*.*";
            DialogViewModel.Title         = "Выбор медиа файла";

            if (DialogViewModel.OpenCommand.CanExecute(null))
            {
                DialogViewModel.OpenCommand.Execute(null);
            }

            RecordCollection.AddRange(DialogViewModel.FileNames);
            MyRecords = new ObservableCollection <Record>(RecordCollection.GetList());
            OnPropertyChanged("MyRecords");
        }
Exemple #13
0
        private void Export()
        {
            var vm = new FileDialogViewModel();

            vm.DialogTitle          = "Export search results";
            vm.Filters["Text file"] = "*.txt";
            vm.FileNames            = new[] { "results.txt" };
            vm.OverwritePrompt      = true;

            if (vm.ShowSaveFileDialog() == DialogResult.Ok)
            {
                using (var file = File.CreateText(vm.FileNames[0]))
                {
                    var builder = new StringBuilder();
                    AppendRange(builder, NumConditions);
                    AppendRange(builder, NumAltGroups);

                    AppendLookup(builder, Flag);
                    AppendLookup(builder, SourceType);
                    AppendRange(builder, SourceValue);
                    AppendLookup(builder, Comparison);
                    AppendLookup(builder, TargetType);
                    AppendRange(builder, TargetValue);
                    AppendRange(builder, HitCount);

                    if (builder.Length > 0)
                    {
                        file.Write("Search Criteria: ");
                        file.WriteLine(builder.ToString());
                        file.WriteLine();
                    }

                    foreach (var result in Results)
                    {
                        file.WriteLine(string.Format("{0},\"{1}\",{2},\"{3}\",\"{4}\"", result.GameId, result.GameName,
                                                     result.AchievementId > 0 ? result.AchievementId : result.LeaderboardId,
                                                     result.ItemName, result.Details));
                    }
                }
            }
        }
Exemple #14
0
        public MainWindow()
        {
            InitializeComponent();

            FontFamilyViewModel fontFamilyVM = (FontFamilyViewModel)fontFamilyComboBox.DataContext;

            fontFamilyVM.TextEditor     = richTextBox;
            fontFamilyVM.FontSizeSlider = fontSizeSlider;

            ColorPickerViewModel colorPickerVM = (ColorPickerViewModel)colorPicker.DataContext;

            colorPickerVM.TextEditor = richTextBox;

            FileDialogViewModel fileDialogVM = (FileDialogViewModel)fileDialogMenuItem.DataContext;

            fileDialogVM.TextEditor = richTextBox;
            fileDialogVM.MainWindow = this;

            //App.LanguageChanged += LanguageChanged;
            //CultureInfo currentLang = App.Language;
            ////Refresh language menu
            //LangMenu.Items.Clear();
            //foreach (CultureInfo lang in App.Languages)
            //{
            //    MenuItem item = new MenuItem();
            //    item.Header = lang.DisplayName;
            //    item.Tag = lang;
            //    item.IsChecked = lang.Equals(currentLang);
            //    item.Click += LanguageChange_Click;
            //    LangMenu.Items.Add(item);
            //}
            //App.Language = currentLang;

            DataContext = new MainWindowViewModel(this);

            //Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
            //Console.WriteLine(lab4.Resources.Localization.FileMenuItem);
        }
Exemple #15
0
 public CancelCommand(FileDialogViewModel viewModel)
 {
     Safeguard.EnsureNotNull("viewModel", viewModel);
     this.viewModel = viewModel;
     this.CanExecuteChanged?.Invoke(this, new EventArgs());
 }
Exemple #16
0
        public MainWindowViewModel(Window w)
        {
            mainWindow = w;

            DispatcherTimer timer = new DispatcherTimer();

            timer.Interval = TimeSpan.FromSeconds(1);
            timer.Tick    += SetTime;
            timer.Start();

            ChangeThemeCommand = new RelayCommand(ChangeTheme);

            OpenFileCommand = new RelayCommand((path) =>
            {
                FileStream fileStream = new FileStream((string)path, FileMode.Open);
                FileDialogViewModel fileDialogViewModel = (mainWindow.TryFindResource("fileDialog") as FileDialogViewModel);
                TextRange range = new TextRange(fileDialogViewModel.TextEditor.Document.ContentStart, fileDialogViewModel.TextEditor.Document.ContentEnd);
                range.Load(fileStream, DataFormats.Rtf);
                fileStream.Close();
                mainWindow.Title = (string)path;
            });

            ChangeCultureCommand = new RelayCommand(ChangeCulture);

            MenuItem themeItemLight = new MenuItem()
            {
                Header    = Resources.Localization.LightThemeMenuItem,
                Tag       = "-light",
                IsChecked = true
            };
            MenuItem themeItemDark = new MenuItem()
            {
                Tag    = "-dark",
                Header = Resources.Localization.DarkThemeMenuItem
            };
            MenuItem themeItemBlue = new MenuItem()
            {
                Tag    = "-blue",
                Header = Resources.Localization.BlueThemeMenuItem,
            };

            ThemeMenuItems.Add(themeItemLight);
            ThemeMenuItems.Add(themeItemDark);
            ThemeMenuItems.Add(themeItemBlue);
            foreach (MenuItem item in ThemeMenuItems)
            {
                item.IsCheckable      = true;
                item.Command          = ChangeThemeCommand;
                item.CommandParameter = item;
            }

            MenuItem ruCulture = new MenuItem()
            {
                Header = Resources.Localization.LangRuMenuItem,
                Tag    = "ru-RU",
                //IsChecked = true
            };
            MenuItem enCulture = new MenuItem()
            {
                Header = Resources.Localization.LangEnMenuItem,
                Tag    = "en-EN"
            };

            Cultures.Add(ruCulture);
            Cultures.Add(enCulture);
            foreach (MenuItem item in Cultures)
            {
                item.IsCheckable      = true;
                item.Command          = ChangeCultureCommand;
                item.CommandParameter = item;
                if ((string)item.Tag == Thread.CurrentThread.CurrentCulture.Name)
                {
                    item.IsChecked = true;
                }
            }

            LoadRecentFilePaths();
        }
Exemple #17
0
 public OkCommand(FileDialogViewModel viewModel)
 {
     Safeguard.EnsureNotNull("viewModel", viewModel);
     this.viewModel = viewModel;
 }