-
Notifications
You must be signed in to change notification settings - Fork 308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
アプリのUIサイズを変更するショートカットの追加 #2380
アプリのUIサイズを変更するショートカットの追加 #2380
Conversation
テストがうまく行ってないようなので、確認します |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
プルリクエストありがとうございます!!
ちょっとメンテナ視点で微調整させていただきたい項目があったのでこちらからプルリクエスト送らせていただきました!
ついでにエラーも解決しています!
もしよかったら取り込んでいただいたり参考にしていただければ 🙏
一応こちらで動作確認していますが、問題なさそうかどうかも見ていただけると助かります!
そのプルリクエストの中に含めている変更に対してのコメントを書いてみました、もしご興味あれば!
src/backend/electron/main.ts
Outdated
@@ -623,7 +623,22 @@ registerIpcMainHandle<IpcMainHandle>({ | |||
win.maximize(); | |||
} | |||
}, | |||
|
|||
// UIの拡大率拡大 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっとコメントの形を変えさせていただいて、コメントの中身を統一させていただきます!
src/components/Sing/menuBarData.ts
Outdated
{ | ||
type: "button", | ||
label: "拡大", | ||
onClick: () => { | ||
void window.backend.zoomIn(); | ||
}, | ||
disableWhenUiLocked: false, | ||
}, | ||
{ | ||
type: "button", | ||
label: "縮小", | ||
onClick: () => { | ||
void window.backend.zoomOut(); | ||
}, | ||
disableWhenUiLocked: true, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sing/talkで統一のメニューは統一して書くこともできるので、その形に変えさせていただきます!
src/components/Sing/menuBarData.ts
Outdated
type: "button", | ||
label: "拡大率のリセット", | ||
onClick: () => { | ||
void window.backend.zoomReset(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
あ、あとwindow.backendを.vueとかから直接呼ぶのは避ける方針にしているのでそれも反映させていただきます!
ちなみにVuexを経由するようになっていて、そのVuexの実装がなかったからエラーが出ている感じでした!
(より正確には型定義だけされていた感じでした)
src/type/preload.ts
Outdated
"拡大", | ||
"縮小", | ||
"拡大率のリセット", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっと後ろの方にさせていただきます!
(特に問題ないはずですが、まぁ追加の順序が分かりやすいようにぐらいのきもちです)
あ、ですね! もしよかったら入れていただければ 🙏 色々気を使ってくださってありがとうございました!! 拡大率のリセットですが、おそらくショートカットキーを割り当てなくても問題ないだろうなと思いました。そんなに利用しないはずなので。 |
@Hiroshiba |
🚀 プレビュー用ページを作成しました 🚀 更新時点でのコミットハッシュ: |
@Hiroshiba Sandboxに追加した関数定義のThrow入れました。 それと、拡大率のリセットショートカット定義を空にしました。 余談なのですが、全体のショートカットについてはもとから別のショートカット(Ctrl+Lとか)を設定して確認していました。
だとどうもブラウザベース?で立ち上がり、Ctrl+-が最初から割り振られていたんですよね。(ChromeのDevツールが横に出る) なので、確認のため使ってないショートカットに割り振って動作確認していたのですが、アプリ形式?でまだ確認できていません。 |
一応手元の環境でビルドすることもできます! エンジンを同梱するのがちょっとややこしいと思います。 アプリを起動したあと、別でエンジンを立ち上げれば起動するはずです。 あと今日本語ファイル名になってるコードが落ちる関係で、 こちらでビルドも試してみました!
↑の件ですが、開発時はデフォルトのメニューが登録されてるからかもです! voicevox/src/backend/electron/main.ts Lines 385 to 387 in 2646307
ここの if (!isDevelopment) { を消してあげれば実行時環境と同じになる・・・と思います。実際に ctrl + が動かなかったので・・・!!
( |
@Hiroshiba それと、+-がそれぞれビルド版で動くかについてですが、動きませんでした。 また、ショートカットキーの入力でCtrl++を登録しようとしたところ、どうもそもそもCtrl++がボイボのショートカットとして登録が現状できないようで、おかしいなと思って登録場所であるhotkeyPlugin.tsの317行目にあるeventの中を見たら、ちょっと別件で気になることが出てきました。 自環境はHHKB Pro 2(USキーボード)で、PC設定もUSキーボード使用の設定です。→ https://happyhackingkb.com/jp/products/discontinued/hairetu.html#pro2 それで、ショートカット登録のコード見ると、
それで、気になったことが2点あります。 ショートカットにEqual, Minusが現状登録不可?少なくとも、USキーボードだとCtrl+Shift+=で+を出すので、event.code参照だとif内の条件によりEqualが登録できない状態のようです。 また、「Ctrl+-」を出す場合、CodeがMinusで返って来るので、「-」も同様に登録不可です。 同様に「Ctrl+Shift+;」もCodeがSemicolonで返ってくるので登録不可です。 そのため、拡大縮小を入れるショートカットをベーシックに作るためには、この辺の改造が必要かもしれません。 キーボード言語設定によりCtrl++がそもそも現状だと初期設定しようがない?自分がUSキーボード使いで、「+」を入れる場合、「Shift + =」を入れる必要があります。 以上です。 もしかすると、このショートカット類を実際にキーボードで入力される数値(code.key)ベースにしてやらないと微妙に困るシチュエーションが出るかもしれません。 いずれにせよ、現状の改修だとCtrl++が不可能っぽい上にCtrl+Shift+;もダメそうなので、拡大縮小については未設定で一度回した方がいいかもしれません。 |
@Hiroshiba 現状Ctrl+-の設定が難しそうで、Ctrl+Shift+Semicolonも改造が必要そうになり、検証箇所がかなり増える見込みです。 そのため
|
なるほどです、ありがとうございます!! ctrl++ですが、jsキーボードなら普通に動いた…かもなのでちょっとこちらでもう一度確認します!! |
@Hiroshiba 多分ですけど、ヒホさん側のPCでも、ショートカット登録画面で上述の理由からCtrl+Shift+;が登録できないはずです(スクショの画面) |
@kebin628 ショートカットキー登録ですが、こちらでも試してみたところ確かにうまく動かさなそうでした・・・。 多分ショートカットキーライブラリを |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!
色々調整ありがとうございました!!!!!
非常に心強かったです!!!!!
ちょっとコンフリクトしているのでこちらで変更させていただきます!
この後普通にマージしてみて、自動ビルドされた成果物でテストしてみたいと思います!
おそらくこちらが自動更新されるはず・・・!
マージします! |
ビルドした成果物をJSキーボードで試してみました! @kebin628 さんの仰るとおり、ctrl+ 一応macでも挙動を確認してみたところ同じでした。(cmd+-は動く) 提案いただいた形の
で進められればと思っています! なんかこの辺り最高のライブラリがあればよいのですが。。。。。。。。 |
内容
以前途中まで行っていた拡大縮小のショートカットPRを最新版で再実装しました。
見様見真似の実装なので、おかしな所あればご指摘お願いします。
実装アプローチは以前のモノと同様です。
以前のもの → #1557
【議題】拡大率リセットのショートカットについて
拡大率のリセットは以前はCtrl+0でしたが、現在は10番目のキャラクターが占有している為、暫定的に初期値をCtrl+Alt+0にしています。
ちなみにChromeのズームリセットショートカットはCtrl+0で、Adobe Photoshopの場合はCtrl+Alt+0になっているそうです。
一応、Ctrl+Alt+0は使われてはいるようですが、レアなようなので
については相談したほうが良いかもしれません。
このあたりのUIやショートカット決定フローについては現在どこで相談すれば大丈夫でしょうか?
一応、このあたりの話はコードを少し変えるだけでなんとかなるので、後から変える分では全然問題ありません。
よろしくお願いします。
関連 Issue
アプリ全体を縮小・拡大できるようにする by kebin628 · Pull Request #1557 · VOICEVOX/voicevox
#1557
スクリーンショット・動画など
その他