private void AddTabMenuItem_Click(object sender, EventArgs e)
{
string tabName = null;
MyCommon.TabUsageType tabUsage;
using (InputTabName inputName = new InputTabName())
{
inputName.TabName = _statuses.MakeTabName("MyTab");
inputName.IsShowUsage = true;
inputName.ShowDialog();
if (inputName.DialogResult == DialogResult.Cancel) return;
tabName = inputName.TabName;
tabUsage = inputName.Usage;
}
this.TopMost = this._cfgCommon.AlwaysTop;
if (!string.IsNullOrEmpty(tabName))
{
//List対応
ListElement list = null;
if (tabUsage == MyCommon.TabUsageType.Lists)
{
using (ListAvailable listAvail = new ListAvailable())
{
if (listAvail.ShowDialog(this) == DialogResult.Cancel) return;
if (listAvail.SelectedList == null) return;
list = listAvail.SelectedList;
}
}
TabModel tab;
switch (tabUsage)
{
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 (!_statuses.AddTab(tab) || !AddNewTab(tab, startup: false))
{
string tmp = string.Format(Properties.Resources.AddTabMenuItem_ClickText1, tabName);
MessageBox.Show(tmp, Properties.Resources.AddTabMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
//成功
SaveConfigsTabs();
if (tabUsage == MyCommon.TabUsageType.PublicSearch)
{
ListTab.SelectedIndex = ListTab.TabPages.Count - 1;
ListTab.SelectedTab.Controls["panelSearch"].Controls["comboSearch"].Focus();
}
if (tabUsage == MyCommon.TabUsageType.Lists)
{
ListTab.SelectedIndex = ListTab.TabPages.Count - 1;
var listTab = (ListTimelineTabModel)this._statuses.Tabs[this._curTab.Text];
this.GetListTimelineAsync(listTab);
}
}
}
}