sakura-editor / sakura

SAKURA Editor (Japanese text editor for MS Windows)
https://sakura-editor.github.io/
Other
1.23k stars 162 forks source link

タブバーのタブをクリックすると表示される右クリックメニューが長いのでサブメニュー化するのはいかがでしょうか? #1100

Open arigayas opened 4 years ago

arigayas commented 4 years ago

要望機能

最新ソースコードをダウンロードしてローカルでビルドしたサクラエディタを見て思ったのですが、 タブバーのタブをクリックすると表示される「右クリックメニュー」が長いのでサブメニュー化するのはいかがでしょうか? image

例えば、一番下のグループをタブを移動というメニューにしてFirefox のタブを移動メニューのようにまとめるのはいかがでしょうか?

image

あと下から2つ目のグループもタブを閉じる という親メニューにまとめる

あと開発版と比較のための Ver 2.3.2.0 のスクリーンショット

image

k-takata commented 4 years ago

今までとの互換性を考えると、2.4.0で増えた項目をサブメニュー化した方がよいかも知れません。 例えば、

とか

arigayas commented 4 years ago

2.4.0 がリリースされるなら取り込んで欲しいと思ったので上記をまとめます。

m-tmatma commented 4 years ago

既存の枠組みで、サブメニューを追加できるか調査してみた。

カスタムメニューという機能があり、その中に新しいメニュー項目をまとめておき、 初期状態で入れておけば行けそうな気がする。

カスタムメニューの追加 (メニュー1)

右クリックメニューに メニュー1 を追加する。

カスタムメニュー

メニュー1 の中身を確認する。

カスタムメニュー1

実際の表示に反映される。

context-menu

カスタムメニューの名前変更

メニュー名に、名前を入れて設定を押す

カスタムメニュー1-2

メニュー名の変更がダイアログに反映される。

カスタムメニュー1-3

実際の表示に反映される。

カスタムメニュー1-4
m-tmatma commented 4 years ago

カスタムメニューという機能があり、その中に新しいメニュー項目をまとめておき、 初期状態で入れておけば行けそうな気がする。

以下で定義されている値をメニューの共有メモリに足せばいいはず。

https://github.com/sakura-editor/sakura/blob/8ca0e39e24f1a63ae8a27b17a7262692a02cacca/sakura_core/Funccode_x.hsrc#L461-L488

arigayas commented 4 years ago

こういう機能があるとは知らなかったです。

アップデートしたらUIが改良もしくは変化があるとアップデートした意味があるなと思うのでお願いします。

berryzplus commented 4 years ago

カスタムメニューじゃない方法でメニューを足すとなると、 子を持つメニューのためのコードを2箇所追加せにゃならんのでやや大変です。 (「最近使ったファイル」とかと同じ実装にするってことだから。)

タブ右クリックメニューは、 もともとカスタムメニューの枠組みで提供される機能なので、 このへんいじれば比較的簡単に内容を変えられます。

https://github.com/sakura-editor/sakura/blob/5c39c84cac4049979f4a67f27b554c860694beb1/sakura_core/env/CShareData.cpp#L1402-L1406

https://github.com/sakura-editor/sakura/blob/5c39c84cac4049979f4a67f27b554c860694beb1/sakura_core/env/CommonSetting.h#L444-L451

メンバ変数の使い方は、雰囲気で分かるはず・・・ :smile:

m-tmatma commented 4 years ago

既存の枠組みで、サブメニューを追加できるか調査してみた。

1161 で実験してみた。

m-tmatma commented 4 years ago

https://github.com/sakura-editor/sakura/blob/5c39c84cac4049979f4a67f27b554c860694beb1/sakura_core/env/CommonSetting.h#L444-L451

メンバ変数の使い方は、雰囲気で分かるはず・・・ 😄

↑ ここはリファクタリングしたい感じです。 #1160

m-tmatma commented 4 years ago

今までとの互換性を考えると、2.4.0で増えた項目をサブメニュー化した方がよいかも知れません。 例えば、

実装して使ってみたんですが、私はトップの階層にあったほうが使いやすいと思いました。 サブメニューをたどるのがめんどくさい。

m-tmatma commented 4 years ago

実装して使ってみたんですが、私はトップの階層にあったほうが使いやすいと思いました。

https://github.com/sakura-editor/sakura/pull/1161#issuecomment-578384968 のバイナリを使えば実動作を試せます。