private string GetStatusLabelText()
{
//ステータス欄にカウント表示
//タブ未読数/タブ発言数 全未読数/総発言数 (未読@+未読DM数)
if (_statuses == null) return "";
TabModel tbRep = _statuses.GetTabByType(MyCommon.TabUsageType.Mentions);
TabModel tbDm = _statuses.GetTabByType(MyCommon.TabUsageType.DirectMessage);
if (tbRep == null || tbDm == null) return "";
int urat = tbRep.UnreadCount + tbDm.UnreadCount;
int ur = 0;
int al = 0;
int tur = 0;
int tal = 0;
StringBuilder slbl = new StringBuilder(256);
try
{
foreach (var tab in _statuses.Tabs.Values)
{
ur += tab.UnreadCount;
al += tab.AllCount;
if (_curTab != null && tab.TabName.Equals(_curTab.Text))
{
tur = tab.UnreadCount;
tal = tab.AllCount;
}
}
}
catch (Exception)
{
return "";
}
UnreadCounter = ur;
UnreadAtCounter = urat;
var homeTab = this._statuses.GetTabByType<HomeTabModel>();
slbl.AppendFormat(Properties.Resources.SetStatusLabelText1, tur, tal, ur, al, urat, _postTimestamps.Count, _favTimestamps.Count, homeTab.TweetsPerHour);
if (this._cfgCommon.TimelinePeriod == 0)
{
slbl.Append(Properties.Resources.SetStatusLabelText2);
}
else
{
slbl.Append(this._cfgCommon.TimelinePeriod + Properties.Resources.SetStatusLabelText3);
}
return slbl.ToString();
}