33from typing import TYPE_CHECKING
44
55from PySide6 .QtGui import QAction , Qt
6+ from je_editor import language_wrapper
67from je_editor .pyside_ui .main_ui .dock .destroy_dock import DestroyDock
78from je_editor .utils .logging .loggin_instance import jeditor_logger
89
910from automation_ide .automation_editor_ui .connect_gui .ssh .ssh_main_widget import SSHMainWidget
1011from automation_ide .automation_editor_ui .connect_gui .url .ai_code_review_gui import AICodeReviewClient
12+ from automation_ide .automation_editor_ui .prompt_edit_gui .main_prompt_edit_widget import PromptEditor
1113
1214if TYPE_CHECKING :
1315 from automation_ide .automation_editor_ui .editor_main .main_ui import AutomationEditor
1416
1517
1618def build_tools_menu (ui_we_want_to_set : AutomationEditor ):
1719 # Menus
18- ui_we_want_to_set .tools_menu = ui_we_want_to_set .menu .addMenu ("Tools" )
19- ui_we_want_to_set .tools_ssh_menu = ui_we_want_to_set .tools_menu .addMenu ("SSH" )
20- ui_we_want_to_set .tools_ai_menu = ui_we_want_to_set .tools_menu .addMenu ("AI" )
20+ ui_we_want_to_set .tools_menu = ui_we_want_to_set .menu .addMenu (language_wrapper .language_word_dict .get (
21+ "extend_tools_menu_tools_menu"
22+ ))
23+ ui_we_want_to_set .tools_ssh_menu = ui_we_want_to_set .tools_menu .addMenu (language_wrapper .language_word_dict .get (
24+ "extend_tools_menu_tools_ssh_menu"
25+ ))
26+ ui_we_want_to_set .tools_ai_menu = ui_we_want_to_set .tools_menu .addMenu (language_wrapper .language_word_dict .get (
27+ "extend_tools_menu_tools_ai_menu"
28+ ))
2129
22- ui_we_want_to_set .tools_ssh_client_tab_action = QAction ("SSH Client Tab" )
30+ ui_we_want_to_set .tools_ssh_client_tab_action = QAction (language_wrapper .language_word_dict .get (
31+ "extend_tools_menu_ssh_client_tab_action"
32+ ))
2333 ui_we_want_to_set .tools_ssh_client_tab_action .triggered .connect (lambda : ui_we_want_to_set .tab_widget .addTab (
24- SSHMainWidget (), "SSH Client"
34+ SSHMainWidget (), language_wrapper . language_word_dict . get ( "extend_tools_menu_ssh_client_tab_label" )
2535 ))
2636 ui_we_want_to_set .tools_ssh_menu .addAction (ui_we_want_to_set .tools_ssh_client_tab_action )
2737
28- ui_we_want_to_set .tools_ai_code_review_action = QAction ("AI Code-Review Tab" )
38+ ui_we_want_to_set .tools_ai_code_review_action = QAction (language_wrapper .language_word_dict .get (
39+ "extend_tools_menu_ai_code_review_tab_action"
40+ ))
2941 ui_we_want_to_set .tools_ai_code_review_action .triggered .connect (lambda : ui_we_want_to_set .tab_widget .addTab (
30- AICodeReviewClient (), "AI Code-Review"
42+ AICodeReviewClient (), language_wrapper .language_word_dict .get (
43+ "extend_tools_menu_ai_code_review_tab_label"
44+ )
3145 ))
3246 ui_we_want_to_set .tools_ai_menu .addAction (ui_we_want_to_set .tools_ai_code_review_action )
3347
48+ ui_we_want_to_set .tools_ai_prompt_editor_action = QAction (language_wrapper .language_word_dict .get (
49+ "extend_tools_menu_prompt_editor_tab_action"
50+ ))
51+ ui_we_want_to_set .tools_ai_prompt_editor_action .triggered .connect (lambda : ui_we_want_to_set .tab_widget .addTab (
52+ PromptEditor (), language_wrapper .language_word_dict .get (
53+ "extend_tools_menu_prompt_editor_tab_label"
54+ )
55+ ))
56+ ui_we_want_to_set .tools_ai_menu .addAction (ui_we_want_to_set .tools_ai_prompt_editor_action )
57+
3458
3559def extend_dock_menu (ui_we_want_to_set : AutomationEditor ):
3660 # Sub menu
3761 ui_we_want_to_set .dock_ssh_menu = ui_we_want_to_set .dock_menu .addMenu (
38- "SSH"
62+ language_wrapper . language_word_dict . get ( "extend_tools_menu_dock_ssh_menu" )
3963 )
4064 ui_we_want_to_set .dock_ai_menu = ui_we_want_to_set .dock_menu .addMenu (
41- "AI"
65+ language_wrapper . language_word_dict . get ( "extend_tools_menu_dock_ai_menu" )
4266 )
4367 # SSH
44- ui_we_want_to_set .tools_ssh_client_dock_action = QAction ("SSH Client Dock" )
68+ ui_we_want_to_set .tools_ssh_client_dock_action = QAction (
69+ language_wrapper .language_word_dict .get ("extend_tools_menu_ssh_client_dock_action" )
70+ )
4571 ui_we_want_to_set .tools_ssh_client_dock_action .triggered .connect (
46- lambda : add_dock (ui_we_want_to_set , "SSH" )
72+ lambda : add_dock (ui_we_want_to_set , language_wrapper .language_word_dict .get (
73+ "extend_tools_menu_dock_ssh_menu"
74+ ))
4775 )
4876 ui_we_want_to_set .dock_ssh_menu .addAction (ui_we_want_to_set .tools_ssh_client_dock_action )
4977 # AI
50- ui_we_want_to_set .tools_ai_code_review_dock_action = QAction ("AI Code-Review Dock" )
78+ ui_we_want_to_set .tools_ai_code_review_dock_action = QAction (language_wrapper .language_word_dict .get (
79+ "extend_tools_menu_ai_code_review_dock_action"
80+ ))
5181 ui_we_want_to_set .tools_ai_code_review_dock_action .triggered .connect (
52- lambda : add_dock (ui_we_want_to_set , "AICodeReview" )
82+ lambda : add_dock (ui_we_want_to_set , language_wrapper .language_word_dict .get (
83+ "extend_tools_menu_prompt_editor_dock_action"
84+ ))
5385 )
5486 ui_we_want_to_set .dock_ai_menu .addAction (ui_we_want_to_set .tools_ai_code_review_dock_action )
5587
88+ ui_we_want_to_set .tools_prompt_editor_dock_action = QAction (language_wrapper .language_word_dict .get (
89+ "extend_tools_menu_prompt_editor_dock_action" ))
90+ ui_we_want_to_set .tools_prompt_editor_dock_action .triggered .connect (
91+ lambda : add_dock (ui_we_want_to_set , language_wrapper .language_word_dict .get (
92+ "extend_tools_menu_prompt_editor_dock_action"
93+ ))
94+ )
95+ ui_we_want_to_set .dock_ai_menu .addAction (ui_we_want_to_set .tools_prompt_editor_dock_action )
96+
5697def add_dock (ui_we_want_to_set : AutomationEditor , widget_type : str = None ):
5798 jeditor_logger .info ("build_dock_menu.py add_dock_widget "
5899 f"ui_we_want_to_set: { ui_we_want_to_set } "
@@ -63,11 +104,20 @@ def add_dock(ui_we_want_to_set: AutomationEditor, widget_type: str = None):
63104 dock_widget = DestroyDock ()
64105
65106 if widget_type == "SSH" :
66- dock_widget .setWindowTitle ("SSH Client" )
107+ dock_widget .setWindowTitle (language_wrapper .language_word_dict .get (
108+ "extend_tools_menu_ssh_client_dock_title"
109+ ))
67110 dock_widget .setWidget (SSHMainWidget ())
68111 elif widget_type == "AICodeReview" :
69- dock_widget .setWindowTitle ("AI Code-Review" )
112+ dock_widget .setWindowTitle (language_wrapper .language_word_dict .get (
113+ "extend_tools_menu_ai_code_review_dock_title"
114+ ))
70115 dock_widget .setWidget (AICodeReviewClient ())
116+ elif widget_type == "PromptEditor" :
117+ dock_widget .setWindowTitle (language_wrapper .language_word_dict .get (
118+ "extend_tools_menu_prompt_editor_dock_title"
119+ ))
120+ dock_widget .setWidget (PromptEditor ())
71121
72122 # 如果成功建立了 widget,將其加到主視窗右側 Dock 區域
73123 # If widget is created, add it to the right dock area of the main window
0 commit comments