OSDN Git Service

ステータスバーに各タブの更新回数(起動時からの回数)の表示を追加
authorKimura Youichi <kim.upsilon@bucyou.net>
Sat, 27 Jan 2024 06:14:17 +0000 (15:14 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 27 Jan 2024 06:16:32 +0000 (15:16 +0900)
CHANGELOG.txt
OpenTween/Models/TabModel.cs
OpenTween/Properties/Resources.Designer.cs
OpenTween/Properties/Resources.en.resx
OpenTween/Properties/Resources.resx
OpenTween/Tween.cs

index f15a5e2..8a5ce14 100644 (file)
@@ -4,6 +4,7 @@
  * NEW: Cookie使用時のReplyタブの更新に対応(/statuses/mentions_timeline.json 廃止に伴う対応)
  * NEW: Cookie使用時のFavoritesタブの更新に対応
  * NEW: Cookie使用時のFav追加・削除に対応
+ * NEW: ステータスバーに各タブの更新回数(起動時からの回数)の表示を追加
  * NEW: 設定画面の更新間隔ページに24時間分の取得回数目安の表示を追加
  * CHG: 更新間隔の初期設定を変更
  * FIX: Cookie使用時にツイート検索の言語指定が効かない不具合を修正
index 5989444..e5dc4e1 100644 (file)
@@ -113,11 +113,15 @@ namespace OpenTween.Models
             set => this.AnchorStatusId = value?.StatusId;
         }
 
+        public int UpdateCount
+            => this.updateCount;
+
         private IndexedSortedSet<PostId> ids = new();
         private ConcurrentQueue<TemporaryId> addQueue = new();
         private readonly ConcurrentQueue<PostId> removeQueue = new();
         private SortedSet<PostId> unreadIds = new();
         private List<PostId> selectedStatusIds = new();
+        private int updateCount = 0;
 
         private readonly object lockObj = new();
 
@@ -450,5 +454,8 @@ namespace OpenTween.Models
                 }
             }
         }
+
+        public void IncrementUpdateCount()
+            => Interlocked.Increment(ref this.updateCount);
     }
 }
index e89cb6d..e6bfc1a 100644 (file)
@@ -2590,6 +2590,15 @@ namespace OpenTween.Properties {
         }
         
         /// <summary>
+        ///   [更新: {0:#,0}] に類似しているローカライズされた文字列を検索します。
+        /// </summary>
+        internal static string SetStatusLabelText4 {
+            get {
+                return ResourceManager.GetString("SetStatusLabelText4", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   「認証開始」ボタンを押すとブラウザが開きます。「連携アプリを認証」し、表示されたPINを画面上部に入力後、「Finish」ボタンを押してください。認証せずに終了してもよろしいですか? に類似しているローカライズされた文字列を検索します。
         /// </summary>
         internal static string Setting_FormClosing1 {
index a0fd66a..62d6128 100644 (file)
@@ -257,6 +257,7 @@ Available service: {1}</value></data>
        <data name="SetStatusLabelText1"><value>[Tab: {0}/{1} All: {2}/{3} (Reply: {4})] [Spd: Pst {5}/ Fav {6}/ TL {7}] [Interval: </value></data>
        <data name="SetStatusLabelText2"><value>-]</value></data>
        <data name="SetStatusLabelText3"><value>]</value></data>
+       <data name="SetStatusLabelText4"><value>[Updates: {0:#,0}]</value></data>
        <data name="Setting_FormClosing1"><value>Press [Start Authentication] button and  [Authorize App]. Key in PIN then press [Finish] button. Will you exit application without validating your account?</value></data>
        <data name="SettingPath_Relocation"><value>Failed to write settings to {0}.
 
index 3e3c865..f9cab82 100644 (file)
        <data name="SetStatusLabelText1"><value>[タブ: {0}/{1} 全体: {2}/{3} (返信: {4})] [時速: 投 {5}/ ☆ {6}/ 流 {7}] [間隔: </value></data>
        <data name="SetStatusLabelText2"><value>-]</value></data>
        <data name="SetStatusLabelText3"><value>]</value></data>
+       <data name="SetStatusLabelText4"><value>[更新: {0:#,0}]</value></data>
        <data name="Setting_FormClosing1"><value>「認証開始」ボタンを押すとブラウザが開きます。「連携アプリを認証」し、表示されたPINを画面上部に入力後、「Finish」ボタンを押してください。認証せずに終了してもよろしいですか?</value></data>
        <data name="SettingPath_Relocation"><value>{0} での設定の書き込みに失敗しました。
 
index 3f7878b..89e3dd6 100644 (file)
@@ -1303,6 +1303,7 @@ namespace OpenTween
             {
                 this.RefreshTasktrayIcon();
                 await Task.Run(() => tab.RefreshAsync(this.tw, backward, this.initial, this.workerProgress));
+                tab.IncrementUpdateCount();
             }
             catch (WebApiException ex)
             {
@@ -6938,6 +6939,8 @@ namespace OpenTween
             {
                 slbl.Append(this.settings.Common.TimelinePeriod + Properties.Resources.SetStatusLabelText3);
             }
+            slbl.Append(" ");
+            slbl.AppendFormat(Properties.Resources.SetStatusLabelText4, this.CurrentTab.UpdateCount);
             return slbl.ToString();
         }