ADD: Save volume size history

This commit is contained in:
Alexander Koblov 2022-06-14 19:24:19 +03:00
commit 4b7187f153
3 changed files with 23 additions and 6 deletions

View file

@ -103,7 +103,7 @@ uses
uOperationsManager, uArchiveFileSourceUtil, uMultiArchiveFileSource,
uWcxArchiveCopyInOperation, uMultiArchiveCopyInOperation, uMasks,
DCStrUtils, uMultiArc, uWcxModule, uTempFileSystemFileSource,
uFileSourceCopyOperation, uShowForm;
uFileSourceCopyOperation, uShowForm, uShowMsg;
procedure ShowPackDlg(TheOwner: TComponent;
const SourceFileSource: IFileSource;
@ -604,7 +604,10 @@ begin
end;
if cbMultivolume.Checked then
FVolumeSize:= InputBox(Caption, rsMsgVolumeSizeEnter, EmptyStr);
begin
if not ShowInputComboBox(Caption, rsMsgVolumeSizeEnter, glsVolumeSizeHistory, FVolumeSize) then
Exit;
end;
end;
// If create separate archives, one per selected file/dir

View file

@ -559,6 +559,7 @@ end;
function ShowInputComboBox(const sCaption, sPrompt : String; slValueList : TStringList;
var sValue : String) : Boolean;
var
Index: Integer;
frmDialog : TForm;
lblPrompt : TLabel;
cbValue : TComboBox;
@ -619,11 +620,15 @@ begin
end;
Result := (ShowModal = mrOK);
if Result then
begin
if slValueList.IndexOf(cbValue.Text) < 0 then
slValueList.Add(cbValue.Text);
sValue := cbValue.Text;
begin
Index:= slValueList.IndexOf(cbValue.Text);
if Index < 0 then
slValueList.Add(cbValue.Text)
else begin
slValueList.Move(Index, 0);
end;
sValue := cbValue.Text;
end;
finally
FreeAndNil(frmDialog);
end; // with frmDialog

View file

@ -352,6 +352,7 @@ var
glsSearchDirectories: TStringList;
glsSearchExcludeFiles: TStringList;
glsSearchExcludeDirectories: TStringList;
glsVolumeSizeHistory : TStringListEx;
glsIgnoreList : TStringListEx;
gOnlyOneAppInstance,
gCutTextToColWidth : Boolean;
@ -535,6 +536,7 @@ var
gSaveDirHistory,
gSaveCmdLineHistory,
gSaveFileMaskHistory,
gSaveVolumeSizeHistory,
gSaveCreateDirectoriesHistory: Boolean;
gSortOrderOfConfigurationOptionsTree: TSortConfigurationOptions;
gCollapseConfigurationOptionsTree: TConfigurationTreeState;
@ -910,6 +912,7 @@ begin
begin
LoadHistory('Navigation', glsDirHistory);
LoadHistory('CommandLine', glsCmdLineHistory);
LoadHistory('VolumeSize', glsVolumeSizeHistory);
LoadHistory('FileMask', glsMaskHistory);
LoadHistory('SearchText', glsSearchHistory, True);
LoadHistory('SearchTextPath', glsSearchPathHistory);
@ -958,6 +961,7 @@ begin
if gSaveDirHistory then SaveHistory('Navigation', glsDirHistory);
if gSaveCmdLineHistory then SaveHistory('CommandLine', glsCmdLineHistory);
if gSaveFileMaskHistory then SaveHistory('FileMask', glsMaskHistory);
if gSaveVolumeSizeHistory then SaveHistory('VolumeSize', glsVolumeSizeHistory);
if gSaveCreateDirectoriesHistory then begin
SaveHistory('CreateDirectories', glsCreateDirectoriesHistory, True);
end;
@ -1515,6 +1519,7 @@ begin
gFavoriteTabsList := TFavoriteTabsList.Create;
glsDirHistory := TStringListEx.Create;
glsCmdLineHistory := TStringListEx.Create;
glsVolumeSizeHistory := TStringListEx.Create;
glsMaskHistory := TStringListEx.Create;
glsSearchHistory := TStringListEx.Create;
glsSearchPathHistory := TStringListEx.Create;
@ -1544,6 +1549,7 @@ begin
FreeThenNil(gFileInfoToolTip);
FreeThenNil(glsDirHistory);
FreeThenNil(glsCmdLineHistory);
FreeAndNil(glsVolumeSizeHistory);
FreeThenNil(gSpecialDirList);
FreeThenNil(gDirectoryHotlist);
FreeThenNil(gFavoriteTabsList);
@ -1947,6 +1953,7 @@ begin
gSaveDirHistory := True;
gSaveCmdLineHistory := True;
gSaveFileMaskHistory := True;
gSaveVolumeSizeHistory := True;
gSaveCreateDirectoriesHistory := True;
gPluginInAutoTweak := False;
gWCXConfigViewMode := wcvmByPlugin;
@ -2979,6 +2986,7 @@ begin
gSaveDirHistory := GetAttr(Root, 'History/DirHistory/Save', gSaveDirHistory);
gSaveCmdLineHistory := GetAttr(Root, 'History/CmdLineHistory/Save', gSaveCmdLineHistory);
gSaveFileMaskHistory := GetAttr(Root, 'History/FileMaskHistory/Save', gSaveFileMaskHistory);
gSaveVolumeSizeHistory := GetAttr(Root, 'History/VolumeSizeHistory/Save', gSaveVolumeSizeHistory);
gSaveCreateDirectoriesHistory := GetAttr(Root, 'History/CreateDirectoriesHistory/Save', gSaveCreateDirectoriesHistory);
gSortOrderOfConfigurationOptionsTree := TSortConfigurationOptions(GetAttr(Root, 'Configuration/SortOrder', Integer(scoAlphabeticalButLanguage)));
gCollapseConfigurationOptionsTree := TConfigurationTreeState(GetAttr(Root, 'Configuration/TreeType', Integer(ctsFullExpand)));
@ -3656,6 +3664,7 @@ begin
SetAttr(Root, 'History/DirHistory/Save', gSaveDirHistory);
SetAttr(Root, 'History/CmdLineHistory/Save', gSaveCmdLineHistory);
SetAttr(Root, 'History/FileMaskHistory/Save', gSaveFileMaskHistory);
SetAttr(Root, 'History/VolumeSizeHistory/Save', gSaveVolumeSizeHistory);
SetAttr(Root, 'History/CreateDirectoriesHistory/Save', gSaveCreateDirectoriesHistory);
SetAttr(Root, 'Configuration/SortOrder', Integer(gSortOrderOfConfigurationOptionsTree));
SetAttr(Root, 'Configuration/TreeType', Integer(gCollapseConfigurationOptionsTree));