From f50f5483225a08c1c41993f4801135ed97a21574 Mon Sep 17 00:00:00 2001 From: dtremenak Date: Sat, 25 Feb 2012 18:50:24 +0000 Subject: [PATCH] Keyboard shortcuts. --- ProvinceMapper/Changelog.txt | 9 ++++ ProvinceMapper/Form1.Designer.cs | 2 + ProvinceMapper/Form1.cs | 78 ++++++++++++++++++++++++++------ ProvinceMapper/Form1.resx | 22 ++++----- 4 files changed, 87 insertions(+), 24 deletions(-) diff --git a/ProvinceMapper/Changelog.txt b/ProvinceMapper/Changelog.txt index 281771ebc..e4efcdfe0 100644 --- a/ProvinceMapper/Changelog.txt +++ b/ProvinceMapper/Changelog.txt @@ -1,5 +1,14 @@ ProvinceMapper Change Log +0.9F +- Add keyboard shortcuts: + - F2: Change comment text + - F3: Insert new comment above selected + - F4: Insert new mapping above selected + - Ctrl+Plus: Move selected up + - Ctrl+Minus: Move selected down +- Fix memory leak associated with map zoom + 0.9E - Allow one-sided province mappings - Mark one-sided and many-to-many province mappings in the output comments diff --git a/ProvinceMapper/Form1.Designer.cs b/ProvinceMapper/Form1.Designer.cs index 4863bd459..f1dfe5996 100644 --- a/ProvinceMapper/Form1.Designer.cs +++ b/ProvinceMapper/Form1.Designer.cs @@ -256,9 +256,11 @@ private void InitializeComponent() this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(705, 467); this.Controls.Add(this.VerticalSplit); + this.KeyPreview = true; this.Name = "Form1"; this.Text = "Province Mapper"; this.Load += new System.EventHandler(this.Form1_Load); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown); this.VerticalSplit.Panel1.ResumeLayout(false); this.VerticalSplit.Panel1.PerformLayout(); this.VerticalSplit.Panel2.ResumeLayout(false); diff --git a/ProvinceMapper/Form1.cs b/ProvinceMapper/Form1.cs index 25ebe34a5..81b66d4ce 100644 --- a/ProvinceMapper/Form1.cs +++ b/ProvinceMapper/Form1.cs @@ -247,22 +247,11 @@ private void lbMappings_SelectedIndexChanged(object sender, EventArgs e) if (lbMappings.SelectedItem == (Object)newMappingItem) // reference test! { - ProvinceMapping m = new ProvinceMapping(); - - Program.mappings.mappings.Add(m); - lbMappings.Items.Insert(lbMappings.Items.Count - 2, m); - lbMappings.SelectedItem = m; + CreateNewMapping(false, lbMappings.Items.Count - 2); } else if (lbMappings.SelectedItem == (Object)newCommentItem) // reference test! { - CommentMapping m = new CommentMapping(); - CommentForm cf = new CommentForm(); - cf.SetComment(m); - cf.ShowDialog(); - - Program.mappings.mappings.Add(m); - lbMappings.Items.Insert(lbMappings.Items.Count - 2, m); - lbMappings.SelectedItem = m; + CreateNewMapping(true, lbMappings.Items.Count - 2); } else { @@ -278,6 +267,26 @@ private void lbMappings_SelectedIndexChanged(object sender, EventArgs e) createSelPBs(false); } + private void CreateNewMapping(bool comment, int location) + { + Mapping m = null; + if (comment) + { + CommentMapping cm = new CommentMapping(); + CommentForm cf = new CommentForm(); + cf.SetComment(cm); + cf.ShowDialog(); + m = cm; + } + else // province map + { + m = new ProvinceMapping(); + } + Program.mappings.mappings.Insert(location, m); + lbMappings.Items.Insert(location, m); + lbMappings.SelectedItem = m; + } + private void tbFitSelection_Click(object sender, EventArgs e) { if (srcSelection.Count > 0) @@ -390,5 +399,48 @@ private void cbZoom_SelectedIndexChanged(object sender, EventArgs e) createSelPBs(true); } + + private void Form1_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.F2) + { + // change comment text + CommentMapping cm = lbMappings.SelectedItem as CommentMapping; + if (cm != null) + { + CommentForm cf = new CommentForm(); + cf.SetComment(cm); + cf.ShowDialog(); + } + lbMappings.Items[lbMappings.SelectedIndex] = cm; + } + else if (e.KeyCode == Keys.F3) + { + // create new comment + if (lbMappings.SelectedIndex >= 0) + CreateNewMapping(true, lbMappings.SelectedIndex); + else + CreateNewMapping(true, lbMappings.Items.Count - 2); + } + else if (e.KeyCode == Keys.F4) + { + // create new mapping + if (lbMappings.SelectedIndex >= 0) + CreateNewMapping(false, lbMappings.SelectedIndex); + else + CreateNewMapping(false, lbMappings.Items.Count - 2); + } + else if (e.Control) + { + if (e.KeyCode == Keys.Oemplus) + { + tbMoveUp_Click(sender, e); + } + else if (e.KeyCode == Keys.OemMinus) + { + tbMoveDown_Click(sender, e); + } + } + } } } diff --git a/ProvinceMapper/Form1.resx b/ProvinceMapper/Form1.resx index 82dbe34e4..b12345468 100644 --- a/ProvinceMapper/Form1.resx +++ b/ProvinceMapper/Form1.resx @@ -162,17 +162,17 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJbSURBVDhPtZJbSJNhHMZ3EyRON7SYeWLRrSYmgRPbioZ2 - IdhyljMiJzanM8coM5x2GDpBqo+1HNk6gBpKzKvwgGmfOm3UhWw4PJHpbHPMT2dsZBluT/O7EKQSveiF - 5+79/f7P++dlMP7XmSJzuWOtvE1dOWtDr4iI3vcc85szk3PTd36NW5QBQsHq3pdgpONszjh5MeD/8QIr - zirY+zPQXMk+vmfJmCmL+vylGeraEkgkuRgdKEN7fax7T4L3rfxq6/DVQI36GkwmEzQaDeLiY2DtTgNR - Hlm6q2TxgzjsU69wY6u6pDAfBEFALpeDw2GBmpOi7W7UzxYZ48A/JYOvMjunbVWht79EbZ0UKpUKfMFp - qK6fgverEpMDmcFHpay2vwqGO7ISrKSIXpx/3QiSrEPehTykpiSB7C3C2oIMqzNivNVxg4SSxf1DQrbx - rY4F7SYt8OngcdUjO/sEJPknYbcUYGVKFEouZgbiA7qKSPsOQU9LumDKUhakYb8ePm8jHLPVMD45j+aH - 2XDaxFgez8CyVQC3mYsuLTP4QB6Rsy0hOwUe//rzUPVnNPzNow7VLsXlQhF4vHToNEmgJoSgbEK4RxKw - 2BcGvSLMRwu6iLRq1/x9+L4bt+E1pxIOexFyzqUiJTkWs0Pp8HxMhnv0KJaGOHC9C0cvER7USpmvGdrK - xOCa7ylWqSZ68hbsnS+mF0ZNZIWq83bAS4MsuPoPok/HRIM8mmIYbsaZDbeOwXg7EYYbcXQeK4+AqIih - 01hymE5D8SHcuxJFp+YSG+oCNppknPY9/c7dLv0GY9x5D3hqGKoAAAAASUVORK5CYII= + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJcSURBVDhPtZJdSFNhHMZ3EyR+bGgxcyqLbjUxETYxZySu + C8PUSU4JnNg2nTlGH4bTPg6aYNlhrY1sZZCGFosuwhymHXNqJBaaK0s005xjHnWxkWW4Pc1zIUgletEL + z937+/2f98/LYv2vM0Zl8vubEld1pewVvSo4bNtzrI8OfZj8eOHXoFXlJVXs9m0JelsPZwxS2V7Pj7tY + mD0LW2cSDOWc/VuW9JvT6YnPBmiriiGVZqKvqwQtNRGOLQle3E+pGKIKvJXakzCbzSAIArzIcAy3J4As + DVFsKpkZkAQMdKSurFWX5ueCJEkolUpwuWzQkzI0Xwz92Shn7finpPtecpvtjcb/9iZUVcug0WiQIkqF + 5tRBLH1V450l2XddwW7+q+Bla3rUEHWUWZxn2QSKqkZOdg7i42JAdRTC9UWOxU8SPGng+0g1m/+HhGpO + GZ6cIFYZgVsHp70GYvEBSHMTYXuVh4WxLH8y8b4r0qsrC7FtEDxrFIhGrSU+Bvbo4V6qw/R4BUw3j8HQ + IMbsiATzb5MwPyyCw8rHQyLId00ZnLEuodpETs/yHX/12wz8zan111agID8LQqEAOiIG9Gga6JE0OHqj + MGMJgF4V4GYEj8mECvvUZbi/m9Zh16wa07ZCZByJR1xsBMZ7BHC+joWjby/meriwPw/E06uBviuyoAcs + ojza53LfwiJdz0xeg5emipiF0aPp/urCDfBcNxv2zp2w6IJQqwyjWcYzPKvx3D6YzkfDeJrH5IZ6D8iy + cCZ1xbuZ1BbtwqUToUwqj3OgzeOgXs5t2dLv3OzSb1ATeJHZByxuAAAAAElFTkSuQmCC