Skip to content

[#956] Fix ArgyllCMS missing prompt not firing on silent startup for wx and Qt - #957

Merged
eoyilmaz merged 2 commits into
developfrom
956-startup-does-not-prompt-to-download-locate-argyllcms-when-missing
Jul 28, 2026
Merged

[#956] Fix ArgyllCMS missing prompt not firing on silent startup for wx and Qt#957
eoyilmaz merged 2 commits into
developfrom
956-startup-does-not-prompt-to-download-locate-argyllcms-when-missing

Conversation

@eoyilmaz

Copy link
Copy Markdown
Owner

Summary

  • app_update_check()'s silent-startup path (display_cal.py) early-returned whenever is_new_update() came back False, which conflated "no update available" with "check failed" and skipped past the check_argyll_bin() / set_argyll_bin_handler() cascade further down, so the download/browse/Homebrew prompt for a missing ArgyllCMS install never fired on launch. is_new_update() now returns None on failure (vs. False for "no update"), and both the stable and snapshot branches of app_update_check() fall through to the same cascade regardless of silent.
  • The Qt UI never had an equivalent missing-Argyll prompt at all. Added MainWindow._prompt_missing_argyll(), wired into _run_instrument_setup_and_donation_check() on startup, with a real Download option (background download + extract via _ArgyllDownloadThread, mirroring Worker.process_argyll_download()/extract_archive(), then setcfg("argyll.dir", ...)), Browse (reuses _set_argyll_bin_handler()), and Homebrew choices. A successful download now also triggers detect_displays_and_ports_btn_handler() automatically, matching wx's own check_update_controls() chain.
  • Fixed display_ctrl/comport_ctrl staying stuck at their empty-state width after detection populates them with real display/instrument names, by switching their sizeAdjustPolicy to AdjustToContents.

Fixes #956

Test plan

  • pytest tests/test_display_cal.py tests/test_update_check.py passes (101 passed, 1 skipped)
  • pytest tests/test_ui_main_window.py passes (560 passed)
  • pytest tests/test_ui_update_check_window.py passes (9 passed)
  • Verified live: renamed ArgyllCMS binaries away, launched the Qt UI, confirmed the missing-Argyll prompt fires on startup, Download actually downloads + extracts + configures argyll.dir, and display/instrument detection runs automatically afterward with correctly-sized comboboxes

eoyilmaz added 2 commits July 28, 2026 13:33
…wx and Qt

`app_update_check()`'s silent-startup path early-returned whenever `is_new_update()` came back `False`, which conflated "no update available" with "check failed" and skipped past the `check_argyll_bin()` / `set_argyll_bin_handler()` cascade further down, so the download/browse/Homebrew prompt for a missing ArgyllCMS install never fired on launch. `is_new_update()` now distinguishes the two cases (`None` on failure), and both the stable and snapshot branches of `app_update_check()` fall through to the same cascade regardless of `silent`.

The Qt UI never had an equivalent missing-Argyll prompt at all. Added `MainWindow._prompt_missing_argyll()`, wired into `_run_instrument_setup_and_donation_check()` on startup, with a real Download option (background download + extract via `_ArgyllDownloadThread`, mirroring `Worker.process_argyll_download()`/`extract_archive()`, then `setcfg("argyll.dir", ...)`), Browse (reuses `_set_argyll_bin_handler()`), and Homebrew choices. A successful download now also triggers `detect_displays_and_ports_btn_handler()` automatically, matching wx's own `check_update_controls()` chain.

Also fixed `display_ctrl`/`comport_ctrl` staying stuck at their empty-state width after detection populates them with real display/instrument names, by switching their `sizeAdjustPolicy` to `AdjustToContents`.
@eoyilmaz eoyilmaz linked an issue Jul 28, 2026 that may be closed by this pull request
@eoyilmaz
eoyilmaz merged commit 867dd8d into develop Jul 28, 2026
13 of 15 checks passed
@eoyilmaz
eoyilmaz deleted the 956-startup-does-not-prompt-to-download-locate-argyllcms-when-missing branch July 28, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Startup does not prompt to download/locate ArgyllCMS when missing

1 participant