@@ -1659,8 +1659,8 @@ Public Sub InitializeAllHotkeys()
1659
1659
'File menu
1660
1660
.AddAccelerator vbKeyN, vbCtrlMask, "New image" , "file_new" , True , False , True , UNDO_Nothing
1661
1661
.AddAccelerator vbKeyO, vbCtrlMask, "Open" , "file_open" , True , False , True , UNDO_Nothing
1662
- .AddAccelerator vbKeyF4 , vbCtrlMask, "Close" , "file_close" , True , True , True , UNDO_Nothing
1663
- .AddAccelerator vbKeyF4 , vbCtrlMask Or vbShiftMask , "Close all" , "file_closeall" , True , True , True , UNDO_Nothing
1662
+ .AddAccelerator vbKeyW , vbCtrlMask, "Close" , "file_close" , True , True , True , UNDO_Nothing
1663
+ .AddAccelerator vbKeyW , vbCtrlMask Or vbAltMask , "Close all" , "file_closeall" , True , True , True , UNDO_Nothing
1664
1664
.AddAccelerator vbKeyS, vbCtrlMask, "Save" , "file_save" , True , True , True , UNDO_Nothing
1665
1665
.AddAccelerator vbKeyS, vbCtrlMask Or vbAltMask Or vbShiftMask, "Save copy" , "file_savecopy" , True , False , True , UNDO_Nothing
1666
1666
.AddAccelerator vbKeyS, vbCtrlMask Or vbShiftMask, "Save as" , "file_saveas" , True , True , True , UNDO_Nothing
@@ -1676,16 +1676,16 @@ Public Sub InitializeAllHotkeys()
1676
1676
1677
1677
'Most-recently used files. Note that we cannot automatically associate these with a menu, as these menus may not
1678
1678
' exist at run-time. (They are dynamically created as necessary.)
1679
- .AddAccelerator vbKey0 , vbCtrlMask, "MRU_0"
1680
- .AddAccelerator vbKey1 , vbCtrlMask, "MRU_1"
1681
- .AddAccelerator vbKey2 , vbCtrlMask, "MRU_2"
1682
- .AddAccelerator vbKey3 , vbCtrlMask, "MRU_3"
1683
- .AddAccelerator vbKey4 , vbCtrlMask, "MRU_4"
1684
- .AddAccelerator vbKey5 , vbCtrlMask, "MRU_5"
1685
- .AddAccelerator vbKey6 , vbCtrlMask, "MRU_6"
1686
- .AddAccelerator vbKey7 , vbCtrlMask, "MRU_7"
1687
- .AddAccelerator vbKey8 , vbCtrlMask, "MRU_8"
1688
- .AddAccelerator vbKey9 , vbCtrlMask, "MRU_9"
1679
+ .AddAccelerator vbKey1 , vbCtrlMask Or vbShiftMask , "MRU_0" , requiresOpenImage:= False
1680
+ .AddAccelerator vbKey2 , vbCtrlMask Or vbShiftMask , "MRU_1" , requiresOpenImage:= False
1681
+ .AddAccelerator vbKey3 , vbCtrlMask Or vbShiftMask , "MRU_2" , requiresOpenImage:= False
1682
+ .AddAccelerator vbKey4 , vbCtrlMask Or vbShiftMask , "MRU_3" , requiresOpenImage:= False
1683
+ .AddAccelerator vbKey5 , vbCtrlMask Or vbShiftMask , "MRU_4" , requiresOpenImage:= False
1684
+ .AddAccelerator vbKey6 , vbCtrlMask Or vbShiftMask , "MRU_5" , requiresOpenImage:= False
1685
+ .AddAccelerator vbKey7 , vbCtrlMask Or vbShiftMask , "MRU_6" , requiresOpenImage:= False
1686
+ .AddAccelerator vbKey8 , vbCtrlMask Or vbShiftMask , "MRU_7" , requiresOpenImage:= False
1687
+ .AddAccelerator vbKey9 , vbCtrlMask Or vbShiftMask , "MRU_8" , requiresOpenImage:= False
1688
+ .AddAccelerator vbKey0 , vbCtrlMask Or vbShiftMask , "MRU_9" , requiresOpenImage:= False
1689
1689
1690
1690
'Edit menu
1691
1691
.AddAccelerator vbKeyZ, vbCtrlMask, "Undo" , "edit_undo" , True , True , False , UNDO_Nothing
@@ -1711,17 +1711,17 @@ Public Sub InitializeAllHotkeys()
1711
1711
.AddAccelerator vbKeyX, vbCtrlMask Or vbAltMask, "Trim empty image borders" , "image_trim" , True , True , False , UNDO_ImageHeader
1712
1712
1713
1713
'Image -> Rotate submenu
1714
- '.AddAccelerator vbKeyR, 0, "Rotate image 90 clockwise", "image_rotate90", True, True, False, UNDO_Image
1715
- '.AddAccelerator vbKeyL, 0, "Rotate image 90 counter-clockwise", "image_rotate270", True, True, False, UNDO_Image
1716
1714
.AddAccelerator vbKeyR, vbCtrlMask Or vbShiftMask Or vbAltMask, "Arbitrary image rotation" , "image_rotatearbitrary" , True , True , True , UNDO_Nothing
1717
1715
1718
1716
'Layer Menu
1717
+ .AddAccelerator vbKeyN, vbCtrlMask Or vbShiftMask, "Add new layer" , "layer_addbasic" , True , True , True , UNDO_Nothing
1719
1718
.AddAccelerator vbKeyJ, vbCtrlMask, "Layer via copy" , "layer_addviacopy" , True , True , False , UNDO_Image_VectorSafe
1720
1719
.AddAccelerator vbKeyJ, vbCtrlMask Or vbShiftMask, "Layer via cut" , "layer_addviacut" , True , True , False , UNDO_Image
1721
1720
.AddAccelerator vbKeyPageUp, vbCtrlMask Or vbAltMask, "Go to top layer" , "layer_gotop" , True , True , False , UNDO_Nothing
1722
1721
.AddAccelerator vbKeyPageDown, vbCtrlMask Or vbAltMask, "Go to bottom layer" , "layer_gobottom" , True , True , False , UNDO_Nothing
1723
1722
.AddAccelerator vbKeyPageUp, vbAltMask, "Go to layer above" , "layer_goup" , True , True , False , UNDO_Nothing
1724
1723
.AddAccelerator vbKeyPageDown, vbAltMask, "Go to layer below" , "layer_godown" , True , True , False , UNDO_Nothing
1724
+ .AddAccelerator vbKeyE, vbCtrlMask, "layer_mergedown" , "layer_mergedown" , False , True , False , UNDO_Image
1725
1725
.AddAccelerator vbKeyE, vbCtrlMask Or vbShiftMask, "Merge visible layers" , "image_mergevisible" , True , True , False , UNDO_Image
1726
1726
.AddAccelerator vbKeyF, vbCtrlMask Or vbShiftMask, "Flatten image" , "image_flatten" , True , True , True , UNDO_Nothing
1727
1727
@@ -1737,6 +1737,8 @@ Public Sub InitializeAllHotkeys()
1737
1737
'Adjustments Menu
1738
1738
1739
1739
'Adjustments top shortcut menu
1740
+ .AddAccelerator vbKeyL, vbCtrlMask Or vbShiftMask, "Auto correct" , "adj_autocorrect" , True , True , False , UNDO_Layer
1741
+ .AddAccelerator vbKeyL, vbCtrlMask Or vbShiftMask Or vbAltMask, "Auto enhance" , "adj_autoenhance" , True , True , False , UNDO_Layer
1740
1742
.AddAccelerator vbKeyU, vbCtrlMask Or vbShiftMask, "Black and white" , "adj_blackandwhite" , True , True , True , UNDO_Nothing
1741
1743
.AddAccelerator vbKeyB, vbCtrlMask Or vbShiftMask, "Brightness and contrast" , "adj_bandc" , True , True , True , UNDO_Nothing
1742
1744
.AddAccelerator vbKeyC, vbCtrlMask Or vbAltMask, "Color balance" , "adj_colorbalance" , True , True , True , UNDO_Nothing
@@ -1745,7 +1747,9 @@ Public Sub InitializeAllHotkeys()
1745
1747
.AddAccelerator vbKeyH, vbCtrlMask Or vbShiftMask, "Shadows and highlights" , "adj_sandh" , True , True , True , UNDO_Nothing
1746
1748
.AddAccelerator vbKeyAdd, vbCtrlMask Or vbAltMask, "Vibrance" , "adj_vibrance" , True , True , True , UNDO_Nothing
1747
1749
.AddAccelerator VK_OEM_PLUS, vbCtrlMask Or vbAltMask, "Vibrance" , , True , True , True , UNDO_Nothing
1748
- .AddAccelerator vbKeyW, vbCtrlMask, "White balance" , "adj_whitebalance" , True , True , True , UNDO_Nothing
1750
+
1751
+ 'Ctrl+W has been remapped to File > Close
1752
+ '.AddAccelerator vbKeyW, vbCtrlMask, "White balance", "adj_whitebalance", True, True, True, UNDO_Nothing
1749
1753
1750
1754
'Color adjustments
1751
1755
.AddAccelerator vbKeyH, vbCtrlMask, "Hue and saturation" , "adj_hsl" , True , True , True , UNDO_Nothing
@@ -1783,16 +1787,16 @@ Public Sub InitializeAllHotkeys()
1783
1787
.AddAccelerator vbKeyM, vbCtrlMask Or vbAltMask, "Plugin manager" , "tools_3rdpartylibs" , False , False , True , UNDO_Nothing
1784
1788
1785
1789
'View menu
1786
- .AddAccelerator vbKey0, 0 , "FitOnScreen" , "zoom_fit " , False , True , False , UNDO_Nothing
1787
- ' .AddAccelerator vbKeyAdd, 0 , "Zoom_In", "zoom_in ", False, True, False, UNDO_NOTHING
1788
- ' .AddAccelerator VK_OEM_PLUS, 0 , "Zoom_In", , False, True, False, UNDO_NOTHING
1789
- ' .AddAccelerator vbKeySubtract, 0 , "Zoom_Out", "zoom_out ", False, True, False, UNDO_NOTHING
1790
- ' .AddAccelerator VK_OEM_MINUS, 0 , "Zoom_Out", , False, True, False, UNDO_NOTHING
1791
- .AddAccelerator vbKey5, 0 , "Zoom_161" , "zoom_16_1" , False , True , False , UNDO_Nothing
1792
- .AddAccelerator vbKey4, 0 , "Zoom_81" , "zoom_8_1" , False , True , False , UNDO_Nothing
1793
- .AddAccelerator vbKey3, 0 , "Zoom_41" , "zoom_4_1" , False , True , False , UNDO_Nothing
1794
- .AddAccelerator vbKey2, 0 , "Zoom_21" , "zoom_2_1" , False , True , False , UNDO_Nothing
1795
- .AddAccelerator vbKey1, 0 , "Actual_Size" , "zoom_actual" , False , True , False , UNDO_Nothing
1790
+ .AddAccelerator vbKey0, vbCtrlMask , "FitOnScreen" , "view_fit " , False , True , False , UNDO_Nothing
1791
+ .AddAccelerator vbKeyAdd, vbCtrlMask , "Zoom_In" , "view_zoomin " , False , True , False , UNDO_Nothing
1792
+ .AddAccelerator VK_OEM_PLUS, vbCtrlMask , "Zoom_In" , , False , True , False , UNDO_Nothing
1793
+ .AddAccelerator vbKeySubtract, vbCtrlMask , "Zoom_Out" , "view_zoomout " , False , True , False , UNDO_Nothing
1794
+ .AddAccelerator VK_OEM_MINUS, vbCtrlMask , "Zoom_Out" , , False , True , False , UNDO_Nothing
1795
+ .AddAccelerator vbKey5, vbCtrlMask , "Zoom_161" , "zoom_16_1" , False , True , False , UNDO_Nothing
1796
+ .AddAccelerator vbKey4, vbCtrlMask , "Zoom_81" , "zoom_8_1" , False , True , False , UNDO_Nothing
1797
+ .AddAccelerator vbKey3, vbCtrlMask , "Zoom_41" , "zoom_4_1" , False , True , False , UNDO_Nothing
1798
+ .AddAccelerator vbKey2, vbCtrlMask , "Zoom_21" , "zoom_2_1" , False , True , False , UNDO_Nothing
1799
+ .AddAccelerator vbKey1, vbCtrlMask , "Actual_Size" , "zoom_actual" , False , True , False , UNDO_Nothing
1796
1800
.AddAccelerator vbKey2, vbShiftMask, "Zoom_12" , "zoom_1_2" , False , True , False , UNDO_Nothing
1797
1801
.AddAccelerator vbKey3, vbShiftMask, "Zoom_14" , "zoom_1_4" , False , True , False , UNDO_Nothing
1798
1802
.AddAccelerator vbKey4, vbShiftMask, "Zoom_18" , "zoom_1_8" , False , True , False , UNDO_Nothing
@@ -3323,13 +3327,17 @@ Public Sub UpdateSpecialMenu_RecentFiles()
3323
3327
Else
3324
3328
3325
3329
'If actual MRU paths exist, note that we apply them *without* translations, obviously.
3326
- Dim i As Long
3330
+ Dim i As Long , hotkeyNumber As Long
3327
3331
For i = 0 To numOfMRUFiles - 1
3328
3332
3329
3333
tmpString = g_RecentFiles.GetMenuCaption(i)
3330
3334
3331
3335
'Entries under "10" get a free accelerator of the form "Ctrl+i"
3332
- If (i < 10 ) Then tmpString = tmpString & vbTab & g_Language.TranslateMessage("Ctrl" ) & "+" & i
3336
+ If (i < 10 ) Then
3337
+ hotkeyNumber = i + 1
3338
+ If (i = 9 ) Then hotkeyNumber = 0
3339
+ tmpString = tmpString & vbTab & g_Language.TranslateMessage("Ctrl" ) & "+" & g_Language.TranslateMessage("Shift" ) & "+" & hotkeyNumber
3340
+ End If
3333
3341
3334
3342
tmpMii.dwTypeData = StrPtr(tmpString)
3335
3343
SetMenuItemInfoW hMenu, i, 1 &, tmpMii
0 commit comments