UPD: Progressbar state (#1834)

* UPD: Don't show text and don't make the progressbar normal when testing archive or if ProcessDataProc didn't touch it.
This commit is contained in:
j2969719 2024-09-19 08:41:55 +03:00 committed by GitHub
commit 960cbad7fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 6 deletions

View file

@ -140,8 +140,8 @@ object frmFileOp: TfrmFileOp
BorderSpacing.Top = 3
Max = 516
Smooth = True
Style = pbstMarquee
TabOrder = 3
BarShowText = True
end
object pbTotal: TKASProgressBar
Left = 0
@ -152,8 +152,8 @@ object frmFileOp: TfrmFileOp
BorderSpacing.Top = 3
Max = 516
Smooth = True
Style = pbstMarquee
TabOrder = 4
BarShowText = True
end
object pnlButtons: TPanel
Left = 0

View file

@ -762,15 +762,27 @@ procedure TfrmFileOp.SetProgressBytes(Operation: TFileSourceOperation;
ProgressBar: TKASProgressBar; CurrentBytes: Int64; TotalBytes: Int64);
begin
if (CurrentBytes = -1) then
ProgressBar.Style := pbstMarquee
begin
ProgressBar.Style := pbstMarquee;
ProgressBar.BarShowText := False;
end
else begin
if Operation.State = fsosRunning then ProgressBar.Style := pbstNormal;
if (ProgressBar.Style = pbstMarquee) and (Operation.State = fsosRunning) then
begin
if (TotalBytes <> 0) then
begin
ProgressBar.Style := pbstNormal;
ProgressBar.BarShowText := True;
end;
end;
// Show only percent
if TotalBytes < 0 then
begin
ProgressBar.SetProgress(CurrentBytes, -TotalBytes, EmptyStr);
end
else if TotalBytes = 0 then
ProgressBar.BarShowText := False
else begin
ProgressBar.SetProgress(CurrentBytes, TotalBytes,
cnvFormatFileSize(CurrentBytes, uoscOperation) + '/' +
@ -784,15 +796,27 @@ procedure TfrmFileOp.SetProgressFiles(Operation: TFileSourceOperation;
ProgressBar: TKASProgressBar; CurrentFiles: Int64; TotalFiles: Int64);
begin
if (CurrentFiles = -1) then
ProgressBar.Style := pbstMarquee
begin
ProgressBar.Style := pbstMarquee;
ProgressBar.BarShowText := False;
end
else begin
if Operation.State = fsosRunning then ProgressBar.Style := pbstNormal;
if (ProgressBar.Style = pbstMarquee) and (Operation.State = fsosRunning) then
begin
if (TotalFiles <> 0) then
begin
ProgressBar.Style := pbstNormal;
ProgressBar.BarShowText := True;
end;
end;
// Show only percent
if TotalFiles < 0 then
begin
ProgressBar.SetProgress(CurrentFiles, -TotalFiles, EmptyStr);
end
else if TotalFiles = 0 then
ProgressBar.BarShowText := False
else begin
ProgressBar.SetProgress(CurrentFiles, TotalFiles,
IntToStrTS(CurrentFiles) + '/' +