• R/O
  • HTTP
  • SSH
  • HTTPS

open-tween: 提交

開発に使用するリポジトリ


Commit MetaInfo

修訂dc54606dd39f6c9dd79b919ab692ba5142aef4fa (tree)
時間2023-01-14 13:29:05
作者Kimura Youichi <kim.upsilon@bucy...>
CommiterKimura Youichi

Log Message

Merge branch 'develop' into release

Change Summary

差異

--- a/OpenTween/Properties/AssemblyInfo.cs
+++ b/OpenTween/Properties/AssemblyInfo.cs
@@ -22,7 +22,7 @@ using System.Runtime.InteropServices;
2222 // 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です
2323 [assembly: Guid("2d0ae0ba-adac-49a2-9b10-26fd69e695bf")]
2424
25-[assembly: AssemblyVersion("3.0.0.0")]
25+[assembly: AssemblyVersion("3.1.0.0")]
2626
2727 [assembly: InternalsVisibleTo("OpenTween.Tests")]
2828 [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] // for Moq
--- a/OpenTween/Properties/Resources.Designer.cs
+++ b/OpenTween/Properties/Resources.Designer.cs
@@ -571,18 +571,16 @@ namespace OpenTween.Properties {
571571 /// <summary>
572572 /// 更新履歴
573573 ///
574+ ///==== Ver 3.1.0(2023/01/14)
575+ /// * NEW: 引用ツイートを Ctrl+Shift+L で実行するショートカットを追加 (thx @WizardOfPSG!)
576+ /// * CHG: 発言一覧のフォントサイズがアイコンより大きい場合は項目の高さをフォントサイズに合わせるように変更
577+ /// * CHG: クリップボードからの画像添付時に表示していた確認ダイアログを廃止
578+ /// * FIX: 発言一覧のソート順が日付の昇順となっている場合にタブ切替時にスクロール位置が保持されない不具合を修正
579+ ///
574580 ///==== Ver 3.0.0(2023/01/11)
575581 /// * OpenTween v3.0.0 からは .NET Framework 4.8 以上が必須になります
576582 /// - .NET Framework 4.8 ランタイムは https://dotnet.microsoft.com/ja-jp/download/dotnet-framework/net48 から入手できます
577- /// - Windows 10 21H1 以降には標準で .NET Framework 4.8 が含まれているため追加のインストールは不要です
578- /// * このバージョン以降の OpenTween では Windows 8.1 以下向けの対応は行いません
579- ///
580- /// * CHG: ターゲットフレームワークを .NET Framework 4.8 に変更
581- ///
582- ///==== Ver 2.8.0(2023/01/11)
583- /// * NEW: サムネイル画像のコンテキストメニューに「画像をコピー」を追加 (thx @kzlogos!)
584- /// * NEW: Segoe UI Emoji によるカラー絵文字の描画に対応(発言詳細欄のみ)
585- /// * CH [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
583+ /// - Windows 10 21H1 以降には標準で .NET Framework 4.8 が含まれているため追加 [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
586584 /// </summary>
587585 internal static string ChangeLog {
588586 get {
@@ -1771,15 +1769,6 @@ namespace OpenTween.Properties {
17711769 }
17721770
17731771 /// <summary>
1774- /// クリップボードから画像を貼り付けようとしています。よろしいですか? に類似しているローカライズされた文字列を検索します。
1775- /// </summary>
1776- internal static string PostPictureConfirm3 {
1777- get {
1778- return ResourceManager.GetString("PostPictureConfirm3", resourceCulture);
1779- }
1780- }
1781-
1782- /// <summary>
17831772 /// 投稿する画像または投稿先サービスが選択されていません。 に類似しているローカライズされた文字列を検索します。
17841773 /// </summary>
17851774 internal static string PostPictureWarn1 {
--- a/OpenTween/Properties/Resources.resx
+++ b/OpenTween/Properties/Resources.resx
@@ -194,7 +194,6 @@
194194 <data name="PostPictureConfirm1"><value>[投稿先: {0}]
195195 {1} 枚の画像を投稿します。よろしいですか?</value></data>
196196 <data name="PostPictureConfirm2"><value>画像投稿確認</value></data>
197- <data name="PostPictureConfirm3"><value>クリップボードから画像を貼り付けようとしています。よろしいですか?</value></data>
198197 <data name="PostPictureWarn1"><value>投稿する画像または投稿先サービスが選択されていません。</value></data>
199198 <data name="PostPictureWarn2"><value>画像投稿</value></data>
200199 <data name="PostPictureWarn3"><value>[投稿先: {0}]
--- a/OpenTween/Resources/ChangeLog.txt
+++ b/OpenTween/Resources/ChangeLog.txt
@@ -1,5 +1,11 @@
11 更新履歴
22
3+==== Ver 3.1.0(2023/01/14)
4+ * NEW: 引用ツイートを Ctrl+Shift+L で実行するショートカットを追加 (thx @WizardOfPSG!)
5+ * CHG: 発言一覧のフォントサイズがアイコンより大きい場合は項目の高さをフォントサイズに合わせるように変更
6+ * CHG: クリップボードからの画像添付時に表示していた確認ダイアログを廃止
7+ * FIX: 発言一覧のソート順が日付の昇順となっている場合にタブ切替時にスクロール位置が保持されない不具合を修正
8+
39 ==== Ver 3.0.0(2023/01/11)
410 * OpenTween v3.0.0 からは .NET Framework 4.8 以上が必須になります
511 - .NET Framework 4.8 ランタイムは https://dotnet.microsoft.com/ja-jp/download/dotnet-framework/net48 から入手できます
--- a/OpenTween/TimelineListViewDrawer.cs
+++ b/OpenTween/TimelineListViewDrawer.cs
@@ -42,18 +42,7 @@ namespace OpenTween
4242
4343 public ThemeManager Theme { get; set; }
4444
45- public MyCommon.IconSizes IconSize
46- {
47- get => this.iconSize;
48- set
49- {
50- if (this.iconSize == value)
51- return;
52-
53- this.iconSize = value;
54- this.ApplyIconSize();
55- }
56- }
45+ public MyCommon.IconSizes IconSize { get; set; }
5746
5847 private bool Use2ColumnsMode
5948 => this.IconSize == MyCommon.IconSizes.Icon48_2;
@@ -74,7 +63,6 @@ namespace OpenTween
7463 private readonly TimelineListViewCache listViewCache;
7564 private readonly ImageCache iconCache;
7665 private readonly ImageList listViewImageList = new(); // ListViewItemの高さ変更用
77- private MyCommon.IconSizes iconSize;
7866
7967 public TimelineListViewDrawer(
8068 DetailsListView listView,
@@ -108,14 +96,18 @@ namespace OpenTween
10896 this.listView.DrawSubItem -= this.ListView_DrawSubItem;
10997 }
11098
111- private void ApplyIconSize()
99+ public void UpdateItemHeight()
112100 {
113101 // ディスプレイの DPI 設定を考慮したサイズを設定する
114102 var scaledIconHeight = this.IconSize != MyCommon.IconSizes.IconNone
115103 ? this.listView.LogicalToDeviceUnits(this.IconSizeNumeric)
116104 : 1;
117105
118- this.listViewImageList.ImageSize = new(1, scaledIconHeight);
106+ // アイコンサイズと発言一覧のフォントサイズのどちらか大きい方を一件分の高さとする
107+ var fontHeight = this.Theme.FontReaded.Height;
108+ var itemHeight = Math.Max(scaledIconHeight, fontHeight);
109+
110+ this.listViewImageList.ImageSize = new(1, itemHeight);
119111 }
120112
121113 private void DrawListViewItemIcon(DrawListViewItemEventArgs e)
--- a/OpenTween/TimelineListViewState.cs
+++ b/OpenTween/TimelineListViewState.cs
@@ -82,14 +82,14 @@ namespace OpenTween
8282 this.savedSelectionState = this.SaveListViewSelection();
8383 }
8484
85- public void Restore()
85+ public void Restore(bool forceScroll = false)
8686 {
87- this.RestoreScroll();
87+ this.RestoreScroll(forceScroll);
8888 this.RestoreSelection();
8989 }
9090
91- public void RestoreScroll()
92- => this.RestoreListViewScroll(this.savedScrollState);
91+ public void RestoreScroll(bool forceScroll = false)
92+ => this.RestoreListViewScroll(this.savedScrollState, forceScroll);
9393
9494 public void RestoreSelection()
9595 => this.RestoreListViewSelection(this.savedSelectionState);
@@ -102,8 +102,9 @@ namespace OpenTween
102102 var lockMode = this.GetScrollLockMode(lockScroll);
103103 long? topItemStatusId = null;
104104
105- if (lockMode == ScrollLockMode.FixedToItem)
105+ if (lockMode == ScrollLockMode.FixedToItem || lockMode == ScrollLockMode.None)
106106 {
107+ // ScrollLockMode.None の場合も forceScroll = true の時に topItemStatusId を使用するため保存する
107108 var topItemIndex = this.listView.TopItem?.Index ?? -1;
108109 if (topItemIndex != -1 && topItemIndex < this.tab.AllCount)
109110 topItemStatusId = this.tab.GetStatusIdAt(topItemIndex);
@@ -195,12 +196,16 @@ namespace OpenTween
195196 /// <summary>
196197 /// <see cref="SaveListViewScroll"/> によって保存されたスクロール位置を復元します
197198 /// </summary>
198- private void RestoreListViewScroll(ListViewScroll listScroll)
199+ private void RestoreListViewScroll(ListViewScroll listScroll, bool forceScroll)
199200 {
200201 if (this.listView.VirtualListSize == 0)
201202 return;
202203
203- switch (listScroll.ScrollLockMode)
204+ var scrollLockMode = listScroll.ScrollLockMode;
205+ if (forceScroll && scrollLockMode == ScrollLockMode.None)
206+ scrollLockMode = ScrollLockMode.FixedToItem;
207+
208+ switch (scrollLockMode)
204209 {
205210 case ScrollLockMode.FixedToTop:
206211 this.listView.EnsureVisible(0);
--- a/OpenTween/Tween.cs
+++ b/OpenTween/Tween.cs
@@ -2783,14 +2783,17 @@ namespace OpenTween
27832783
27842784 this.ListTab.Alignment = newAlignment;
27852785
2786- currentListViewState.Restore();
2786+ currentListViewState.Restore(forceScroll: true);
27872787 }
27882788
27892789 private void ApplyListViewIconSize(MyCommon.IconSizes iconSz)
27902790 {
27912791 // アイコンサイズの再設定
27922792 if (this.listDrawer != null)
2793+ {
27932794 this.listDrawer.IconSize = iconSz;
2795+ this.listDrawer.UpdateItemHeight();
2796+ }
27942797
27952798 this.listCache?.PurgeCache();
27962799 }
@@ -4684,6 +4687,9 @@ namespace OpenTween
46844687 .OnlyWhen(() => this.CurrentTab.TabType == MyCommon.TabUsageType.PublicSearch)
46854688 .Do(() => this.CurrentTabPage.Controls["panelSearch"].Controls["comboSearch"].Focus()),
46864689
4690+ ShortcutCommand.Create(Keys.Control | Keys.Shift | Keys.L)
4691+ .Do(() => this.DoQuoteOfficial()),
4692+
46874693 ShortcutCommand.Create(Keys.Control | Keys.Shift | Keys.S)
46884694 .Do(() => this.FavoriteChange(favAdd: false)),
46894695
@@ -7906,7 +7912,7 @@ namespace OpenTween
79067912 var listView = this.CurrentListView;
79077913
79087914 var currentListViewState = this.listViewState[tab.TabName];
7909- currentListViewState.Restore();
7915+ currentListViewState.Restore(forceScroll: true);
79107916
79117917 if (this.Use2ColumnsMode)
79127918 {
@@ -7930,12 +7936,12 @@ namespace OpenTween
79307936 (this.listCache, var oldCache) = (newCache, this.listCache);
79317937 oldCache?.Dispose();
79327938
7933- var newDrawer = new TimelineListViewDrawer(listView, tab, this.listCache, this.iconCache, this.themeManager)
7934- {
7935- IconSize = this.settings.Common.IconSize,
7936- };
7939+ var newDrawer = new TimelineListViewDrawer(listView, tab, this.listCache, this.iconCache, this.themeManager);
79377940 (this.listDrawer, var oldDrawer) = (newDrawer, this.listDrawer);
79387941 oldDrawer?.Dispose();
7942+
7943+ newDrawer.IconSize = this.settings.Common.IconSize;
7944+ newDrawer.UpdateItemHeight();
79397945 }
79407946
79417947 private void ListTab_Selecting(object sender, TabControlCancelEventArgs e)
@@ -9223,18 +9229,9 @@ namespace OpenTween
92239229 }
92249230 else if (Clipboard.ContainsImage())
92259231 {
9226- // 画像があるので投稿処理を行う
9227- if (MessageBox.Show(Properties.Resources.PostPictureConfirm3,
9228- Properties.Resources.PostPictureWarn4,
9229- MessageBoxButtons.OKCancel,
9230- MessageBoxIcon.Question,
9231- MessageBoxDefaultButton.Button2)
9232- == DialogResult.OK)
9233- {
9234- // clipboardから画像を取得
9235- using var image = Clipboard.GetImage();
9236- this.ImageSelector.BeginSelection(image);
9237- }
9232+ // clipboardから画像を取得
9233+ using var image = Clipboard.GetImage();
9234+ this.ImageSelector.BeginSelection(image);
92389235 }
92399236 else if (Clipboard.ContainsFileDropList())
92409237 {
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,4 @@
1-version: 2.8.0.{build}
1+version: 3.0.0.{build}
22
33 os: Visual Studio 2022
44
Show on old repository browser