OSDN Git Service

テストコード修正
[opentween/open-tween.git] / OpenTween / ApiInfoDialog.cs
index 920c04e..a666af8 100644 (file)
@@ -35,9 +35,7 @@ namespace OpenTween
     public partial class ApiInfoDialog : OTBaseForm
     {
         public ApiInfoDialog()
-        {
-            InitializeComponent();
-        }
+            => this.InitializeComponent();
 
         private readonly List<string> _tlEndpoints = new List<string>
         {
@@ -46,6 +44,7 @@ namespace OpenTween
             "/statuses/show/:id",
             "/statuses/user_timeline",
             "/favorites/list",
+            "/direct_messages/events/list",
             "/direct_messages",
             "/direct_messages/sent",
             "/lists/statuses",
@@ -65,9 +64,9 @@ namespace OpenTween
             // その他
             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;
@@ -75,13 +74,17 @@ namespace OpenTween
 
         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);
         }
 
@@ -92,17 +95,17 @@ namespace OpenTween
             {
                 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
                 {
@@ -121,19 +124,12 @@ namespace OpenTween
         }
 
         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);
         }
     }
 
@@ -141,8 +137,6 @@ namespace OpenTween
     public class BufferedListView : ListView
     {
         public BufferedListView()
-        {
-            DoubleBuffered = true;
-        }
+            => this.DoubleBuffered = true;
     }
 }