// the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
// Boston, MA 02110-1301, USA.
+#nullable enable
+
using System;
using System.Collections.Generic;
using System.ComponentModel;
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",
foreach (var endpoint in _tlEndpoints)
{
var apiLimit = MyCommon.TwitterApiInfo.AccessLimit[endpoint];
+ if (apiLimit == null)
+ continue;
+
AddListViewItem(endpoint, apiLimit, group);
}
private void AddListViewItem(string endpoint, ApiLimit apiLimit, ListViewGroup group)
{
- var item = new ListViewItem(
- new string[] {
- endpoint,
- apiLimit.AccessLimitRemain + "/" + apiLimit.AccessLimitCount,
- apiLimit.AccessLimitResetDate.ToLocalTimeString()
- });
- 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);
}
private void UpdateEndpointLimit(string endpoint)
{
- var item = this.ListViewApi.Items.Cast<ListViewItem>().FirstOrDefault(x => x.SubItems[0].Text == endpoint);
- if (item != null)
+ var apiLimit = MyCommon.TwitterApiInfo.AccessLimit[endpoint];
+ if (apiLimit != null)
{
- var apiLimit = MyCommon.TwitterApiInfo.AccessLimit[endpoint];
+ var item = this.ListViewApi.Items.Cast<ListViewItem>().Single(x => x.SubItems[0].Text == endpoint);
item.SubItems[1].Text = apiLimit.AccessLimitRemain + "/" + apiLimit.AccessLimitCount;
item.SubItems[2].Text = apiLimit.AccessLimitResetDate.ToLocalTimeString();
}
}
else
{
- var endpoint = (e as TwitterApiStatus.AccessLimitUpdatedEventArgs).EndpointName;
- UpdateEndpointLimit(endpoint);
+ var endpoint = ((TwitterApiStatus.AccessLimitUpdatedEventArgs)e).EndpointName;
+ if (endpoint != null)
+ UpdateEndpointLimit(endpoint);
}
}
catch (ObjectDisposedException)
}
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)
{
public class BufferedListView : ListView
{
public BufferedListView()
- {
- DoubleBuffered = true;
- }
+ => this.DoubleBuffered = true;
}
}