Jon BenistonandClaude Opus 5 71d8650c6d Drive feature state from a signal rather than polling it
Every feature GUI ran its own one second QTimer, read getState(), compared
it against a remembered m_lastFeatureState and restyled its start/stop
button when the two differed. The same twenty five lines appeared in each
of them.

Feature now keeps m_state private behind setState(), which emits
stateChanged() when it actually changes, and FeatureGUI grows a shared
updateStartStopButton() that restyles the button and reports an error
state. A GUI connects to the signal and calls that, so the state is
reflected as soon as it changes rather than up to a second later, and the
per feature timers and m_lastFeatureState members are gone.

FeatureUISet disconnects the feature from its GUI before the feature is
deleted: QObject emits destroyed() before dropping its connections, so a
stateChanged() emitted from the feature's destructor could otherwise reach
a GUI that has already deleted its ui object.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 17:49:02 +01:00
2026-08-19 20:28:39 +02:00
2024-07-10 23:06:38 +02:00
2026-09-07 13:10:37 +02:00
2026-03-25 18:58:43 +00:00
2026-09-07 13:12:20 +02:00
2026-09-11 16:46:00 +01:00
2021-01-29 12:57:58 +00:00
2024-08-03 11:05:12 +02:00
2026-08-19 20:28:39 +02:00
2026-08-19 20:28:39 +02:00
2023-05-02 19:43:59 +02:00
2019-04-11 07:06:30 +02:00
2022-10-29 13:37:09 +02:00

SDR Angel banner

SDRangel is an open-source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.

Wiki: Most of the information and documentation related to SDRangel can be found in the Wiki. Please make sure to check it in case of questions or trouble and before you post issues on GitHub. You may also seek help from other users using the discussion group below. Before running the program, make sure you read at least the Home and Quick Start pages.

Discussion group: You can ask other users for help or discuss subjects related to SDRangel and its ancillary projects here.

Ancillary projects

  • SDRangelcli is a web application that can be used to control a headless (server flavor) instance of SDRangel. It can also be used as a remote control for the GUI flavor.
  • SDRangel-Docker is a collection of Docker files and scripts to facilitate building and running SDRangel in a Docker container. Works for either the GUI (only on a Linux host) or the server.
Languages
C++ 70.9%
JavaScript 26.1%
C 1.2%
CMake 0.9%
Python 0.3%
Other 0.5%