1111 >
1212 <menu-control-button
1313 icon =" mdi-circle-half-full"
14- name =" Window & Level"
14+ : name =" ` Window & Level [${nameToShortcut['Window & Level']}]` "
1515 :active =" active"
1616 :disabled =" noCurrentImage"
1717 @click =" toggle"
2222 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Pan" >
2323 <control-button
2424 icon =" mdi-cursor-move"
25- name =" Pan"
25+ : name =" ` Pan [${nameToShortcut['Pan']}]` "
2626 :buttonClass =" ['tool-btn', active ? 'tool-btn-selected' : '']"
2727 :disabled =" noCurrentImage"
2828 @click =" toggle"
3131 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Zoom" >
3232 <control-button
3333 icon =" mdi-magnify-plus-outline"
34- name =" Zoom"
34+ : name =" ` Zoom [${nameToShortcut['Zoom']}]` "
3535 :buttonClass =" ['tool-btn', active ? 'tool-btn-selected' : '']"
3636 :disabled =" noCurrentImage"
3737 @click =" toggle"
4343 >
4444 <control-button
4545 icon =" mdi-crosshairs"
46- name =" Crosshairs"
46+ : name =" ` Crosshairs [${nameToShortcut['Crosshairs']}]` "
4747 :buttonClass =" ['tool-btn', active ? 'tool-btn-selected' : '']"
4848 :disabled =" noCurrentImage || isObliqueLayout"
4949 @click =" toggle"
5353 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Select" >
5454 <control-button
5555 icon =" mdi-cursor-default"
56- name =" Select"
56+ : name =" ` Select [${nameToShortcut['Select']}]` "
5757 :buttonClass =" ['tool-btn', active ? 'tool-btn-selected' : '']"
5858 :disabled =" noCurrentImage"
5959 @click =" toggle"
6262 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Paint" >
6363 <control-button
6464 icon =" mdi-brush"
65- name =" Paint"
65+ : name =" ` Paint [${nameToShortcut['Paint']}]` "
6666 :buttonClass =" ['tool-btn', active ? 'tool-btn-selected' : '']"
6767 :disabled =" noCurrentImage || isObliqueLayout"
6868 @click =" toggle"
7474 >
7575 <menu-control-button
7676 icon =" mdi-vector-square"
77- name =" Rectangle"
77+ : name =" ` Rectangle [${nameToShortcut['Rectangle']}]` "
7878 :mobileOnlyMenu =" true"
7979 :active =" active"
8080 :disabled =" noCurrentImage || isObliqueLayout"
8686 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Polygon" >
8787 <menu-control-button
8888 icon =" mdi-pentagon-outline"
89- name =" Polygon"
89+ : name =" ` Polygon [${nameToShortcut['Polygon']}]` "
9090 :mobileOnlyMenu =" true"
9191 :active =" active"
9292 :disabled =" noCurrentImage || isObliqueLayout"
9898 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Ruler" >
9999 <menu-control-button
100100 icon =" mdi-ruler"
101- name =" Ruler"
101+ : name =" ` Ruler [${nameToShortcut['Ruler']}]` "
102102 :mobileOnlyMenu =" true"
103103 :active =" active"
104104 :disabled =" noCurrentImage || isObliqueLayout"
112112 <groupable-item v-slot:default =" { active, toggle }" :value =" Tools.Crop" >
113113 <menu-control-button
114114 icon =" mdi-crop"
115- name =" Crop"
115+ : name =" ` Crop [${nameToShortcut['Crop']}]` "
116116 :active =" active"
117117 :disabled =" noCurrentImage || isObliqueLayout"
118118 @click =" toggle"
@@ -143,6 +143,7 @@ import RulerControls from '@/src/components/RulerControls.vue';
143143import RectangleControls from ' @/src/components/RectangleControls.vue' ;
144144import PolygonControls from ' @/src/components/PolygonControls.vue' ;
145145import WindowLevelControls from ' @/src/components/tools/windowing/WindowLevelControls.vue' ;
146+ import { actionToKey } from ' @/src/composables/useKeyboardShortcuts' ;
146147
147148export default defineComponent ({
148149 components: {
@@ -179,6 +180,23 @@ export default defineComponent({
179180 windowingMenu .value = false ;
180181 });
181182
183+ // Rename the computed property to map tool names to their keyboard shortcuts
184+ const nameToShortcut = computed (() => {
185+ const keyMap = actionToKey .value ;
186+ return {
187+ ' Window & Level' : keyMap .windowLevel ,
188+ Pan: keyMap .pan ,
189+ Zoom: keyMap .zoom ,
190+ Crosshairs: keyMap .crosshairs ,
191+ Select: keyMap .select ,
192+ Paint: keyMap .paint ,
193+ Rectangle: keyMap .rectangle ,
194+ Polygon: keyMap .polygon ,
195+ Ruler: keyMap .ruler ,
196+ Crop: keyMap .crop ,
197+ };
198+ });
199+
182200 return {
183201 currentTool ,
184202 setCurrentTool: toolStore .setCurrentTool ,
@@ -188,6 +206,7 @@ export default defineComponent({
188206 paintMenu ,
189207 cropMenu ,
190208 windowingMenu ,
209+ nameToShortcut ,
191210 };
192211 },
193212});
0 commit comments