private void ButtonRuleCopy_Click(object sender, EventArgs e)
{
if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
{
TabModel[] selectedTabs;
using (TabsDialog dialog = new TabsDialog(_sts))
{
dialog.MultiSelect = true;
dialog.Text = Properties.Resources.ButtonRuleCopy_ClickText1;
if (dialog.ShowDialog(this) == DialogResult.Cancel) return;
selectedTabs = dialog.SelectedTabs;
}
string tabname = ListTabs.SelectedItem.ToString();
List<PostFilterRule> filters = new List<PostFilterRule>();
foreach (int idx in ListFilters.SelectedIndices)
{
var tab = (FilterTabModel)_sts.Tabs[tabname];
filters.Add(tab.FilterArray[idx].Clone());
}
foreach (var tb in selectedTabs.Cast<FilterTabModel>())
{
if (tb.TabName == tabname) continue;
foreach (PostFilterRule flt in filters)
{
if (!tb.FilterArray.Contains(flt))
tb.AddFilter(flt.Clone());
}
}
SetFilters(tabname);
}
}