2
0
Эх сурвалжийг харах

FIX: Bug [0001017] Entries in Directory Hotlist have no auto-shortcut any more

Alexander Koblov 4 жил өмнө
parent
commit
bd5f1d4c0d
1 өөрчлөгдсөн 13 нэмэгдсэн , 3 устгасан
  1. 13 3
      src/uhotdir.pas

+ 13 - 3
src/uhotdir.pas

@@ -164,6 +164,16 @@ uses
 {$ENDIF}
   ;
 
+function GetCaption(const ACaption: TCaption): TCaption;
+begin
+{$IFNDEF LCLWIN32}
+  if (Pos('&', StringReplace(ACaption, '&&', '', [rfReplaceAll])) = 0) then
+    Result:= '&' + ACaption
+  else
+{$ENDIF}
+  Result:= ACaption;
+end;
+
 { THotDir.Create }
 constructor THotDir.Create;
 begin
@@ -351,7 +361,7 @@ var
             DirExistUnknown, DirExist:
             begin
               localmi := TMenuItem.Create(ParamMenuItem);
-              localmi.Caption := GetMenuCaptionAccordingToOptions(HotDir[I - 1].HotDirName,HotDir[I - 1].HotDirPath);
+              localmi.Caption:= GetCaption(GetMenuCaptionAccordingToOptions(HotDir[I - 1].HotDirName,HotDir[I - 1].HotDirPath));
               localmi.tag := (I - 1) + TagOffset;
               localmi.OnClick := ProcedureWhenHotDirItemClicked;
               ParamMenuItem.Add(localmi);
@@ -368,7 +378,7 @@ var
           if KindHotDirMenuPopulation <> mpPATHHELPER then
           begin
             localmi := TMenuItem.Create(ParamMenuItem);
-            localmi.Caption := HotDir[I - 1].HotDirName;
+            localmi.Caption := GetCaption(HotDir[I - 1].HotDirName);
             localmi.tag := (I - 1) + TagOffset;
             localmi.OnClick := ProcedureWhenHotDirItemClicked;
             ParamMenuItem.Add(localmi);
@@ -392,7 +402,7 @@ var
         hd_STARTMENU:
         begin
           localmi := TMenuItem.Create(ParamMenuItem);
-          localmi.Caption := HotDir[I - 1].HotDirName;
+          localmi.Caption := GetCaption(HotDir[I - 1].HotDirName);
           if gIconsInMenus then localmi.ImageIndex:=ICONINDEX_SUBMENU;
           ParamMenuItem.Add(localmi);
           CompleteMenu(localmi);