1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-08-11 22:13:43 -04:00
Commit Graph

1308 Commits

Author SHA1 Message Date
Robin Getz bdf0fa0202 valuedialz: Fix signed/unsigned conversion when editing negative values
Fix a signed/unsigned arithmetic issue in ValueDialZ::keyPressEvent()
reported by cppcheck.

The digit editing code used quint64 intermediates together with a signed
sign value:

    int sign = m_value < 0 ? -1 : 1;
    setValue(sign * v);

When editing negative values, the signed -1 was converted to an unsigned
value before multiplication, causing the result to wrap instead of
producing a negative value.

Use qint64 intermediates for the digit manipulation and apply the existing
sign explicitly when updating the value. This preserves correct behavior
when editing negative values and avoids the unintended unsigned conversion.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 18:05:44 -04:00
Robin Getz 6fc50d2546 gui: Avoid log(0) in FFTNRDialog::setAlpha
Cppcheck reported that setAlpha() could call log() with an argument of
zero when alpha is clamped to 0.0f, resulting in an invalid-domain
mathematical operation.

Initialize tau to 0.0f and only compute the logarithm when alpha is
strictly positive. This preserves the existing behavior while avoiding
the invalid log(0) call.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-31 20:51:36 -04:00
Robin Getz 1253697801 gui: Explicitly call QSlider::setRange in LogSlider constructor
cppcheck identified that LogSlider::LogSlider() calls the derived
setRange(double, double) overload instead of QSlider::setRange(int, int)
due to C++ name hiding.

The constructor's call to:
    setRange(0, 1000);

was therefore invoking the logarithmic range implementation with
min == 0.0, resulting in a call to log10(0). While most callers
immediately replace the initial state by calling LogSlider::setRange()
with a valid positive range, the constructor still performs an invalid
mathematical operation during initialization.

Explicitly qualify the call as QSlider::setRange(0, 1000) to initialize
the underlying slider without invoking the logarithmic overload. This
eliminates the invalid-domain call, avoids undefined behavior from
propagating exceptional floating-point values into the slider state, and
makes the constructor's intent explicit.

This change has no functional impact on normal operation, but removes a
latent initialization bug and prevents future regressions caused by
overload hiding.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-31 20:37:23 -04:00
Robin Getz f0f19d1d37 Fix built-in device selection regression
Built-in devices were previously always selectable regardless of
their claimed state. The "show devices in use" change
https://github.com/f4exb/sdrangel/commit/964bc0994d1e5c54ef8b08eb9102e0ee4f7d744e
inadvertently disabled all claimed devices in the selection dialog,
preventing multiple instances of FileInput, RemoteTCPInput, AudioInput,
TestSource and other built-in sources from being opened. :(

Only claimed physical devices are now disabled and marked
"[in use]". Built-in devices remain selectable as before.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-21 19:42:51 -04:00
Edouard Griffiths bb52c52c9e Merge pull request #2794 from srcejon/fix_api_address
Fix WebAPI link in About dialog (Display 127.0.0.1 rather than 0.0.0.0)
2026-07-10 22:15:48 +02:00
Jon Beniston 9241af25a7 Fix WebAPI link in About dialog (Display 127.0.0.1 rather than 0.0.0.0) 2026-07-09 10:30:25 +01:00
Jon Beniston a83dd8b8a0 Use default QSurfaceFormat when MSAA enabled. May fix #2788, #2022 and #1616 2026-07-07 14:06:13 +01:00
Robin Getz a94f3c491e Show devices in use in device selection dialog
Previously, devices claimed by another device set were omitted from the
device selection lists. Display these devices as disabled and marked
"[in use]" instead of hiding them.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-06-21 20:42:34 -04:00
AsciiWolf 6e06546f2c Bump copyright year 2026-05-20 12:12:25 +02:00
srcejon 8abbe204b4 Merge branch 'f4exb:master' into copilot/add-freqdisplay-plugin 2026-04-22 19:20:34 +01:00
Jon Beniston 19fa916e48 Use ± symbol for frequency deviation in GUI. Indicate figure is peak deviation in docs and tooltips. 2026-04-21 19:53:59 +01:00
Jon Beniston 01b53f50b0 Fix window sizing by calling sizeToContents. Roll back previous commit.
Add rollup settings.
2026-04-19 17:12:51 +01:00
copilot-swe-agent[bot] 61018c8e5c fix: sizeToContents expand minimumSize to minimumSizeHint to fix grip/border inconsistency
Agent-Logs-Url: https://github.com/srcejon/sdrangel/sessions/95e778a0-c64c-4fd5-a047-c22eb0013715

Co-authored-by: srcejon <57259258+srcejon@users.noreply.github.com>
2026-04-19 12:11:38 +00:00
copilot-swe-agent[bot] 939182f391 freqdisplay: fix display-area transparency via RollupContents CompositionMode_Clear
Agent-Logs-Url: https://github.com/srcejon/sdrangel/sessions/60df4275-14c1-4cde-b5c7-9b02734fe35f

Co-authored-by: srcejon <57259258+srcejon@users.noreply.github.com>
2026-04-18 20:34:00 +00:00
Jon Beniston fd8f8fb38e Add keyboard shortcuts. 2026-03-26 21:35:37 +00:00
Jon Beniston 7bffe8be2a DMSSpinBox: Handle read-only spin boxes. 2026-03-26 21:31:10 +00:00
Jon Beniston 62de3a96e1 Fix formatting. 2026-03-26 21:30:15 +00:00
Jon Beniston 01de1d460c Add images for spectrum controls display setting.
Add keyboard shortcuts.
2026-03-26 21:27:18 +00:00
Jon Beniston 507a0f48e6 Fix typos in docs. 2026-03-25 21:50:59 +00:00
Jon Beniston c57dc649d2 Fix warning.
Add Spectrum Color to docs.
2026-03-25 21:39:29 +00:00
Jon Beniston 69101638e7 Increase dialog height 2026-03-25 20:00:46 +00:00
Jon Beniston d15f3dbe7b Fix warning 2026-03-25 19:08:30 +00:00
Jon Beniston ac4d1d1102 Fix warnings 2026-03-25 19:06:11 +00:00
Jon Beniston 6e21e689e9 Fix warnings 2026-03-25 18:58:43 +00:00
Jon Beniston 9171a205d4 Spectrum Changes:
Added optional scrollbar to be able to scroll back through waterfall.
When scrolling is enabled:
        Can adjust power scale for complete waterfall, not just future spectra.
        Waterfall time axis can use local time or UTC.
        Waterfall not lost when resizing window.
Can now zoom when device is stopped.
Added Min averaging type.
Added button to load spectrum from .csv file.
Add button to save spectrum/waterfall to .png or jpg.
Changed show all controls button to a combobox with choices of Min/Std/All (Minimum/Standard/All).
Changed some buttons in spectrum GUI from QPushButton to QToolButton so their size matches the others.
Fix spectrum from displaying a mixture of old and new spectrums (m_currentSpectrum was a pointer to SpectrumVis buffer).
Added M1 and M2 memories to allow display of reference spectra.
Added math operations to allow spectrum to be difference of current spectrum and either memory or a moving average.
Fixed measurement counts, so they are performed once per spectrum, not on displayed spectra.
Added spectrum mask measurement, to check when a spectrum exceeds mask held in M1 or M2.
Optionally display power/frequency under cursor in status line.
Optionally display peak power/frequency in status line.
Fix incorrect nyquist sample replication, when zoom used.
Fix cursor not changing from resize to pointer when moving over spectrum measurements window.
Add spectrum colour setting.
2026-03-25 16:30:13 +00:00
Jon Beniston a574671744 GLShaderSpectrogram: Only initialise grid if it changes size, as this causes window resizing to be slow. 2026-03-25 15:48:45 +00:00
Jon Beniston 2a366b875a Profiler: Add maximum time coloumn. Add global runtime. 2026-03-25 15:29:49 +00:00
copilot-swe-agent[bot] d47b2563b9 Apply waterfall alignment fix similar to PR #1464 spectrum fix
Co-authored-by: f4exb <6192319+f4exb@users.noreply.github.com>
2026-02-14 12:28:15 +00:00
Jon Beniston f2d4a22437 Spectrum: Enable save/restore of zoom settings. Increase max zoom to 50x. 2026-02-12 15:13:52 +00:00
Jon Beniston c139a56cfd Fix missing 0 on waterfall time scale 2026-02-09 17:34:52 +00:00
f4exb 63348eeee1 Make device title editable in the basic device settings. Fixes #2292 2026-01-28 03:05:39 +01:00
Jon Beniston 12ee6c6662 Support markers being displayed in polar view. Use ALT to place right markers. #1811 2026-01-17 16:55:14 +00:00
Jon Beniston 1d1c8d56a9 Fix Y views not being able to restored from settings. 2026-01-17 16:54:22 +00:00
Jon Beniston d10d09c6c9 Add XPPoints and XPolarGrid to settings. 2026-01-17 16:53:37 +00:00
AsciiWolf 749cd7746d Bump copyright year 2025-11-16 22:58:08 +01:00
Jon Beniston 289d33fab5 Don't use CTRL-A, as that's for selecting all text/cells. Use CTRL-E instead. 2025-09-19 11:57:36 +01:00
Jon Beniston 19accc453f Add keyboard short cuts for toolbar. Part of #1672 2025-09-19 11:46:24 +01:00
Edouard Griffiths 68fd2b3522 Merge pull request #2507 from srcejon/fix_2506
Set csv as default filename extension for save file dialogs.
2025-09-07 23:50:02 +02:00
Jon Beniston df95acae65 Set csv as default filename extension for save file dialogs. #2506 2025-09-07 10:57:29 +01:00
Jon Beniston 6b50febd9a Fix moving features to another workspace. #2501 2025-09-01 10:51:42 +01:00
Jon Beniston 1177d97c99 Clear buffer to black rather than transparent. Fixes #2349 2025-08-10 11:25:38 +01:00
Jon Beniston f204c168f6 Add crash handler on Windows.
Add memory buffer to Logger, so last 500 log messages can be included in crash report.
Generate and include stripped pdb files so stack trace can include function names.
2025-07-31 16:35:44 +01:00
Jon Beniston 99fca7c09e Fix --remote-tcp. For #2470 2025-06-20 15:43:01 +01:00
srcejon 83bff3e847 FramelessWindowResizer: Enable child tracking for QWebEngineView. 2025-06-12 15:11:33 +01:00
srcejon 13ecf0124e Add checklist widget 2025-06-04 18:23:53 +01:00
Jon Beniston ad46defda9 Merge branch 'fix_2283' of https://github.com/srcejon/sdrangel into fix_2283 2025-03-06 17:12:01 +00:00
Jon Beniston 3c9931bc59 LoadConfigurationFSM::loadDeviceSets: Wait 250ms to allow devices to initialise, as DeviceGUI::sendSettings has 100ms delay. 2025-03-06 17:09:16 +00:00
Jon Beniston f841eecab9 Add --start option to start all devices and features. For #2359. 2025-01-20 10:54:21 +00:00
Lukáš Tyrychtr c2652d3ee5 right-click-enabler: Allow activation of the right click action by keyboard
This allows for example, selecting the audio output device for visually
impaired.
2024-12-28 18:19:54 +01:00
Jon Beniston 3c3e5cf3df Stop device while changing channel set. Fixes #2332 2024-11-26 11:52:30 +00:00