public Shell(IRegionManager regionManager, IDriveDetector driveDetector) { _driveDetector = driveDetector; InitializeComponent(); if (regionManager != null) { SetRegionManager(regionManager, LeftWindowCommandsRegion, RegionNames.LeftWindowCommandsRegion); SetRegionManager(regionManager, RightWindowCommandsRegion, RegionNames.RightWindowCommandsRegion); SetRegionManager(regionManager, FlyoutsRegion, RegionNames.FlyoutsRegion); } Loaded += (sender, args) => { var hWnd = new WindowInteropHelper(this).Handle; _driveDetector.RegisterUsbDeviceNotification(hWnd); var source = HwndSource.FromHwnd(hWnd); source?.AddHook(WindowsMessageHandler); }; Unloaded += (sender, args) => { _driveDetector.UnregisterUsbDeviceNotification(); }; }
public ConfiguratorViewModel(IApplicationLogger logger, IEventAggregator events, IApplicationCommands commands, ITemplateManager templateManager, IDriveDetector driveDetector, IMessageDisplayService messageService, ElementViewModelFactory elementFactory, IConfiguratorService configurator, IVariableStore variables) { _logger = logger; _templateManager = templateManager; _driveDetector = driveDetector; _messageService = messageService; _elementFactory = elementFactory; _configurator = configurator; _variables = variables; Title = "Configurator"; events.GetEvent <TemplateSelectedEvent>().Subscribe(OnTemplateSelected); events.GetEvent <ScanDrivesCompletedEvent>().Subscribe(OnScanDrivesCompleted); ImportCommand = new DelegateCommand(OnImport, () => true); commands.ImportCommand.RegisterCommand(ImportCommand); PrevPageCommand = new DelegateCommand <PageViewModel>(OnPrevPage, CanPrevPage); NextPageCommand = new DelegateCommand <PageViewModel>(OnNextPage, page => true); RescanCommand = new DelegateCommand(OnScanDrives, () => !IsScanning); RescanCommand.Execute(); }
/// <summary> /// Initializes the <see cref="BDHeroGUI.Components.DiscMenu"/> for use. /// </summary> /// <param name="observable"> /// Windows Forms control (typically a <see cref="Form"/>) to listen for <see cref="Form.WndProc"/> events on. /// </param> /// <param name="detector"> /// Drive detector. /// </param> /// <exception cref="InvalidOperationException">Thrown if this method is called more than once.</exception> public void Initialize(IWndProcObservable observable, IDriveDetector detector) { if (_isInitialized) { throw new InvalidOperationException("DiscMenu has already been initialized"); } observable.WndProcMessage += WndProc; _detector = detector; _detector.DeviceArrived += OnDeviceArrived; _detector.DeviceRemoved += OnDeviceRemoved; DropDownOpened += OnDropDownOpened; DropDownClosed += OnDropDownClosed; Refresh(); _isInitialized = true; }
public FormMain(log4net.ILog logger, IDirectoryLocator directoryLocator, PluginLoader pluginLoader, IController controller, Updater updater, IDriveDetector driveDetector) { InitializeComponent(); Load += OnLoad; _logger = logger; _directoryLocator = directoryLocator; _pluginLoader = pluginLoader; _controller = controller; _updater = updater; _driveDetector = driveDetector; _progressBarToolTip = new ToolTip(); _progressBarToolTip.SetToolTip(progressBar, null); _taskbarItem = new WindowsTaskbarItemFactory().GetInstance(Handle); progressBar.UseCustomColors = true; progressBar.GenerateText = percentComplete => string.Format("{0}: {1:0.00}%", _state, percentComplete); playlistListView.ItemSelectionChanged += PlaylistListViewOnItemSelectionChanged; playlistListView.ShowAllChanged += PlaylistListViewOnShowAllChanged; playlistListView.PlaylistReconfigured += PlaylistListViewOnPlaylistReconfigured; tracksPanel.PlaylistReconfigured += TracksPanelOnPlaylistReconfigured; mediaPanel.SelectedMediaChanged += MediaPanelOnSelectedMediaChanged; mediaPanel.Search = ShowMetadataSearchWindow; _updater.IsPortable = _directoryLocator.IsPortable; var updateObserver = new FormMainUpdateObserver(this, checkForUpdatesToolStripMenuItem, null); updateObserver.BeforeInstallUpdate += update => DisableUpdates(); var currentVersion = AppUtils.AppVersion; _updateHelper = new UpdateHelper(_updater, currentVersion); _updateHelper.RegisterObserver(updateObserver); SystemEvents.SessionEnded += (sender, args) => DisableUpdates(); FormClosing += OnFormClosing; }
public FormMain(ILog logger, LogInitializer logInitializer, IDirectoryLocator directoryLocator, IPreferenceManager preferenceManager, PluginLoader pluginLoader, IPluginRepository pluginRepository, IController controller, IDriveDetector driveDetector, ITaskbarItemFactory taskbarItemFactory, IWindowMenuFactory windowMenuFactory, INetworkStatusMonitor networkStatusMonitor, UpdateClient updateClient, AppConfig appConfig) { InitializeComponent(); Load += OnLoad; FormClosing += OnFormClosing; _logger = logger; _logInitializer = logInitializer; _directoryLocator = directoryLocator; _preferenceManager = preferenceManager; _pluginLoader = pluginLoader; _pluginRepository = pluginRepository; _controller = controller; _driveDetector = driveDetector; _taskbarItem = taskbarItemFactory.GetInstance(Handle); _windowMenuFactory = windowMenuFactory; _networkStatusMonitor = networkStatusMonitor; _updateClient = updateClient; _appConfig = appConfig; progressBar.UseCustomColors = true; progressBar.GenerateText = percentComplete => string.Format("{0}: {1:0.00}%", _state, percentComplete); var recentFiles = _preferenceManager.Preferences.RecentFiles; if (recentFiles.RememberRecentFiles && recentFiles.RecentBDROMPaths.Any()) { textBoxInput.Text = recentFiles.RecentBDROMPaths.First(); } toolsToolStripMenuItem.Visible = false; debugToolStripMenuItem.Visible = _appConfig.IsDebugMode; updateToolStripMenuItem.Visible = false; toolStripStatusLabelOffline.Visible = false; }
/// <summary> /// Initializes the <see href="BDHeroGUI.Components.DiscMenu"/> for use. /// </summary> /// <param name="form"> /// Windows Forms control (typically a <see href="Form"/>) to listen for <see href="Form.WndProc"/> events on. /// </param> /// <param name="detector"> /// Drive detector. /// </param> /// <exception cref="InvalidOperationException">Thrown if this method is called more than once.</exception> public void Initialize(Form form, IDriveDetector detector) { if (_isInitialized) { throw new InvalidOperationException("DiscMenu has already been initialized"); } var hook = new WndProcHook(form); hook.WndProcMessage += WndProc; _detector = detector; _detector.DeviceArrived += OnDeviceArrived; _detector.DeviceRemoved += OnDeviceRemoved; DropDownOpened += OnDropDownOpened; DropDownClosed += OnDropDownClosed; Refresh(); _isInitialized = true; }
public FormMain(ILog logger, IDirectoryLocator directoryLocator, IPreferenceManager preferenceManager, PluginLoader pluginLoader, IPluginRepository pluginRepository, IController controller, IDriveDetector driveDetector, ITaskbarItemFactory taskbarItemFactory, INetworkStatusMonitor networkStatusMonitor, Updater updater) { InitializeComponent(); Load += OnLoad; _logger = logger; _directoryLocator = directoryLocator; _preferenceManager = preferenceManager; _pluginLoader = pluginLoader; _pluginRepository = pluginRepository; _controller = controller; _driveDetector = driveDetector; _taskbarItem = taskbarItemFactory.GetInstance(Handle); _networkStatusMonitor = networkStatusMonitor; _updater = updater; _updater.IsPortable = _directoryLocator.IsPortable; _updateHelper = new UpdateHelper(_updater, AppUtils.AppVersion) { AllowDownload = false }; _progressBarToolTip = new ToolTip(); _progressBarToolTip.SetToolTip(progressBar, null); progressBar.UseCustomColors = true; progressBar.GenerateText = percentComplete => string.Format("{0}: {1:0.00}%", _state, percentComplete); playlistListView.ItemSelectionChanged += PlaylistListViewOnItemSelectionChanged; playlistListView.ShowAllChanged += PlaylistListViewOnShowAllChanged; playlistListView.PlaylistReconfigured += PlaylistListViewOnPlaylistReconfigured; tracksPanel.PlaylistReconfigured += TracksPanelOnPlaylistReconfigured; mediaPanel.SelectedMediaChanged += MediaPanelOnSelectedMediaChanged; mediaPanel.Search = ShowMetadataSearchWindow; var updateObserver = new FormMainUpdateObserver(this, checkForUpdatesToolStripMenuItem, updateToolStripMenuItem, downloadUpdateToolStripMenuItem); updateObserver.BeforeInstallUpdate += update => DisableUpdates(); SystemEvents.SessionEnded += (sender, args) => DisableUpdates(); _updateHelper.RegisterObserver(updateObserver); FormClosing += OnFormClosing; var recentFiles = _preferenceManager.Preferences.RecentFiles; if (recentFiles.RememberRecentFiles && recentFiles.RecentBDROMPaths.Any()) { textBoxInput.Text = recentFiles.RecentBDROMPaths.First(); } InitSystemMenu(); }
public SimplePanelProcessingManager(Form1 handle,IDriveDetector DriveDetector,ISettingsRepository SettingsRepository) { this.handle = handle; this.DriveDetector=DriveDetector; this.SettingsRepository = SettingsRepository; }
public FormMain(ILog logger, IDirectoryLocator directoryLocator, IPreferenceManager preferenceManager, PluginLoader pluginLoader, IPluginRepository pluginRepository, IController controller, IDriveDetector driveDetector, ITaskbarItemFactory taskbarItemFactory, INetworkStatusMonitor networkStatusMonitor, Updater updater) { InitializeComponent(); Load += OnLoad; _logger = logger; _directoryLocator = directoryLocator; _preferenceManager = preferenceManager; _pluginLoader = pluginLoader; _pluginRepository = pluginRepository; _controller = controller; _driveDetector = driveDetector; _taskbarItem = taskbarItemFactory.GetInstance(Handle); _networkStatusMonitor = networkStatusMonitor; _updater = updater; _updater.IsPortable = _directoryLocator.IsPortable; _updateHelper = new UpdateHelper(_updater, AppUtils.AppVersion) { AllowDownload = false }; _progressBarToolTip = new ToolTip(); _progressBarToolTip.SetToolTip(progressBar, null); progressBar.UseCustomColors = true; progressBar.GenerateText = percentComplete => string.Format("{0}: {1:0.00}%", _state, percentComplete); playlistListView.ItemSelectionChanged += PlaylistListViewOnItemSelectionChanged; playlistListView.ShowAllChanged += PlaylistListViewOnShowAllChanged; playlistListView.PlaylistReconfigured += PlaylistListViewOnPlaylistReconfigured; tracksPanel.PlaylistReconfigured += TracksPanelOnPlaylistReconfigured; mediaPanel.SelectedMediaChanged += MediaPanelOnSelectedMediaChanged; mediaPanel.Search = ShowMetadataSearchWindow; var updateObserver = new FormMainUpdateObserver(this, checkForUpdatesToolStripMenuItem, updateToolStripMenuItem, downloadUpdateToolStripMenuItem); updateObserver.BeforeInstallUpdate += update => DisableUpdates(); SystemEvents.SessionEnded += (sender, args) => DisableUpdates(); _updateHelper.RegisterObserver(updateObserver); FormClosing += OnFormClosing; var recentFiles = _preferenceManager.Preferences.RecentFiles; if (recentFiles.RememberRecentFiles && recentFiles.RecentBDROMPaths.Any()) { textBoxInput.Text = recentFiles.RecentBDROMPaths.First(); } InitSystemMenu(); }
/// <summary> /// Initializes the <see cref="BDHeroGUI.Components.DiscMenu"/> for use. /// </summary> /// <param name="observable"> /// Windows Forms control (typically a <see cref="Form"/>) to listen for <see cref="Form.WndProc"/> events on. /// </param> /// <param name="detector"> /// Drive detector. /// </param> /// <exception cref="InvalidOperationException">Thrown if this method is called more than once.</exception> public void Initialize(IWndProcObservable observable, IDriveDetector detector) { if (_isInitialized) { throw new InvalidOperationException("DiscMenu has already been initialized"); } observable.WndProcMessage += WndProc; _detector = detector; _detector.DeviceArrived += OnDeviceArrived; _detector.DeviceRemoved += OnDeviceRemoved; DropDownOpened += OnDropDownOpened; DropDownClosed += OnDropDownClosed; Refresh(); _isInitialized = true; }