PyCForge 1.3.14 — UI review follow-up
Validation: 2026-10-16 UTC

VERSION
Application, wheel, and source distribution remain version 1.3.14.
The converter contract remains Runtime 1.3.13. No dependencies change.

CHANGES
1. Completion scrollbar interaction
The completion window now sets Qt.WindowDoesNotAcceptFocus in addition to
WA_ShowWithoutActivating and the widget NoFocus policy. Showing without activation
does not also prevent later mouse-click activation. The native window flag prevents
those clicks from transferring keyboard focus away from the source editor, whose
FocusOut handler dismisses assistance. Existing dismissal on actual focus loss,
editing, or Escape is retained. No mouse events are swallowed or replayed.

PgUp/PgDn are handled by the suggestions list, preserving the source caret and
allowing Tab or Enter to accept the selected completion after scrolling.

The reported Windows-specific focus loss was not reproducible with Linux's
offscreen backend. The fix addresses the native activation path; mouse behavior
and focus retention pass the Qt checks below. Native Windows confirmation remains.

2. Compiler dropdown outline
The unstyled native dropdown button painted over the right-hand section of the
custom top border. This overpainting was visible in the baseline Qt rendering.
All five compiler-dialog selectors now use an inset transparent dropdown button,
reserved text space, and the existing packaged down-chevron image. The stylesheet
is scoped to NativeBuildDialog. Mouse opening and Escape dismissal still work.

VERIFICATION
- 118 tests and 652 subtests pass; no failures or skips in this selected suite.
- 24 focused UI cases pass at 100%, 125%, and 150% display scaling.
- Completion checks cover primary and split editor panes: repeated track clicks,
  double clicks, held track auto-repeat, held thumb dragging, wheel scrolling,
  PgUp/PgDn, Up/Down, Tab/Enter acceptance, mouse acceptance after scrolling,
  undo, Escape, genuine focus loss, and typing.
- Compiler selectors: family, target, output kind, entry function, optimization;
  outline pixels, inset bounds, visible arrow, focus states, and mouse opening.
- GCC / MinGW-w64 family selected in the real compiler dialog; Linux GCC 13.3.0
  compiled a typed main() returning 7. The generated executable returned 7.
- Qt screenshots inspected for the completion list and compiler dialog.
- All 831 application files accounted for. Exactly two change:
  pycforge/ide/qt_editor_tools.py
  pycforge/ide/theme_steel_stylesheet.py
- README, both screenshot files, contact information, Help, version metadata,
  converter, native build services, and dependency declarations are byte-identical
  to the previously delivered 1.3.14.

Evidence is in evidence/ui_review_1_3_14. The new regression module is
  tests/test_ui_polish_1_3_14.py
The broader run also covers completion editing, folding assistance, editor
regressions, theme contracts, build resource lifecycle, and release metadata.

LAPTOP CHECKS
1. Trigger a completion list long enough to show a scrollbar. Double-click the
   track, hold it to repeat, and drag the thumb while holding the mouse button.
   Suggestions should stay open and the source should stay unchanged.
2. Use PgDn/PgUp, then select with Tab/Enter or click a visible suggestion.
3. Open Compile C and inspect the right edge of the dropdowns, including when
   focused and at the laptop's usual display scale. The top outline should be
   continuous and the arrows visible. Change compiler family and output kind.

INSTALLING THIS SAME-VERSION UPDATE
Close PyCForge. From the folder containing the new wheel, run on Windows:
  py -m pip install --force-reinstall --no-deps pycforge-1.3.14-py3-none-any.whl
This replaces the existing 1.3.14 files while preserving installed dependencies.

USER-REPORTED ACCEPTANCE BEFORE THIS PATCH
The user confirmed multiple inheritance conversion, GCC compilation, and the
revised Help documentation on their laptop. That report is separate from the
Linux checks executed for this patch.
