Issue #2119: optimize calculation of status bar panel widths

This commit is contained in:
Ansgar Becker
2025-03-17 07:25:34 +01:00
parent 09edb5448a
commit fda21c01ee

View File

@ -2775,7 +2775,7 @@ var
var var
MaxPixels: Integer; MaxPixels: Integer;
begin begin
MaxPixels := StatusBar.Canvas.TextWidth(SampleText) + VirtualImageListMain.Width + 20; MaxPixels := StatusBar.Canvas.TextWidth(SampleText) + VirtualImageListMain.Width + 30;
Result := Round(Min(MaxPixels, Width / 100 * MaxPercentage)); Result := Round(Min(MaxPixels, Width / 100 * MaxPercentage));
end; end;
begin begin
@ -2787,11 +2787,11 @@ begin
Exit; Exit;
// Super intelligent calculation of status bar panel width // Super intelligent calculation of status bar panel width
w1 := CalcPanelWidth('r10 : c10 (10 KiB)', 10); w1 := CalcPanelWidth('r10 : c10 (10 KiB)', 12);
w2 := CalcPanelWidth('Connected: 1 day, 00:00 h', 10); w2 := CalcPanelWidth('Connected: 1 day, 00:00 h', 12);
w3 := CalcPanelWidth('MariaDB or MySQL 5.7.6', 15); w3 := CalcPanelWidth('MariaDB or MySQL 5.7.6', 12);
w4 := CalcPanelWidth('Uptime: 13 days, 00:00 h', 15); w4 := CalcPanelWidth('Uptime: 13 days, 00:00 h', 12);
w5 := CalcPanelWidth('Server time: 20:00 ', 10); w5 := CalcPanelWidth('Server time: 20:00 PM', 12);
w6 := CalcPanelWidth('DummyDummyDummyDummyDummy', 20); w6 := CalcPanelWidth('DummyDummyDummyDummyDummy', 20);
w0 := StatusBar.Width - w1 - w2 - w3 - w4 - w5 - w6; w0 := StatusBar.Width - w1 - w2 - w3 - w4 - w5 - w6;
//logsql(format('IconWidth:%d 0:%d 1:%d 2:%d 3:%d 4:%d 5:%d 6:%d', [VirtualImageListMain.Width, w0, w1, w2, w3, w4, w5, w6])); //logsql(format('IconWidth:%d 0:%d 1:%d 2:%d 3:%d 4:%d 5:%d 6:%d', [VirtualImageListMain.Width, w0, w1, w2, w3, w4, w5, w6]));