mirror of
https://github.com/SabreTools/MPF.git
synced 2026-07-02 17:24:48 +00:00
* Split type combobox into system combobox and disc type combobox * corrected indentation for xaml file * fixed merge with head * fixed format * fixed issues for PR, added KnownSystem.CUSTOM * removed Updater.cs which ended by error in commit * fixed GetOuptutName() for new drive/system combobox * created LogWindow and first tests of output gathering * integrated all the proof of concept related to stream fetching of DIC output into LogWindow * working on LogWindow\ncreated more efficient output matching management, improved handling of process termination * created Tasks file\nmoved some methods there, created DumpEnvironment to manage are arguments * moved additional methods to Tasks to make it more modular * changed StartDumping flow to avoid returning if extra tools are not found * moved main dump workflow into Tasks class * created specific DumpResult class for better error reporting/management * fixes * fixes Dispatcher thread issue with progress bar * continued refactor - split EnsureDiscInformation into an additional EnsureCorrectInformationForSystemAndMediaType - proof of concept of using custom extensions to enum types to give better functionality (and encapsulation) - changed cmb_MediaType to keep a List<MediaType?> and got rid of Tuple<string, MediaType?> * restored GetDiscType functionality * fixed btn_StartStop enabled on EnsureCorrect... error * fixed whitespace * fixed indentation * merged conflicts * moved log window * working on LogWindow resize/location behavior * working on message logging in LogWindow * added working integration between MenuItem for LogWindow and its visibility status, fixes issues with positioning and visibility, correctly bound Verbose flag to property * finished integrating LogWindow, added some verbose logs * added logs * fixed include order * added option to show log window at startup, removed useless QuietMode property from MainWindow
107 lines
2.8 KiB
C#
107 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Media;
|
|
|
|
namespace DICUI.UI
|
|
{
|
|
public class OptionsViewModel
|
|
{
|
|
private Options _options;
|
|
|
|
public OptionsViewModel(Options options)
|
|
{
|
|
this._options = options;
|
|
}
|
|
|
|
public bool QuietMode
|
|
{
|
|
get { return _options.QuietMode; }
|
|
set { _options.QuietMode = value; }
|
|
}
|
|
|
|
public bool ParanoidMode
|
|
{
|
|
get { return _options.ParanoidMode; }
|
|
set { _options.ParanoidMode = value; }
|
|
}
|
|
|
|
public bool SkipMediaTypeDetection
|
|
{
|
|
get { return _options.SkipMediaTypeDetection; }
|
|
set { _options.SkipMediaTypeDetection = value; }
|
|
}
|
|
|
|
public string RereadAmountForC2
|
|
{
|
|
get { return Convert.ToString(_options.RereadAmountForC2); }
|
|
set
|
|
{
|
|
if (Int32.TryParse(value, out int result))
|
|
_options.RereadAmountForC2 = result;
|
|
}
|
|
}
|
|
|
|
public bool VerboseLogging
|
|
{
|
|
get { return _options.VerboseLogging; }
|
|
set
|
|
{
|
|
_options.VerboseLogging = value;
|
|
_options.Save();
|
|
}
|
|
}
|
|
|
|
public bool OpenLogWindowAtStartup
|
|
{
|
|
get { return _options.OpenLogWindowAtStartup; }
|
|
set
|
|
{
|
|
_options.OpenLogWindowAtStartup = value;
|
|
_options.Save();
|
|
}
|
|
}
|
|
}
|
|
|
|
public class LoggerViewModel
|
|
{
|
|
private LogWindow _logWindow;
|
|
|
|
public void SetWindow(LogWindow logWindow) => _logWindow = logWindow;
|
|
|
|
public bool WindowVisible
|
|
{
|
|
get => _logWindow != null ? _logWindow.IsVisible : false;
|
|
set
|
|
{
|
|
if (value)
|
|
{
|
|
_logWindow.AdjustPositionToMainWindow();
|
|
_logWindow.Show();
|
|
}
|
|
else
|
|
_logWindow.Hide();
|
|
}
|
|
}
|
|
|
|
public void VerboseLog(string text)
|
|
{
|
|
if (ViewModels.OptionsViewModel.VerboseLogging)
|
|
_logWindow.AppendToTextBox(text, Brushes.Yellow);
|
|
}
|
|
|
|
public void VerboseLog(string format, params object[] args) => VerboseLog(string.Format(format, args));
|
|
public void VerboseLogLn(string format, params object[] args) => VerboseLog(string.Format(format, args) + "\n");
|
|
}
|
|
|
|
public static class ViewModels
|
|
{
|
|
public static OptionsViewModel OptionsViewModel { get; set; }
|
|
public static LoggerViewModel LoggerViewModel { get; set; } = new LoggerViewModel();
|
|
}
|
|
|
|
}
|