private void SaveConfigsTabs()
{
var tabsSetting = new SettingTabs();
var tabs = this.ListTab.TabPages.Cast<TabPage>()
.Select(x => this._statuses.Tabs[x.Text])
.Concat(new[] { this._statuses.GetTabByType(MyCommon.TabUsageType.Mute) });
foreach (var tab in tabs)
{
if (!tab.IsPermanentTabType)
continue;
var tabSetting = new SettingTabs.SettingTabItem
{
TabName = tab.TabName,
TabType = tab.TabType,
UnreadManage = tab.UnreadManage,
Protected = tab.Protected,
Notify = tab.Notify,
SoundFile = tab.SoundFile,
};
var filterTab = tab as FilterTabModel;
if (filterTab != null)
tabSetting.FilterArray = filterTab.FilterArray;
var userTab = tab as UserTimelineTabModel;
if (userTab != null)
tabSetting.User = userTab.ScreenName;
var searchTab = tab as PublicSearchTabModel;
if (searchTab != null)
{
tabSetting.SearchWords = searchTab.SearchWords;
tabSetting.SearchLang = searchTab.SearchLang;
}
var listTab = tab as ListTimelineTabModel;
if (listTab != null)
tabSetting.ListInfo = listTab.ListInfo;
tabsSetting.Tabs.Add(tabSetting);
}
tabsSetting.Save();
}