{
if (ListTabs.Items.Count == 0) return;
- var tab = _sts.Tabs[tabName];
-
ListFilters.Items.Clear();
+
+ var tab = _sts.Tabs[tabName] as FilterTabModel;
+ if (tab == null)
+ return;
+
ListFilters.Items.AddRange(tab.GetFilters());
if (ListFilters.Items.Count > 0)
if (rslt == DialogResult.Cancel) return;
var indices = ListFilters.SelectedIndices.Cast<int>().Reverse().ToArray(); // 後ろの要素から削除
- var tab = _sts.Tabs[ListTabs.SelectedItem.ToString()];
+ var tab = (FilterTabModel)_sts.Tabs[ListTabs.SelectedItem.ToString()];
using (ControlTransaction.Update(ListFilters))
{
return;
}
- var tab = this._sts.Tabs[(string)this.ListTabs.SelectedItem];
+ var tab = (FilterTabModel)this._sts.Tabs[(string)this.ListTabs.SelectedItem];
int i = ListFilters.SelectedIndex;
PostFilterRule ft;
list = listAvail.SelectedList;
}
}
- if (!_sts.AddTab(tabName, tabType, list) || !((TweenMain)this.Owner).AddNewTab(tabName, false, tabType, list))
+
+ TabModel tab;
+ switch (tabType)
+ {
+ case MyCommon.TabUsageType.UserDefined:
+ tab = new FilterTabModel(tabName);
+ break;
+ case MyCommon.TabUsageType.PublicSearch:
+ tab = new PublicSearchTabModel(tabName);
+ break;
+ case MyCommon.TabUsageType.Lists:
+ tab = new ListTimelineTabModel(tabName, list);
+ break;
+ default:
+ return;
+ }
+
+ if (!_sts.AddTab(tab) || !((TweenMain)this.Owner).AddNewTab(tab, startup: false))
{
string tmp = string.Format(Properties.Resources.AddTabMenuItem_ClickText1, tabName);
MessageBox.Show(tmp, Properties.Resources.AddTabMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
var lastSelIdx = indices[0] + diff;
- var tab = _sts.Tabs[ListTabs.Items[tabIdx].ToString()];
+ var tab = (FilterTabModel)_sts.Tabs[ListTabs.Items[tabIdx].ToString()];
try
{
{
if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
{
- TabClass[] selectedTabs;
+ TabModel[] selectedTabs;
using (TabsDialog dialog = new TabsDialog(_sts))
{
dialog.MultiSelect = true;
foreach (int idx in ListFilters.SelectedIndices)
{
- filters.Add(_sts.Tabs[tabname].FilterArray[idx].Clone());
+ var tab = (FilterTabModel)_sts.Tabs[tabname];
+ filters.Add(tab.FilterArray[idx].Clone());
}
- foreach (var tb in selectedTabs)
+ foreach (var tb in selectedTabs.Cast<FilterTabModel>())
{
if (tb.TabName == tabname) continue;
{
if (ListTabs.SelectedIndex > -1 && ListFilters.SelectedItem != null)
{
- TabClass[] selectedTabs;
+ TabModel[] selectedTabs;
using (var dialog = new TabsDialog(_sts))
{
dialog.MultiSelect = true;
foreach (int idx in ListFilters.SelectedIndices)
{
- filters.Add(_sts.Tabs[tabname].FilterArray[idx].Clone());
+ var tab = (FilterTabModel)_sts.Tabs[tabname];
+ filters.Add(tab.FilterArray[idx].Clone());
}
if (selectedTabs.Length == 1 && selectedTabs[0].TabName == tabname) return;
- foreach (var tb in selectedTabs)
+ foreach (var tb in selectedTabs.Cast<FilterTabModel>())
{
if (tb.TabName == tabname) continue;
{
if (ListFilters.GetSelected(idx))
{
- _sts.Tabs[ListTabs.SelectedItem.ToString()].RemoveFilter((PostFilterRule)ListFilters.Items[idx]);
+ var tab = (FilterTabModel)_sts.Tabs[ListTabs.SelectedItem.ToString()];
+ tab.RemoveFilter((PostFilterRule)ListFilters.Items[idx]);
ListFilters.Items.RemoveAt(idx);
}
}