Skip to content

SecateurPanel handles too many responsibilities #28

Description

@yan-sln

Observation: ui/panel.py builds the entire UI, orchestrates calls to SecateurService, SettingsManager, ImageManager, BasemapComboBox, and SettingsDialog, and centralizes status display (_set_status). It is both the largest file in ui/ and the one with the most direct dependencies.

Impact: Any change to settings persistence, logo management, or basemap selection necessarily goes through this file, making it harder to evolve independently and more expensive to test (there is currently no test suite covering ui/panel.py).

Future direction: Extract the settings/logo wiring logic (currently in _open_settings_dialog and its associated callbacks) into a dedicated controller, leaving SecateurPanel responsible only for widget construction and delegation to services.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions