Skip to content
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

Refactor: MenuBar.vueをApp.vueに持ってくる #1966

Merged
merged 13 commits into from
Apr 14, 2024

Conversation

sevenc-nanashi
Copy link
Member

内容

fileSubMenuData、editSubMenuDataをcomposableにし、MenuBarをAppに持ってきます。

関連 Issue

スクリーンショット・動画など

(なし)

その他

(なし)

@sevenc-nanashi sevenc-nanashi requested a review from a team as a code owner March 30, 2024 11:29
@sevenc-nanashi sevenc-nanashi requested review from Hiroshiba and removed request for a team March 30, 2024 11:29
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ほぼLGTMです!!
コードも移動のみが大半なことを確認しました。

びっくりするくらいきれいなコード配置になりましたね。


ダイアログを表示する関数がVuex側にあるのたぶん変なんだよな〜と思って設計を考えたのですが、メニューアイテムの挙動もHotkeyActionと同様に「ただ登録された関数を実行する」だけにすれば綺麗だと気づきました。
そもそもItemMenuにはショートカットキーを良い感じに設定できるべきですし、ちょうど良さそう。

今のHotkeyActionをより抽象度の高いなんとかActionにして、それをItemMenu辺りに渡せるようにする設計・・・?
たぶんregisterも何か別のManagerかPluginに移して、HotkeyPluginはただそれをバイパスするだけ、みたいな設計どうですかね。(このPRに関係なく)

src/components/App.vue Outdated Show resolved Hide resolved
src/components/App.vue Outdated Show resolved Hide resolved
src/components/Talk/TalkEditor.vue Outdated Show resolved Hide resolved
src/store/ui.ts Show resolved Hide resolved
src/store/ui.ts Show resolved Hide resolved
@sevenc-nanashi
Copy link
Member Author

反映しました。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

とてもきれいな切り出しだったと思います。
この辺だいぶ片付いてきて気持ちよくコード書けるようになってきた感ありますね!


#1966 (review) に書いたコメントをまとめてissue作ろうかなと思ってるのですが、Action周り詳しい @sevenc-nanashi さんに最初にちょい聞いておきたいなと。

HotkeyActionをより抽象化して、メニューのアクションも同じActionを見れるようにし、ActionManagerみたいなのを作るみたいな設計かなぁと。
・・・・・・うーーーーん。できそうだけど、若干落とし穴ありそうなんですよねぇ。
いやーーーー大丈夫かも。。。。うーん。。。。

いやregisterHotkeyWithCleanupはホットキー関係なくアクションの登録で済ませられてるから、本当にActionManagerかPluginを作って、HotkeyPluginから機能を分離し、Menuから見れるようにすれば良い・・・?
けど「辞書を開く」みたいなわりとショートカットキーがいらない寄りの機能がショートカットキーリストに出ちゃう・・・かと思ったけど、そういうのは普通にMenuに関数渡せるようにしておけば良いかも。
なんかすごいきれいに作れる気がしますね!!!!!!!

@@ -468,4 +473,64 @@ export const uiStore = createPartialStore<UiStoreTypes>({
dispatch("SET_PROGRESS", { progress: -1 });
},
},

// TODO: この4つのアクションをVue側に移動したい
Copy link
Member

@Hiroshiba Hiroshiba Apr 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 issue作る

@Hiroshiba Hiroshiba merged commit 26bac57 into VOICEVOX:main Apr 14, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[refactor] MenuBarを1つにする
2 participants