private void Initialize() { m_configuration = LoadConfiguration(); if (m_startupMode == StartupMode.Minimized) { Opacity = 0; ShowInTaskbar = false; } Load += (s, e) => { switch (m_startupMode) { case StartupMode.ArcticFoxConfiguration: ArcticFoxConfigurationButton.PerformClick(); break; case StartupMode.DeviceMonitor: DeviceMonitorButton.PerformClick(); break; case StartupMode.FirmwareUpdater: FirmwareUpdaterButton.PerformClick(); break; } }; Closing += (s, e) => { if (m_hideToTray) { e.Cancel = true; WindowState = FormWindowState.Minimized; } }; SizeChanged += (s, e) => { if (WindowState == FormWindowState.Minimized) { HideToTray(); } }; HidConnector.Instance.DeviceConnected += DeviceConnected; }
private void DeviceConnected(bool isConnected) { try { if (HidConnector.Instance.IsDeviceConnected && m_configuration.SynchronizeTimeWhenDeviceIsConnected) { var now = DateTime.Now; var dateTime = new ArcticFoxConfiguration.DateTime { Year = (ushort)now.Year, Month = (byte)now.Month, Day = (byte)now.Day, Hour = (byte)now.Hour, Minute = (byte)now.Minute, Second = (byte)now.Second }; var data = BinaryStructure.WriteBinary(dateTime); HidConnector.Instance.SetDateTime(data); } if (HidConnector.Instance.IsDeviceConnected && m_configuration.OpenArcticFoxConfigurationWhenDeviceIsConnected) { UpdateUI(() => { var window = m_openedWindow; if (window == null) { ArcticFoxConfigurationButton.PerformClick(); } else if (window.GetType() == typeof(ArcticFoxConfigurationWindow)) { NativeMethods.SetForegroundWindow(m_openedWindow.Handle); } }); } } catch (Exception) { // Ignore } }