示例#1
0
        private GroupBox GetTaskBarClickAction()
        {
            var rbShowSettings = new RadioButton {
                Text = "Show Settings", Dock = DockStyle.Top
            };

            rbShowSettings.Click += (sender, args) =>
            {
                Program.Settings.TaskIconClickShowsSettings = rbShowSettings.Checked;
                INISettings.SaveSettings(Program.Settings);
            };

            var rbArrangeWindows = new RadioButton {
                Text = "Arrange Windows", Dock = DockStyle.Bottom
            };

            rbArrangeWindows.Click += (sender, args) =>
            {
                Program.Settings.TaskIconClickShowsSettings = rbShowSettings.Checked;
                INISettings.SaveSettings(Program.Settings);
            };
            rbShowSettings.Checked = Program.Settings.TaskIconClickShowsSettings;

            var grpBox = new GroupBox {
                Text = "Clicking on System Tray Icon will..."
            };

            grpBox.Controls.Add(rbShowSettings);
            grpBox.Controls.Add(rbArrangeWindows);
            grpBox.Height = rbArrangeWindows.Height * 3;

            return(grpBox);
        }
示例#2
0
        private void ToolStripButtonClick(object sender, EventArgs e)
        {
            var newPlacement = GetPlacement();
            var changeType   = (PlacementChangeType)((ToolStripButton)sender).Tag;

            log.Info($"User triggered {changeType} for placement {newPlacement}");
            switch (changeType)
            {
            case PlacementChangeType.Added:
            case PlacementChangeType.Updated:
                INISettings.SavePlacement(newPlacement);
                break;

            case PlacementChangeType.Deleted:
                INISettings.DeletePlacement(newPlacement);
                break;

            case PlacementChangeType.None:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            PlacementChangedEvent?.Invoke(this, new PlacementChangedEventArgs(newPlacement, changeType));
        }
示例#3
0
 public ProcessListItem(int id, string name, string caption)
 {
     this.id = id;
     Text    = name;
     Caption = caption;
     // Check for a saved placement
     (_placement, _monitor) = INISettings.GetAppPlacement(name);
     SubItems.Add(new ListViewSubItem(this, _placement.Name));
     SubItems.Add(new ListViewSubItem(this, _monitor));
 }
示例#4
0
 private void SavePlacement()
 {
     INISettings.SaveAppPlacement(Text, _placement, _monitor);
 }