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:
Denis Bisson 2017-06-01 00:10:50 +00:00
commit fd46cfbdf0
32 changed files with 198 additions and 82 deletions

View file

@ -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 ""

View file

@ -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:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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 "Επιπρόσθετες παράμετροι για τη γραμμή εντολών του προγράμματος συμπίεσης:"

View file

@ -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:"

View file

@ -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 :"

View file

@ -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 :"

View file

@ -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:"

View file

@ -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 "アーカイバコマンドライン用の追加パラメータ:"

View file

@ -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 "압축기 명령줄의 부가 매개변수:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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 ""

View file

@ -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:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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 "Дополнительные параметры командной строки архиватора:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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 "Додатне одреднице за наредбену линију програма сажимања:"

View file

@ -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:"

View file

@ -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:"

View file

@ -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 "Додаткові параметри для командного рядка архіватора:"

View file

@ -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 ""

View file

@ -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 "壓縮器命令行的額外參數"

View file

@ -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

View file

@ -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.

View file

@ -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;

View file

@ -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 - }

View file

@ -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';