//TODO: Sortable rule list #region Rules private void UpdateListViewRules() { if (_selectedFolderIndex == -1) { listViewRules.BeginUpdate(); listViewRules.Items.Clear(); listViewRules.EndUpdate(); return; } List <ListViewItem> l = new List <ListViewItem>(); BFolder f = _folders[_selectedFolderIndex]; foreach (BRule rule in f.Rules) { ListViewItem i = new ListViewItem(rule.Description); i.Checked = rule.Enabled; l.Add(i); } listViewRules.BeginUpdate(); listViewRules.Items.Clear(); listViewRules.Items.AddRange(l.ToArray()); listViewRules.EndUpdate(); }
//TODO Sychronization: Folders private void buttonFolderAdd_Click(object sender, EventArgs e) { DialogResult d = folderBrowserDialog.ShowDialog(); if (d != DialogResult.OK) { return; } foreach (BFolder f in _belvedere.Folders) { if (f.Path != folderBrowserDialog.SelectedPath) { continue; } MessageBox.Show("Selected folder has already been added."); return; } BFolder nf = new BFolder(folderBrowserDialog.SelectedPath); _folders.Add(nf); listViewFolders.BeginUpdate(); listViewFolders_Add(nf.Path); listViewFolders.EndUpdate(); }
private void buttonRuleAdd_Click(object sender, EventArgs e) { if (_selectedFolderIndex < 0) { MessageBox.Show("Please select a folder."); return; } BFolder folder = _folders[_selectedFolderIndex]; FormCreateARule form = new FormCreateARule(); form.Path = folder.Path; DialogResult dr = form.ShowDialog(); if (dr != DialogResult.OK) { return; } BRule r = new BRule(); r.Description = form.Description; r.Enabled = form.IsEnabled; r.ConfirmAction = form.ConfirmAction; r.Recursive = form.Recursive; r.AllOrAny = form.AllOrAny; r.Conditions = form.Conditions; r.Action = form.Action; folder.Rules.Add(r); listViewRules.BeginUpdate(); ListViewItem l = new ListViewItem(r.Description); l.Checked = r.Enabled; listViewRules.Items.Add(l); listViewRules.EndUpdate(); }
private void listViewRules_ItemChecked(object sender, ItemCheckedEventArgs e) { BFolder f = _folders[_selectedFolderIndex]; f.Rules[e.Item.Index].Enabled = e.Item.Checked; }