mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-28 10:02:14 +00:00
FIX: Was crashing 9 times on 10 in Linux/Ubuntu, in "Toolbar" configuration, when doing the "Other... -> Add toolbar with all DC commands".
ADD: "DCGetNewGUID" function in "uDCUtils" to get a unique ID number (used in "fOptionsToolbar" and "ufavoritetabs"). CHG: Languages files changed because of the addition of a forgotten message
This commit is contained in:
parent
75aa2b224a
commit
fd46cfbdf0
32 changed files with 198 additions and 82 deletions
|
|
@ -10869,6 +10869,10 @@ msgstr "Преглед"
|
|||
msgid "Account:"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -10859,6 +10859,10 @@ msgstr "Visualització"
|
|||
msgid "Account:"
|
||||
msgstr "Compte:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Paràmetres addicionals per a la linia d'ordres de l'arxivador:"
|
||||
|
|
|
|||
|
|
@ -9723,6 +9723,10 @@ msgstr "Zobrazit"
|
|||
msgid "Account:"
|
||||
msgstr "Účet:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Doplňující parametry pro archivátor příkazové řádky:"
|
||||
|
|
|
|||
|
|
@ -10338,6 +10338,10 @@ msgstr "Vis"
|
|||
msgid "Account:"
|
||||
msgstr "Konto:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Ekstra parametre til pakkeprograms kommandolinje:"
|
||||
|
|
|
|||
|
|
@ -10009,6 +10009,10 @@ msgstr "Betrachten"
|
|||
msgid "Account:"
|
||||
msgstr "Zugang:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Zusätzliche Parameter für die Befehlszeile des Packers:"
|
||||
|
|
|
|||
|
|
@ -10005,6 +10005,10 @@ msgstr "Προβολή"
|
|||
msgid "Account:"
|
||||
msgstr "Λογαριασμός:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Επιπρόσθετες παράμετροι για τη γραμμή εντολών του προγράμματος συμπίεσης:"
|
||||
|
|
|
|||
|
|
@ -9728,6 +9728,10 @@ msgstr "Ver"
|
|||
msgid "Account:"
|
||||
msgstr "Cuenta:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Parámetros adicionales para la línea de comandos:"
|
||||
|
|
|
|||
|
|
@ -10070,6 +10070,10 @@ msgstr "Voir"
|
|||
msgid "Account:"
|
||||
msgstr "Compte :"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Paramètres additionnels pour la ligne de commande du programme d'archivage :"
|
||||
|
|
|
|||
|
|
@ -10079,6 +10079,10 @@ msgstr "Nézőke"
|
|||
msgid "Account:"
|
||||
msgstr "Fiók :"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "További paraméterek az archiváló parancssorra :"
|
||||
|
|
|
|||
|
|
@ -10207,6 +10207,10 @@ msgstr "Vista"
|
|||
msgid "Account:"
|
||||
msgstr "Account:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Parametri addizionali per compressore da linea di comando:"
|
||||
|
|
|
|||
|
|
@ -10012,6 +10012,10 @@ msgstr "ビュー"
|
|||
msgid "Account:"
|
||||
msgstr "アカウント:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "アーカイバコマンドライン用の追加パラメータ:"
|
||||
|
|
|
|||
|
|
@ -10125,6 +10125,10 @@ msgstr "보기"
|
|||
msgid "Account:"
|
||||
msgstr "계정:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "압축기 명령줄의 부가 매개변수:"
|
||||
|
|
|
|||
|
|
@ -9739,6 +9739,10 @@ msgstr "Overzicht"
|
|||
msgid "Account:"
|
||||
msgstr "Account:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Extra parameters voor inpakker-opdrachtregel:"
|
||||
|
|
|
|||
|
|
@ -9713,6 +9713,10 @@ msgstr "Podgląd"
|
|||
msgid "Account:"
|
||||
msgstr "Konto:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Dodatkowe parametry linii poleceń archiwizera:"
|
||||
|
|
|
|||
|
|
@ -9700,6 +9700,10 @@ msgstr ""
|
|||
msgid "Account:"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -10121,6 +10121,10 @@ msgstr "Ver"
|
|||
msgid "Account:"
|
||||
msgstr "Conta:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Parâmetros adicionais da linha de comandos do arquivador:"
|
||||
|
|
|
|||
|
|
@ -10140,6 +10140,10 @@ msgstr "Ver"
|
|||
msgid "Account:"
|
||||
msgstr "Conta:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Parâmetros adicionais da linha de comandos do arquivador:"
|
||||
|
|
|
|||
|
|
@ -9998,6 +9998,10 @@ msgstr "Vizualizează"
|
|||
msgid "Account:"
|
||||
msgstr "Cont:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Parametri adiționali pentru linia de comandă a arhivatorului:"
|
||||
|
|
|
|||
|
|
@ -10041,6 +10041,10 @@ msgstr "Просмотреть"
|
|||
msgid "Account:"
|
||||
msgstr "Учётная запись:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Дополнительные параметры командной строки архиватора:"
|
||||
|
|
|
|||
|
|
@ -10933,6 +10933,10 @@ msgstr "Zobraziť"
|
|||
msgid "Account:"
|
||||
msgstr "Účet:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Ďalšie parametre pre príkazový riadok archivátora:"
|
||||
|
|
|
|||
|
|
@ -9726,6 +9726,10 @@ msgstr "Poglej"
|
|||
msgid "Account:"
|
||||
msgstr "Račun:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Dodatni parametri arhiva v ukazni vrstici:"
|
||||
|
|
|
|||
|
|
@ -10258,6 +10258,10 @@ msgstr "Прикажи"
|
|||
msgid "Account:"
|
||||
msgstr "Налог:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Додатне одреднице за наредбену линију програма сажимања:"
|
||||
|
|
|
|||
|
|
@ -10260,6 +10260,10 @@ msgstr "Prikaži"
|
|||
msgid "Account:"
|
||||
msgstr "Nalog:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Dodatne odrednice za naredbenu liniju programa sažimanja:"
|
||||
|
|
|
|||
|
|
@ -10430,6 +10430,10 @@ msgstr "Göster"
|
|||
msgid "Account:"
|
||||
msgstr "Hesap:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Arşiv komut satırı için ek değişkenler:"
|
||||
|
|
|
|||
|
|
@ -10316,6 +10316,10 @@ msgstr "Перегляд"
|
|||
msgid "Account:"
|
||||
msgstr "Обліковий запис:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "Додаткові параметри для командного рядка архіватора:"
|
||||
|
|
|
|||
|
|
@ -10768,6 +10768,10 @@ msgstr "视图"
|
|||
msgid "Account:"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -10868,6 +10868,10 @@ msgstr "檢視"
|
|||
msgid "Account:"
|
||||
msgstr "帳戶:"
|
||||
|
||||
#: ulng.rsmsgalldcintcmds
|
||||
msgid "All Double Commander internal commands"
|
||||
msgstr ""
|
||||
|
||||
#: ulng.rsmsgarchivercustomparams
|
||||
msgid "Additional parameters for archiver command-line:"
|
||||
msgstr "壓縮器命令行的額外參數"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
Toolbar configuration options page
|
||||
|
||||
Copyright (C) 2012 Przemyslaw Nagay (cobines@gmail.com)
|
||||
Copyright (C) 2006-2016 Alexander Koblov (alexx2000@mail.ru)
|
||||
Copyright (C) 2006-2017 Alexander Koblov (alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -1503,78 +1503,87 @@ begin
|
|||
end;
|
||||
|
||||
{ TfrmOptionsToolbar.miImportAllDCCommandsClick }
|
||||
// Will add on the top toolbar a button giving access to a sub menu with ALL the internal DC internal commands.
|
||||
// This submenu will contain submenus entries, one per internal command category.
|
||||
// This is mainly to help to validate run-time that each command has its own icon and so on.
|
||||
|
||||
procedure TfrmOptionsToolbar.miAddAllCmdsClick(Sender: TObject);
|
||||
var
|
||||
slListCommands: TStringList;
|
||||
AToolbarConfig: TXmlConfig;
|
||||
ToolBarNode, RowNode, AllDCCommandsSubMenuNode, SubMenuNode, CommandCategoryNode, CommandNode: TXmlNode;
|
||||
MenuItemsNode: TXmlNode = nil; // We should preinitialize that one.
|
||||
IndexCommand: integer;
|
||||
FlagCategoryTitle: boolean = False;
|
||||
sCmdName: string = '';
|
||||
sHintName: string = '';
|
||||
sHotKey: string = '';
|
||||
sCategory: string = '';
|
||||
ToolBar: TKASToolBar;
|
||||
CategorySubToolBar: TKASToolBar = nil;
|
||||
LocalKASMenuItem: TKASMenuItem;
|
||||
ListCommands: TStringList;
|
||||
SubToolItem: TKASToolItem = nil;
|
||||
|
||||
bFlagCategoryTitle: boolean = False;
|
||||
sCmdName, sHintName, sHotKey, sCategory: string;
|
||||
ATopToolBar: TKASToolBar;
|
||||
begin
|
||||
ListCommands := TStringList.Create;
|
||||
slListCommands := TStringList.Create;
|
||||
try
|
||||
FFormCommands.GetCommandsListForACommandCategory(ListCommands, '('+rsSimpleWordAll+')', csLegacy);
|
||||
// 1. Recuperate the list of all the DC internal commands.
|
||||
FFormCommands.GetCommandsListForACommandCategory(slListCommands, '(' + rsSimpleWordAll + ')', csLegacy);
|
||||
|
||||
FCurrentButton := nil;
|
||||
ToolBar := GetTopToolbar;
|
||||
CloseToolbarsBelowCurrentButton;
|
||||
if FCurrentButton <> nil then
|
||||
FCurrentButton.Down := False;
|
||||
// 2. Create our XML structure to hold all our tree of sub menu and commands.
|
||||
AToolbarConfig := TXmlConfig.Create;
|
||||
try
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, 'Toolbars/MainToolbar', True);
|
||||
AToolbarConfig.ClearNode(ToolBarNode);
|
||||
|
||||
LocalKASMenuItem := TKASMenuItem.Create;
|
||||
LocalKASMenuItem.Icon := 'cm_doanycmcommand';
|
||||
LocalKASMenuItem.Hint := 'All DC internal commands';
|
||||
FCurrentButton := ToolBar.AddButton(LocalKASMenuItem);
|
||||
Toolbar := AddNewSubToolbar(LocalKASMenuItem);
|
||||
PressButtonDown(FCurrentButton);
|
||||
Toolbar.RemoveButton(0); //Remove the default added button by the "AddNewSubToolbar" routine.
|
||||
RowNode := AToolbarConfig.AddNode(ToolBarNode, 'Row');
|
||||
|
||||
for IndexCommand:=0 to pred(ListCommands.Count) do
|
||||
begin
|
||||
FFormCommands.ExtractCommandFields(ListCommands.Strings[IndexCommand],sCategory,sCmdName,sHintName,sHotKey,FlagCategoryTitle);
|
||||
AllDCCommandsSubMenuNode := AToolbarConfig.AddNode(RowNode, 'Menu');
|
||||
AToolbarConfig.AddValue(AllDCCommandsSubMenuNode, 'ID', GuidToString(DCGetNewGUID));
|
||||
AToolbarConfig.AddValue(AllDCCommandsSubMenuNode, 'Icon', 'cm_doanycmcommand');
|
||||
AToolbarConfig.AddValue(AllDCCommandsSubMenuNode, 'Hint', rsMsgAllDCIntCmds);
|
||||
|
||||
if FlagCategoryTitle=FALSE then
|
||||
CommandCategoryNode := AToolbarConfig.AddNode(AllDCCommandsSubMenuNode, 'MenuItems');
|
||||
|
||||
for IndexCommand := 0 to pred(slListCommands.Count) do
|
||||
begin
|
||||
SubToolItem := TKASCommandItem.Create(FFormCommands);
|
||||
TKASCommandItem(SubToolItem).Command := sCmdName;
|
||||
TKASCommandItem(SubToolItem).Hint := sHintName;
|
||||
TKASCommandItem(SubToolItem).Icon := UTF8LowerCase(TKASCommandItem(SubToolItem).Command);
|
||||
FCurrentButton := CategorySubToolBar.AddButton(SubToolItem);
|
||||
end
|
||||
else
|
||||
begin
|
||||
if CategorySubToolBar<>nil then
|
||||
FFormCommands.ExtractCommandFields(slListCommands.Strings[IndexCommand], sCategory, sCmdName, sHintName, sHotKey, bFlagCategoryTitle);
|
||||
|
||||
if not bFlagCategoryTitle then
|
||||
begin
|
||||
FCurrentButton:=Toolbar.Buttons[pred(Toolbar.ButtonCount)];
|
||||
CloseToolbarsBelowCurrentButton;
|
||||
if MenuItemsNode <> nil then
|
||||
begin
|
||||
CommandNode := AToolbarConfig.AddNode(MenuItemsNode, 'Command');
|
||||
AToolbarConfig.AddValue(CommandNode, 'ID', GuidToString(DCGetNewGUID));
|
||||
AToolbarConfig.AddValue(CommandNode, 'Icon', UTF8LowerCase(sCmdName));
|
||||
AToolbarConfig.AddValue(CommandNode, 'Command', sCmdName);
|
||||
AToolbarConfig.AddValue(CommandNode, 'Hint', sHintName);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
SubMenuNode := AToolbarConfig.AddNode(CommandCategoryNode, 'Menu');
|
||||
AToolbarConfig.AddValue(SubMenuNode, 'ID', GuidToString(DCGetNewGUID));
|
||||
AToolbarConfig.AddValue(SubMenuNode, 'Hint', sCmdName);
|
||||
//Let's take icon of first command of the category for the subtoolbar icon for this "new" category
|
||||
FFormCommands.ExtractCommandFields(slListCommands.Strings[IndexCommand + 1], sCategory, sCmdName, sHintName, sHotKey, bFlagCategoryTitle);
|
||||
AToolbarConfig.AddValue(SubMenuNode, 'Icon', UTF8LowerCase(sCmdName));
|
||||
MenuItemsNode := AToolbarConfig.AddNode(SubMenuNode, 'MenuItems');
|
||||
end;
|
||||
LocalKASMenuItem := TKASMenuItem.Create;
|
||||
LocalKASMenuItem.Hint := sCmdName;
|
||||
//Let's take icon of first command of the category for the subtoolbar icon for this "new" category
|
||||
FFormCommands.ExtractCommandFields(ListCommands.Strings[IndexCommand+1],sCategory,sCmdName,sHintName,sHotKey,FlagCategoryTitle);
|
||||
LocalKASMenuItem.Icon := UTF8LowerCase(sCmdName);
|
||||
FCurrentButton := ToolBar.AddButton(LocalKASMenuItem);
|
||||
CategorySubToolBar := AddNewSubToolbar(LocalKASMenuItem);
|
||||
PressButtonDown(FCurrentButton);
|
||||
CategorySubToolBar.RemoveButton(0); //Remove the default added button by the "AddNewSubToolbar" routine.
|
||||
end;
|
||||
end;
|
||||
|
||||
//To give the impression of complete addition, let's finish by selecting last command added.
|
||||
FCurrentButton:=CategorySubToolBar.Buttons[pred(CategorySubToolBar.ButtonCount)];
|
||||
PressButtonDown(FCurrentButton);
|
||||
// 3. Now, we import our structure and at once, bang! we'll have added our bar and sub ones.
|
||||
ATopToolBar := GetTopToolbar;
|
||||
ToolBarNode := AToolbarConfig.FindNode(AToolbarConfig.RootNode, 'Toolbars/MainToolbar', False);
|
||||
if ToolBarNode <> nil then
|
||||
begin
|
||||
LoadToolbar(ATopToolBar, AToolbarConfig, ToolBarNode, tocl_AddToCurrentToolbarContent);
|
||||
if ATopToolBar.ButtonCount > 0 then
|
||||
PressButtonDown(ATopToolBar.Buttons[pred(ATopToolBar.ButtonCount)]); //Let's press the last added button since user might wants to complement what he just added
|
||||
end;
|
||||
|
||||
finally
|
||||
FreeAndNil(AToolbarConfig);
|
||||
end;
|
||||
finally
|
||||
ListCommands.Free;
|
||||
slListCommands.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TfrmOptionsToolbar.miExportToAnythingClick }
|
||||
procedure TfrmOptionsToolbar.miExportToAnythingClick(Sender: TObject);
|
||||
var
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
Several useful functions
|
||||
|
||||
Copyright (C) 2006-2016 Alexander Koblov (alexx2000@mail.ru)
|
||||
Copyright (C) 2006-2017 Alexander Koblov (alexx2000@mail.ru)
|
||||
|
||||
contributors:
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ function mbExpandFileName(const sFileName: String): String;
|
|||
@returns(File size in string representation)
|
||||
}
|
||||
function cnvFormatFileSize(iSize: Int64; FSF: TFileSizeFormat; Number: Integer): String;
|
||||
function cnvFormatFileSize(iSize: Int64; FSF: Boolean): String;
|
||||
function cnvFormatFileSize(iSize: Int64; {%H-}FSF: Boolean): String;
|
||||
function cnvFormatFileSize(iSize: Int64): String; inline;
|
||||
{en
|
||||
Minimize file path
|
||||
|
|
@ -250,6 +250,7 @@ procedure SplitCmdLineToCmdParams(sCmdLine : String; var sCmd, sParams : String)
|
|||
|
||||
function GuessLineBreakStyle(const S: String): TTextLineBreakStyle;
|
||||
function GetTextRange(Strings: TStrings; Start, Finish: Integer): String;
|
||||
function DCGetNewGUID: TGUID;
|
||||
|
||||
implementation
|
||||
|
||||
|
|
@ -1257,5 +1258,19 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
{ DCGetNewGUID }
|
||||
function DCGetNewGUID: TGUID;
|
||||
var
|
||||
iIndex: integer;
|
||||
begin
|
||||
if CreateGuid(Result) <> 0 then
|
||||
begin
|
||||
Result.Data1 := random($233528DE);
|
||||
Result.Data2 := random($FFFF);
|
||||
Result.Data3 := random($FFFF);
|
||||
for iIndex := 0 to 7 do Result.Data4[iIndex] := random($FF);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
Structure/Load/Save/Working With FavoriteTab and List of them
|
||||
|
||||
Copyright (C) 2016 Alexander Koblov (alexx2000@mail.ru)
|
||||
Copyright (C) 2016-2017 Alexander Koblov (alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -130,9 +130,6 @@ type
|
|||
property LastImportationStringUniqueId: TStringList read FLastImportationStringUniqueId write FLastImportationStringUniqueId;
|
||||
end;
|
||||
|
||||
{ GetNewUniqueID }
|
||||
function GetNewUniqueID: TGUID;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
|
|
@ -149,20 +146,6 @@ begin
|
|||
Result := mbExpandFileName(IncludeTrailingPathDelimiter(EnvVarConfigPath) + 'favoritetabs.xml');
|
||||
end;
|
||||
|
||||
{ GetNewUniqueID }
|
||||
function GetNewUniqueID: TGUID;
|
||||
var
|
||||
iIndex: integer;
|
||||
begin
|
||||
if CreateGuid(Result) <> 0 then
|
||||
begin
|
||||
Result.Data1 := random($233528DE);
|
||||
Result.Data2 := random($FFFF);
|
||||
Result.Data3 := random($FFFF);
|
||||
for iIndex := 0 to 7 do Result.Data4[iIndex] := random($FF);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ XmlStringToGuid }
|
||||
function XmlStringToGuid(sXmlString: string): TGUID;
|
||||
begin
|
||||
|
|
@ -183,7 +166,7 @@ begin
|
|||
FDestinationForSavedRightTabs := tclRight;
|
||||
FExistingTabsToKeep := tclNone;
|
||||
FSaveDirHistory := False;
|
||||
FUniqueID := GetNewUniqueID;
|
||||
FUniqueID := DCGetNewGUID;
|
||||
FGroupNumber := 0;
|
||||
end;
|
||||
|
||||
|
|
@ -196,7 +179,7 @@ begin
|
|||
DestinationFavoriteTabs.DestinationForSavedRightTabs := FDestinationForSavedRightTabs;
|
||||
DestinationFavoriteTabs.ExistingTabsToKeep := FExistingTabsToKeep;
|
||||
DestinationFavoriteTabs.SaveDirHistory := FSaveDirHistory;
|
||||
if bExactCopyWanted then DestinationFavoriteTabs.UniqueID := FUniqueId else DestinationFavoriteTabs.UniqueID := GetNewUniqueID;
|
||||
if bExactCopyWanted then DestinationFavoriteTabs.UniqueID := FUniqueId else DestinationFavoriteTabs.UniqueID := DCGetNewGUID;
|
||||
DestinationFavoriteTabs.GroupNumber := FGroupNumber;
|
||||
end;
|
||||
|
||||
|
|
@ -251,7 +234,7 @@ end;
|
|||
constructor TFavoriteTabsList.Create;
|
||||
begin
|
||||
inherited Create;
|
||||
FLastFavoriteTabsLoadedUniqueId := GetNewUniqueID;
|
||||
FLastFavoriteTabsLoadedUniqueId := DCGetNewGUID;
|
||||
FLastImportationStringUniqueId := TStringList.Create;
|
||||
FAssociatedMainMenuItem := nil;
|
||||
end;
|
||||
|
|
@ -541,7 +524,7 @@ begin
|
|||
LocalFavoriteTabs.DestinationForSavedRightTabs := TTabsConfigLocation(AConfig.GetAttr(Anode, 'DestRight', integer(tclRight)));
|
||||
LocalFavoriteTabs.ExistingTabsToKeep := TTabsConfigLocation(AConfig.GetAttr(Anode, 'ExistingKeep', integer(tclNone)));
|
||||
LocalFavoriteTabs.SaveDirHistory := AConfig.GetAttr(Anode, 'SaveDirHistory', False);
|
||||
LocalFavoriteTabs.UniqueID := StringToGuid(AConfig.GetAttr(Anode, 'UniqueID', GuidToString(GetNewUniqueID)));
|
||||
LocalFavoriteTabs.UniqueID := StringToGuid(AConfig.GetAttr(Anode, 'UniqueID', GuidToString(DCGetNewGUID)));
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
Copyright (C) 2008 Dmitry Kolomiets (B4rr4cuda@rambler.ru)
|
||||
Copyright (C) 2008 Vitaly Zotov (vitalyzotov@mail.ru)
|
||||
Copyright (C) 2006-2016 Alexander Koblov (alexx2000@mail.ru)
|
||||
Copyright (C) 2006-2017 Alexander Koblov (alexx2000@mail.ru)
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2656,7 +2656,7 @@ begin
|
|||
gDefaultTargetPanelRightSaved := TTabsConfigLocation(GetValue(Node, 'DfltRightGoTo', Integer(gDefaultTargetPanelRightSaved)));
|
||||
gDefaultExistingTabsToKeep := TTabsConfigLocation(GetValue(Node, 'DfltKeep', Integer(gDefaultExistingTabsToKeep)));
|
||||
gFavoriteTabsSaveDirHistory := GetValue(Node, 'DfltSaveDirHistory', gFavoriteTabsSaveDirHistory);
|
||||
gFavoriteTabsList.LastFavoriteTabsLoadedUniqueId := StringToGUID(GetValue(Node,'FavTabsLastUniqueID',GUIDtoString(GetNewUniqueID)));
|
||||
gFavoriteTabsList.LastFavoriteTabsLoadedUniqueId := StringToGUID(GetValue(Node,'FavTabsLastUniqueID',GUIDtoString(DCGetNewGUID)));
|
||||
end;
|
||||
|
||||
{ - Other - }
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
Localization core unit
|
||||
|
||||
Copyright (C) 2007-2016 Alexander Koblov (alexx2000@mail.ru)
|
||||
Copyright (C) 2007-2017 Alexander Koblov (alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -754,6 +754,7 @@ resourcestring
|
|||
rsMsgTCConfigNotFound = 'Error! Cannot find the TC configuration file:'+#$0A+'%s';
|
||||
rsMsgTCExecutableNotFound = 'Error! Cannot find the TC configuration executable:'+#$0A+'%s';
|
||||
rsMsgTCisRunning = 'Error! TC is still running but it should be closed for this operation.'+#$0A+'Close it and press OK or press CANCEL to abort.';
|
||||
rsMsgAllDCIntCmds = 'All Double Commander internal commands';
|
||||
|
||||
//Columns Menu
|
||||
rsMenuConfigureCustomColumns= 'Configure custom columns';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue