OSDN Git Service

ShortUrl.ExpandUrlStrAsync() メソッドの名前を ExpandUrlAsync に変更
[opentween/open-tween.git] / OpenTween / UserInfoDialog.cs
index 1286011..9acfca8 100644 (file)
@@ -44,18 +44,6 @@ namespace OpenTween
     public partial class UserInfoDialog : OTBaseForm
     {
         private TwitterUser _displayUser;
-        public TwitterUser DisplayUser
-        {
-            get { return this._displayUser; }
-            set
-            {
-                if (this._displayUser != value)
-                {
-                    this._displayUser = value;
-                    this.OnDisplayUserChanged();
-                }
-            }
-        }
 
         private readonly TweenMain mainForm;
         private readonly Twitter twitter;
@@ -71,12 +59,12 @@ namespace OpenTween
             this.LabelScreenName.Font = this.ReplaceToGlobalFont(this.LabelScreenName.Font);
         }
 
-        protected virtual async void OnDisplayUserChanged()
+        public async Task ShowUserAsync(TwitterUser user)
         {
-            if (this._displayUser == null)
+            if (user == null || user == this._displayUser)
                 return;
 
-            var user = this._displayUser;
+            this._displayUser = user;
 
             this.LabelId.Text = user.IdStr;
             this.LabelScreenName.Text = user.ScreenName;
@@ -190,7 +178,7 @@ namespace OpenTween
         {
             if (uri != null)
             {
-                var expandedUrl = await ShortUrl.Instance.ExpandUrlStrAsync(uri);
+                var expandedUrl = await ShortUrl.Instance.ExpandUrlAsync(uri);
 
                 this.LinkLabelWeb.Text = uri;
                 this.LinkLabelWeb.Tag = expandedUrl;
@@ -482,6 +470,8 @@ namespace OpenTween
             }
             else
             {
+                Task showUserTask = null;
+
                 if (TextBoxName.Modified ||
                     TextBoxLocation.Modified ||
                     TextBoxWeb.Modified ||
@@ -496,7 +486,7 @@ namespace OpenTween
                                 this.TextBoxLocation.Text,
                                 this.TextBoxDescription.Text));
 
-                        this.DisplayUser = user;
+                        showUserTask = this.ShowUserAsync(user);
                     }
                     catch (WebApiException ex)
                     {
@@ -524,6 +514,9 @@ namespace OpenTween
                 ButtonEdit.Text = ButtonEditText;
 
                 IsEditing = false;
+
+                if (showUserTask != null)
+                    await showUserTask;
             }
 
             this.ButtonEdit.Enabled = true;
@@ -558,7 +551,7 @@ namespace OpenTween
                 });
 
                 if (user != null)
-                    this.DisplayUser = user;
+                    await this.ShowUserAsync(user);
             }
             catch (WebApiException ex)
             {