Beispiel #1
0
        private void DrawListView()
        {
            listView1.Items.Clear();
            if (Data.SelectedActionList != null)
            {
                foreach (IKeyAction keyAction in Data.SelectedActionList.OrderBy(ka => ka.Pinned == false).ThenBy(ka => ka.KeyCombo))
                {
                    var keyCombo = DefaultKeyAction.GetKeyCombo(keyAction.Keys, true);
                    keyCombo = string.IsNullOrWhiteSpace(keyCombo) ? "None" : keyCombo;
                    ListViewItem newItem = listView1.Items.Add(keyCombo);
                    if (keyAction.Enabled == false)
                    {
                        Font fnt = new Font(newItem.Font, FontStyle.Strikeout);
                        newItem.ForeColor = Color.FromArgb(100, 100, 100);
                        newItem.Font      = fnt;
                    }
                    if (keyAction.Pinned)
                    {
                        newItem.BackColor = Color.FromArgb(230, 230, 230);
                    }

                    newItem.SubItems.Add($"{(keyAction.Pinned ? ">  " : string.Empty)}{keyAction}");
                    newItem.Tag = keyAction.GUID;
                }
                listView1.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent);
                listView1.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize);
                listView1.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
                if (listView1.Columns[1].Width < (400 - listView1.Columns[0].Width - 2))
                {
                    listView1.Columns[1].Width = (400 - listView1.Columns[0].Width - 2);
                }
            }
        }
Beispiel #2
0
 private void GlobalKeyDown(object sender, KeyEventArgs e)
 {
     string[] parts = DefaultKeyAction.GetKeyCombo(Keys, true).Split('+');
     if (parts.Where(p => p == PrettyKeys.Convert(e.KeyCode)).Any())
     {
         return;                                                             // dont allow duplicate keys in the combo
     }
     if (parts.Length < DefaultKeyAction.KEY_COUNT)
     {
         for (int i = 0; i < Keys.Length; i++)
         {
             if (Keys[i] == System.Windows.Forms.Keys.None)
             {
                 Keys[i] = e.KeyCode;
                 break;
             }
         }
     }
     AddForm.DrawKeyDisplay();
 }