mattcasters opened a new pull request, #8174:
URL: https://github.com/apache/hop/pull/8174

   Fixes #8147
   
   The pipeline metrics grid was resizing columns on every 1s refresh. That 
bounce is barely visible on GTK/Linux but is prominent on Windows 11 (Win32 
`TableColumn.setWidth` repaints immediately, and DPI often makes `getWidth()` 
differ from the value just set). Manual column drags were also lost on the next 
tick.
   
   ## What changed
   
   - `TableView.optWidth` applies `setWidth` **once** per column, and only when 
the target actually changed. Added grow-only mode (never shrink, never touch 
user-sized columns).
   - Live metrics refresh no longer pack-then-restore. Timer ticks only 
**grow** auto-sized columns. User-dragged widths stick for the session.
   - Cell text/background is updated only when the value changed; table updates 
are wrapped in `setRedraw`.
   - Recreated metrics tables keep `BORDER | FULL_SELECTION | MULTI`.
   
   ### User control (View menu + Configuration → GUI → Metrics panel)
   
   - **[x] Dynamic column resizing** (default on): auto-sized columns grow as 
numbers get wider. Off: timer ticks do not change widths.
   - **Fit columns to content**: one-shot pack (the only action that may shrink 
auto-sized columns).
   
   Persisted as `MetricsPanel.DynamicColumnResize` in hop-config.
   
   ## How to test on Windows 11
   
   1. Run a pipeline with the Metrics tab visible. Columns should not 
bounce/flicker each second.
   2. Drag a column wider; it should stay through later ticks and after the run 
finishes.
   3. Uncheck **View → Dynamic column resizing**. Further ticks must not move 
columns (values may clip).
   4. **View → Fit columns to content** packs once, then stays frozen if 
dynamic is off.
   5. Re-check dynamic: columns may grow from the current widths, no bounce.
   6. The same checkbox in Configuration → GUI → Metrics panel should stay in 
sync after save/reopen.
   
   Verified on Linux (GTK). Windows 11 is the machine that showed the original 
issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to