Esempio n. 1
0
        /// <summary>
        /// Construct a new Window.
        /// </summary>
        public MainWindow()
        {
            //Set highest priority on main process.
            Process currentProcess = Process.GetCurrentProcess();

            currentProcess.PriorityClass  = ProcessPriorityClass.High;
            Thread.CurrentThread.Priority = ThreadPriority.Normal;

            if (Settings.Default.minimizeOnStart)
            {
                this.ShowActivated = false;
                this.WindowState   = System.Windows.WindowState.Minimized;
            }

            string currentVmultiMonitor        = VmultiUtil.getCurrentMonitorDevicePath();
            IEnumerable <MonitorInfo> monInfos = DeviceUtil.GetMonitorList();

            if (VmultiDevice.Current.isAvailable())
            {
                //See if the selected monitor is still connected to the computer
                if (currentVmultiMonitor != null)
                {
                    string primaryMonitor = null;
                    foreach (MonitorInfo monInfo in monInfos)
                    {
                        if (monInfo.DevicePath == currentVmultiMonitor)
                        {
                            primaryMonitor = currentVmultiMonitor;
                        }
                    }
                    if (primaryMonitor != null)                           //The vmulti monitor is still connected.
                    {
                        Settings.Default.primaryMonitor = primaryMonitor; //Make sure the same value is in settings.
                    }
                    else //The selected monitor is not connected
                    {
                        VmultiUtil.setCurrentMonitor(monInfos.First()); //Use the first monitor in the list.
                    }
                }
                else
                {
                    VmultiUtil.setCurrentMonitor(monInfos.First()); //No setting found, default to first found monitor.
                }
            }
            else
            {
                Settings.Default.primaryMonitor = "";
            }

            defaultInstance = this;

            // Load from the XAML.
            InitializeComponent();
        }
        public WiiPointerProviderSettings()
        {
            InitializeComponent();

            //this.cbSystemCursor.IsChecked = Settings.Default.pointer_changeSystemCursor;
            //this.cbMoveCursor.IsChecked = Settings.Default.pointer_moveCursor;
            if (Settings.Default.pointer_sensorBarPos == "top")
            {
                this.cbiTop.IsSelected = true;
            }
            else if (Settings.Default.pointer_sensorBarPos == "bottom")
            {
                this.cbiBottom.IsSelected = true;
            }
            else
            {
                this.cbiCenter.IsSelected = true;
            }

            if (VmultiDevice.Current.isAvailable())
            {
                string currentMonitor = VmultiUtil.getCurrentMonitorDevicePath();

                IEnumerable <MonitorInfo> monInfos = DeviceUtil.GetMonitorList();

                foreach (MonitorInfo monInfo in monInfos)
                {
                    ComboBoxItem cbItem = new ComboBoxItem();
                    cbItem.Content     = monInfo.FriendlyName;
                    cbItem.DataContext = monInfo;
                    this.MonitorComboBox.Items.Add(cbItem);

                    if (monInfo.DevicePath == currentMonitor)
                    {
                        this.MonitorComboBox.SelectedItem = cbItem;
                    }
                }
                this.initializing = false;
            }
            else
            {
                ComboBoxItem cbItem = new ComboBoxItem();
                cbItem.Content = "Requires driver";
                this.MonitorComboBox.Items.Add(cbItem);
                this.MonitorComboBox.IsEnabled     = false;
                this.MonitorComboBox.SelectedIndex = 0;
                this.initializing = false;
            }
        }