From 8b2f45bd955c716703f1d220eddd25dac922d4a0 Mon Sep 17 00:00:00 2001 From: Andi Kanzler Date: Sat, 12 Mar 2016 21:57:45 +0100 Subject: [PATCH] More Bugfixes --- SUMDJoy/AboutForm.Designer.cs | 2 - SUMDJoy/AboutForm.cs | 10 --- SUMDJoy/MainForm.Designer.cs | 5 +- SUMDJoy/MainForm.cs | 155 ++++++++++++++++++---------------- SUMDJoy/SUMDToVJoy.cs | 4 +- 5 files changed, 86 insertions(+), 90 deletions(-) diff --git a/SUMDJoy/AboutForm.Designer.cs b/SUMDJoy/AboutForm.Designer.cs index 64f5391..9270581 100644 --- a/SUMDJoy/AboutForm.Designer.cs +++ b/SUMDJoy/AboutForm.Designer.cs @@ -83,7 +83,6 @@ private void InitializeComponent() this.labelLicence.TabIndex = 4; this.labelLicence.Text = "(license)"; this.labelLicence.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.labelLicence.Click += new System.EventHandler(this.labelLicence_Click); // // linkLabel1 // @@ -123,7 +122,6 @@ private void InitializeComponent() this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Name = "AboutForm"; this.Text = "About"; - this.Load += new System.EventHandler(this.AboutForm_Load); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxLicence)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); diff --git a/SUMDJoy/AboutForm.cs b/SUMDJoy/AboutForm.cs index 7a2438e..ad7104a 100644 --- a/SUMDJoy/AboutForm.cs +++ b/SUMDJoy/AboutForm.cs @@ -22,21 +22,11 @@ private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs System.Diagnostics.Process.Start("http://www.github.com/scavanger/sumdjoy"); } - private void AboutForm_Load(object sender, EventArgs e) - { - - } - private void pictureBoxLicence_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("http://creativecommons.org/licenses/by-nc-sa/4.0/"); } - private void labelLicence_Click(object sender, EventArgs e) - { - - } - private void button_OK_Click(object sender, EventArgs e) { Close(); diff --git a/SUMDJoy/MainForm.Designer.cs b/SUMDJoy/MainForm.Designer.cs index 6803e6a..8096103 100644 --- a/SUMDJoy/MainForm.Designer.cs +++ b/SUMDJoy/MainForm.Designer.cs @@ -501,10 +501,11 @@ private void InitializeComponent() // labelSumdStatus // this.labelSumdStatus.AutoSize = true; - this.labelSumdStatus.Location = new System.Drawing.Point(93, 294); + this.labelSumdStatus.Location = new System.Drawing.Point(84, 294); this.labelSumdStatus.Name = "labelSumdStatus"; - this.labelSumdStatus.Size = new System.Drawing.Size(0, 13); + this.labelSumdStatus.Size = new System.Drawing.Size(43, 13); this.labelSumdStatus.TabIndex = 45; + this.labelSumdStatus.Text = "(Status)"; // // menuStrip // diff --git a/SUMDJoy/MainForm.cs b/SUMDJoy/MainForm.cs index af6a298..3478542 100644 --- a/SUMDJoy/MainForm.cs +++ b/SUMDJoy/MainForm.cs @@ -30,6 +30,7 @@ public MainForm() { _channelComboBoxes.Add(Controls.Find("comboBoxChannel" + i, true).FirstOrDefault() as ComboBox); _channelComboBoxes[i - 1].Tag = i; + _channelComboBoxes[i - 1].BindingContext = new BindingContext(); } } @@ -51,23 +52,12 @@ private void Form1_Load(object sender, EventArgs e) else labelVJoyINfo.Text = "vJoy Driver not enabled."; - _channelComboBoxes.ForEach(comboBox => - { - comboBox.BindingContext = new BindingContext(); - comboBox.DataSource = new BindingSource(_sumdTovJoy.Assignments.Keys.ToList(), null); - comboBox.DisplayMember = "Name"; - comboBox.ValueMember = "Name"; - comboBox.SelectedItem = _sumdTovJoy.Assignments.Where(a => a.Value == (int)comboBox.Tag).FirstOrDefault().Key; - if (comboBox.SelectedItem == null) - comboBox.SelectedItem = new NoneAssingment(); - }); - + SetChannelComboBoxes(); _currentSettingsFile = Properties.Settings.Default.LastUserSettingsFile; - LoadSettings(); labelSumdStatus.Text = "Not connected"; - _sumdTovJoy.Start(); _ignorChannelComboBoxes = false; + LoadSettings(); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) @@ -99,21 +89,8 @@ private void comboBoxvJoyDevice_SelectedValueChanged(object sender, EventArgs e) { _sumdTovJoy.vJoyDevice = (uint)comboBoxvJoyDevice.SelectedItem; _sumdTovJoy.GetvJoyInfos(); - //_currentSettingsFile = string.Empty; - //Text = Application.ProductName; - _ignorChannelComboBoxes = true; - _channelComboBoxes.ForEach(comboBox => - { - comboBox.DataSource = new BindingSource(_sumdTovJoy.Assignments.Keys.ToList(), null); - comboBox.DisplayMember = "Name"; - comboBox.ValueMember = "Name"; - comboBox.SelectedItem = _sumdTovJoy.Assignments.Where(a => a.Value == (int)comboBox.Tag).FirstOrDefault().Key; - if (comboBox.SelectedItem == null) - comboBox.SelectedItem = new NoneAssingment(); - - }); - _ignorChannelComboBoxes = false; + SetChannelComboBoxes(); LoadSettings(true); } @@ -133,42 +110,56 @@ private void comboBoxChannel_SelectedValueChanged(object sender, EventArgs e) if (comboBox.SelectedItem != null) _sumdTovJoy.Assignments[comboBox.SelectedItem as Assignment] = (int)comboBox.Tag; }); - - //ComboBox comboBox = sender as ComboBox; - //int channel = (int)comboBox.Tag; - - //DeleteChannel(channel); - //_sumdTovJoy.Assignments[comboBox.SelectedItem as Assignment] = channel; } } - private void saveToolStripMenuItem_Click(object sender, EventArgs e) - { - SaveSettings(); - } - - private void saveasToolStripMenuItem_Click(object sender, EventArgs e) + private void openToolStripMenuItem_Click(object sender, EventArgs e) { - SaveFileDialog sfd = new SaveFileDialog(); - sfd.AddExtension = true; - sfd.DefaultExt = "xlm"; - sfd.ValidateNames = true; - sfd.Filter = "SUMDJoy XML Config File (*.xml) |*.xml"; - sfd.RestoreDirectory = true; + OpenFileDialog ofd = new OpenFileDialog(); + ofd.AddExtension = true; + ofd.Multiselect = false; + ofd.DefaultExt = "xml"; + ofd.ValidateNames = true; + ofd.Filter = "SUMDJoy XML Config File (*.xml) |*.xml"; + ofd.RestoreDirectory = true; try { - if (sfd.ShowDialog() == DialogResult.OK) + if (ofd.ShowDialog() == DialogResult.OK) { - _currentSettingsFile = sfd.FileName; - SaveSettings(); + _currentSettingsFile = ofd.FileName; + LoadSettings(); + _sumdTovJoy.Start(); } } catch (Exception ex) + { + toolStripStatusLabel1.Text = "Can't load settings. " + ex.Message; + _currentSettingsFile = string.Empty; + Text = Application.ProductName; + } + } + + private void saveToolStripMenuItem_Click(object sender, EventArgs e) + { + try { + if (string.IsNullOrEmpty(_currentSettingsFile)) + SaveAs(); + else + SaveSettings(); + } + catch (Exception ex) { toolStripStatusLabel1.Text = "Can't save settings. " + ex.Message; + _currentSettingsFile = string.Empty; + Text = Application.ProductName; } } + private void saveasToolStripMenuItem_Click(object sender, EventArgs e) + { + SaveAs(); + } + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { AboutForm aboutForm = new AboutForm(); @@ -184,6 +175,24 @@ private void _sumdTovJoy_NewFrameRecieved(object sender, EventArgs e) #region Methods + private void SetChannelComboBoxes() + { + bool setBack = _ignorChannelComboBoxes; + _ignorChannelComboBoxes = true; + + _channelComboBoxes.ForEach(comboBox => + { + comboBox.DataSource = new BindingSource(_sumdTovJoy.Assignments.Keys.ToList(), null); + comboBox.DisplayMember = "Name"; + comboBox.ValueMember = "Name"; + comboBox.SelectedItem = _sumdTovJoy.Assignments.Where(a => a.Value == (int)comboBox.Tag).FirstOrDefault().Key; + if (comboBox.SelectedItem == null) + comboBox.SelectedItem = new NoneAssingment(); + + }); + _ignorChannelComboBoxes = setBack; + } + private void LoadSettings(bool ignoreDevice = false) { if (File.Exists(_currentSettingsFile)) @@ -229,6 +238,30 @@ private void LoadSettings(bool ignoreDevice = false) } } + private void SaveAs() + { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.AddExtension = true; + sfd.DefaultExt = "xlm"; + sfd.ValidateNames = true; + sfd.Filter = "SUMDJoy XML Config File (*.xml) |*.xml"; + sfd.RestoreDirectory = true; + try + { + if (sfd.ShowDialog() == DialogResult.OK) + { + _currentSettingsFile = sfd.FileName; + SaveSettings(); + } + } + catch (Exception ex) + { + toolStripStatusLabel1.Text = "Can't save settings. " + ex.Message; + _currentSettingsFile = string.Empty; + Text = Application.ProductName; + } + } + private void SaveSettings() { _settings.vJoyConfig.Assignments = _sumdTovJoy.Assignments; @@ -237,9 +270,7 @@ private void SaveSettings() _settings.vJoyConfig.COMPort = comboBoxComPorts.SelectedItem as string; _settings.vJoyConfig.vJoyDevice = (uint)comboBoxvJoyDevice.SelectedItem; - _settings.Save(_currentSettingsFile); - toolStripStatusLabel1.Text = "Settings saved."; } @@ -267,29 +298,5 @@ private void button2_Click(object sender, EventArgs e) labelSumdStatus.Text = "Not connected"; } - - private void openToolStripMenuItem_Click(object sender, EventArgs e) - { - OpenFileDialog ofd = new OpenFileDialog(); - ofd.AddExtension = true; - ofd.Multiselect = false; - ofd.DefaultExt = "xml"; - ofd.ValidateNames = true; - ofd.Filter = "SUMDJoy XML Config File (*.xml) |*.xml"; - ofd.RestoreDirectory = true; - try - { - if (ofd.ShowDialog() == DialogResult.OK) - { - _currentSettingsFile = ofd.FileName; - LoadSettings(); - _sumdTovJoy.Start(); - } - } - catch (Exception ex) - { - toolStripStatusLabel1.Text = "Can't load settings. " + ex.Message; - } - } } } diff --git a/SUMDJoy/SUMDToVJoy.cs b/SUMDJoy/SUMDToVJoy.cs index 157132b..ab98061 100644 --- a/SUMDJoy/SUMDToVJoy.cs +++ b/SUMDJoy/SUMDToVJoy.cs @@ -11,8 +11,8 @@ namespace SUMDJoy { public class SUMDToVJoy { - private const int MAX_POS = 0x1c20; - private const int MIN_POS = 0x41a0; + private const int MAX_POS = 0x41a0; + private const int MIN_POS = 0x1c20; private SUMD _sumd;