public partial class ApiInfoDialog : OTBaseForm
{
public ApiInfoDialog()
- {
- InitializeComponent();
- }
+ => this.InitializeComponent();
private readonly List<string> _tlEndpoints = new List<string>
{
"/statuses/show/:id",
"/statuses/user_timeline",
"/favorites/list",
+ "/direct_messages/events/list",
"/direct_messages",
"/direct_messages/sent",
"/lists/statuses",
// その他
group = this.ListViewApi.Groups[1];
var apiStatuses = MyCommon.TwitterApiInfo.AccessLimit.Where(x => !_tlEndpoints.Contains(x.Key)).OrderBy(x => x.Key);
- foreach (var pair in apiStatuses)
+ foreach (var (endpoint, apiLimit) in apiStatuses)
{
- AddListViewItem(pair.Key, pair.Value, group);
+ AddListViewItem(endpoint, apiLimit, group);
}
MyCommon.TwitterApiInfo.AccessLimitUpdated += this.TwitterApiStatus_AccessLimitUpdated;
private void AddListViewItem(string endpoint, ApiLimit apiLimit, ListViewGroup group)
{
- var item = new ListViewItem(
- new string[] {
- endpoint,
- apiLimit.AccessLimitRemain + "/" + apiLimit.AccessLimitCount,
- apiLimit.AccessLimitResetDate.ToString()
- });
- item.Group = group;
+ var subitems = new[]
+ {
+ endpoint,
+ apiLimit.AccessLimitRemain + "/" + apiLimit.AccessLimitCount,
+ apiLimit.AccessLimitResetDate.ToLocalTimeString(),
+ };
+ var item = new ListViewItem(subitems)
+ {
+ Group = group,
+ };
+
this.ListViewApi.Items.Add(item);
}
{
var apiLimit = MyCommon.TwitterApiInfo.AccessLimit[endpoint];
item.SubItems[1].Text = apiLimit.AccessLimitRemain + "/" + apiLimit.AccessLimitCount;
- item.SubItems[2].Text = apiLimit.AccessLimitResetDate.ToString();
+ item.SubItems[2].Text = apiLimit.AccessLimitResetDate.ToLocalTimeString();
}
}
- private void TwitterApiStatus_AccessLimitUpdated(object sender, EventArgs e)
+ private async void TwitterApiStatus_AccessLimitUpdated(object sender, EventArgs e)
{
try
{
if (this.InvokeRequired && !this.IsDisposed)
{
- this.Invoke((MethodInvoker)(() => this.TwitterApiStatus_AccessLimitUpdated(sender, e)));
+ await this.InvokeAsync(() => this.TwitterApiStatus_AccessLimitUpdated(sender, e));
}
else
{
}
private void ApiInfoDialog_FormClosing(object sender, FormClosingEventArgs e)
- {
- MyCommon.TwitterApiInfo.AccessLimitUpdated -= this.TwitterApiStatus_AccessLimitUpdated;
- }
+ => MyCommon.TwitterApiInfo.AccessLimitUpdated -= this.TwitterApiStatus_AccessLimitUpdated;
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
-
- // カラムヘッダは自動調節されないのでfactorから計算
- foreach (ColumnHeader col in this.ListViewApi.Columns)
- {
- col.Width = (int)Math.Round(col.Width * factor.Width);
- }
+ ScaleChildControl(this.ListViewApi, factor);
}
}
public class BufferedListView : ListView
{
public BufferedListView()
- {
- DoubleBuffered = true;
- }
+ => this.DoubleBuffered = true;
}
}