1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-11 02:46:12 -05:00
Commit Graph

681 Commits

Author SHA1 Message Date
Jon Beniston
dea4c1f285 Avoid divide by zero when no fixed windows 2022-12-20 23:17:31 +00:00
Jon Beniston
68603fec43 Allow sampling devices to be refreshed while SDRangel is running.
(Possibly need to add a mutex for MainCore::getPluginManager, so only
can be used by one thread)
Add option to automatically update My Position based on GPS. This is
started in MainCore, so we get position as soon as possible.
Don't set QFileDialog::DontUseNativeDialog on Android, as Qt's file
dialog can't access user storage. Set globally for Linux/Windows, rather
than for each dialog.

 MainWindow:
 - Add welcome dialog for Android.
 - Don't show menu bar or status bar on Android to save screen space.
 - On Android, change tab position when screen orientation changes.
 - Load default configurations and presets first time SDRangel is run.
 - Change loadConfiguration to use a QProgressDialog rather than
   QMessageBox, as the latter was crashing on Android.
   - Use DialogPositioner to ensure dialogs are on screen.
2022-12-20 21:06:39 +00:00
Jon Beniston
d1c67c971e Add buttons to stack MDI windows vertically and put in tabs.
Use right click to auto-stack sub-windows, rather than having a
dedicated button.
Allow maximize button to make window full screen, if already maximized.
Add title to device windows, for when displayed in tabs.
Add menu button to workspace toolbar, for Android only, to avoid having
menu bar, which takes up a lot of space.
Add configuration presets button to workspace toolbar.
Add icons for window arangement
2022-12-20 16:10:11 +00:00
Jon Beniston
1c9cc7a989 GLSpectrum touchscreen updates
Add "show all controls" button, that allows most of the "set once"
controls to be hidden on small screens. Please feel free to make a
better icon! Could also be hidden if !ANDROID, if you don't like it.
Add pinch and pan gestures, for frequency scrolling and zooming in to
spectrum.
Queue frequencies requested by scrolling, so intermediate frequencies
can be omitted, if device is slow to update its frequency.
Support non-integer pixel ratios.
Add popup sliders for dials.
Add DialogPositioner for dialogs.
Add layout to spectrum markers dialog, so that it can be resized, to fit
on smaller screens.
2022-12-20 14:39:39 +00:00
Jon Beniston
038cb3b973 Add pinch gesture to GraphicsViewZoom 2022-12-20 11:31:01 +00:00
Jon Beniston
7e7a9fdb84 Add popups for dials 2022-12-20 11:21:54 +00:00
Jon Beniston
653a4ea4f7 Add welcome dialog for Android 2022-12-20 10:32:09 +00:00
Jon Beniston
0dd466a900 Add DialogPositioner to ensure dialogs are fully on screen and remain on
screen when screen orientation changes.
Add DialPopup to allow dials to adjusted with a slider, which is easier
on touchscreens.
Add TableTapAndHold to support table context menus on touchscreens.
2022-12-20 10:31:15 +00:00
Jon Beniston
60a933771d Support touchscreen tap and hold to be used instead of right mouse click. 2022-12-20 10:01:16 +00:00
Jon Beniston
e3f9d1032d Scale splash screen to size of screen 2022-12-20 09:56:30 +00:00
Jon Beniston
e5c887646a Allow Android virtual keyboard to change sign in ValueDialZ widget 2022-12-20 09:55:22 +00:00
Jon Beniston
b7567422e9 Add support for Qt6 audio 2022-11-17 14:50:16 +00:00
Jon Beniston
2cb2a8d555 Update sdrbase and sdrgui to support Qt5 and Qt6 2022-11-17 14:41:55 +00:00
f4exb
e89331f58f Audio output device recording: GUI and settings 2022-11-11 18:39:21 +01:00
Jon Beniston
c966f1cb5a dd maximize button to MainSpectrum and expandible Channels and Features.
Add sizeToContents in ChannelGUI and FeatureGUI, called when widget is
rolled, so we can remove resizing code from all of the individual
channels and features.

In RollupContents, use minimumSizeHint for calculated size, so that
minimumWidth can come from .ui file.

In DeviceGUI::sizeToContents(), call adjustSize(), so Device GUIs start
out at minimum needed size (which should restore appearance prior to
last patch).

In stackSubWindows, use available space for channels if no
spectrum/features present.
In stackSubWindows, fix spectrum from being sized too big, resulting in
scroll bars appearing.
Reset user-defined channel width in stackSubWindows, when channels are
removed.
Don't stack maximized windows.

There's one hack in Channel/FeatureGUI::maximizeWindow(). It seems that
when maximimzing a window, QOpenGLWidgets aren't always paint properly
immediately afterwards, so the code forces an additional update. I can't
see why the first call to paintGL doesn't work.
2022-11-11 12:24:27 +00:00
Edouard Griffiths
b6e13d1e6c
Merge pull request #1509 from srcejon/fix_warnings_unused_vars
Fix unused variable warnings
2022-11-09 21:30:56 +01:00
Jon Beniston
b69d6af862 Fix unused variable warnings 2022-11-09 16:59:02 +00:00
Jon Beniston
0d5b6ce4c9 Only enable resize grips if size policy isn't fixed 2022-11-09 16:15:35 +00:00
Jon Beniston
ee8b8ade88 Device GUIs: Constain window size via minimumSize/maximumSize, rather than handling resizeEvent. Add maximum button. Hide size buttons when window size is fixed 2022-11-09 15:53:44 +00:00
Jon Beniston
ed279812f6 Set window width to account for miniumum width required for visible rollups. 2022-11-08 09:43:58 +00:00
Jon Beniston
036f396be4 3D spectrum: Allow = to be used for +. Fix array delete. 2022-11-05 20:58:47 +00:00
f4exb
f5b91fff53 GLSpectrum: separate waterfall and histogram resizing conditions. Fixes #1496 2022-11-04 19:11:25 +01:00
f4exb
c3f098aee3 ScaleEngine: removed now useless debug message 2022-10-22 10:21:32 +02:00
f4exb
da8e4d1a0b Spectrum frequency ticks MSB truncation: fixed algorithm, settings persistency and added documentation. Fixes #1477 2022-10-16 12:57:54 +02:00
f4exb
eab20ec66f Spectrum frequency ticks MSB truncation: display 2022-10-16 11:29:45 +02:00
f4exb
45ef7c5be0 Spectrum frequency ticks MSB truncation: base algorithm 2022-10-16 04:48:07 +02:00
f4exb
fa0be0d569 Updated transverter dialog documentation 2022-10-15 10:52:29 +02:00
f4exb
00ce7e913c Spectrum markers dialog: set frequency dials up to 12 digits. Complement of #1476 2022-10-15 05:17:35 +02:00
f4exb
949a9e9380 Center frequency dials up to 9 digits and transverter delta frequency dial up to 12 digits. Fixes #1476 2022-10-15 03:04:29 +02:00
Jon Beniston
97632e1b56 Ensure bandwidth is positive. Use engineering units for bandwidths. 2022-10-03 16:18:38 +01:00
Jon Beniston
78200656f5 Update docs 2022-10-03 16:07:48 +01:00
Jon Beniston
47c63d3154 Add occupied bandwidth and 3dB bandwidth measurements 2022-10-03 16:02:24 +01:00
Jon Beniston
ff974234dc Align spectrum with frequency scale 2022-10-03 10:55:20 +01:00
f4exb
949a103b25 Spectrum markers peaks option 2022-10-03 00:23:47 +02:00
Jon Beniston
081696f3a9 Rollupwidgets: Handle child layout requests 2022-10-02 20:07:28 +01:00
Jon Beniston
ec78344f88 Size spectrum measurements table. 2022-10-02 20:06:52 +01:00
f4exb
3011e066a1 communicate from spectrum GUI to markers dialog and fixed some warning issues 2022-10-01 20:58:21 +02:00
f4exb
7e35eeb69c Open spectrum markers dialog at current mouse position 2022-10-01 07:32:55 +02:00
f4exb
44b0ef63c8 Make markers dialog non modal 2022-10-01 06:56:42 +02:00
f4exb
859cd86bd6 Updated calibration button icon and documentation. Following PR #1454 2022-09-30 01:19:26 +02:00
Jon Beniston
7c5249149a Move GLSpectrum to GLSpectrumView and create new GLSpectrum that instances GLSpectrumView and SpectrumMeasurements 2022-09-29 13:48:04 +01:00
Jon Beniston
d00862d4f1 Use dialog for spectrum measurement settings 2022-09-29 11:59:58 +01:00
Jon Beniston
ac64161e66 Use splitter instead of dock 2022-09-28 22:01:26 +01:00
Jon Beniston
82d609767c Update peak table when number of peaks changes 2022-09-28 20:03:59 +01:00
Jon Beniston
f5a9d38616 Fix gcc warnings 2022-09-28 19:47:44 +01:00
Jon Beniston
2d43a5515e Spectrum: Use widget for measurements 2022-09-28 16:59:35 +01:00
Jon Beniston
f85045b291 Save spectrum as CSV file with frequency and header 2022-09-26 18:03:14 +01:00
Jon Beniston
b935b32274 Fix gcc warning 2022-09-26 13:32:00 +01:00
Jon Beniston
907871f164 Spectrum GUI: Add button to save spectrum data to text file. 2022-09-26 13:30:58 +01:00
Jiří Pinkava
50307e0f61 Replace depreceted QWidget.setMargin with setContentsMargins 2022-09-25 20:53:16 +02:00
Jiří Pinkava
01227143ac Replace deprecated FontMetrics.width() with horizontalAdvance 2022-09-25 20:05:09 +02:00
Jon Beniston
fe46660be8 Fix gcc warnings 2022-09-25 11:11:23 +01:00
Jon Beniston
c53b4a0f56 Fix gcc warnings 2022-09-25 11:09:50 +01:00
Jon Beniston
b754e0f4a4 Fix for gcc 2022-09-25 11:08:32 +01:00
Jon Beniston
e65baa13d3 Don't use deprecated function 2022-09-25 11:06:49 +01:00
Jon Beniston
ac1f61c3ed Fix typo 2022-09-25 10:58:48 +01:00
Jon Beniston
d67ba75a94 Spectrum: Add Channel Power and SNR measurements 2022-09-25 10:56:25 +01:00
f4exb
4caa85749f Duplicate MDI restore geometry 2022-09-25 10:12:12 +02:00
Jiří Pinkava
a9f1c072d9 Replace deprecated QWheelEvent.pos by position 2022-09-24 21:20:56 +02:00
Jiří Pinkava
c29d3b6433 Replace deprecated QWheelEvent.delta by angleDelta 2022-09-24 20:23:28 +02:00
Jiří Pinkava
af7959c949 Fix name of widget, it must be unique
The widget name was duplicated, it caused no real issue, sinc it was
never referenced, but the UI compiler complained
2022-09-23 00:40:15 +02:00
Jon Beniston
3a11b246d0 Spectrum: Add peak power and frequency in info bar 2022-09-22 12:07:52 +01:00
Jiří Pinkava
0df2d75e6d Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
Jon Beniston
83a94fc375 Add SciDoubleSpinBox for a DoubleSpinBox that supports scientific E notation entry 2022-09-16 09:00:51 +01:00
Jon Beniston
13baf92a95 FramelessWindowResizer: Use minimumSizeHint and sizeHint, so it works with FlowLayout 2022-09-16 08:53:12 +01:00
Jon Beniston
19fa10d71d FlowLayout: Add support for vertically expanding widgets and vertical alignment. 2022-09-16 08:50:21 +01:00
Jon Beniston
880fde3480 FlowLayout: Add SDRGUI_API so can be used in plugins 2022-09-16 08:49:26 +01:00
Jon Beniston
d74c8b2edf Stack workspace: Use full width for spectrum when no channels 2022-09-06 10:36:30 +01:00
AsciiWolf
0baf3fc544 Bump copyright year 2022-09-03 14:46:28 +02:00
Jon Beniston
d404e9f943 Add start/stop all devices button in toolbar. Add device stateChanged signal. Use in RTL SDR GUI for updating device state 2022-08-27 10:18:17 +01:00
f4exb
66707b19bc SimplePTT: fixed list of audio devices for VOX displaying output instead of input devices 2022-08-13 11:14:31 +02:00
f4exb
fd98de7b38 ChannelAnalyzer: apply fix for #892 only if the current trace mode is live trace. Fixes #1375 2022-08-04 23:43:18 +02:00
f4exb
8e76700618 Fixed some warnings 2022-07-26 06:53:48 +02:00
f4exb
2c3ccc49af Some clang warnong fixes 2022-07-24 21:48:02 +02:00
Jon Beniston
7ba8540dd4 Fix shaders so they don't crash when OpenGL 2.0 ES is used 2022-07-21 21:09:41 +01:00
Jon Beniston
08cc6d02f5 Use 2D textures as 1D not supported in Open GL ES on ARM 2022-07-21 19:55:31 +01:00
Jon Beniston
d17403f8e9 Darken ValueDials when disabled 2022-07-08 22:12:20 +01:00
f4exb
280de9095a GLScope and GLSpectrum removed extraneous call to cleanup method. Fixes #1295 2022-06-28 20:53:47 +02:00
f4exb
77963f9ebf In feature and channel add dialogs ignore apply action if there are no items to select 2022-06-25 12:19:26 +02:00
f4exb
58328ace0d Spectrum GUI: updates to the go to markers feature and documentation 2022-06-25 02:53:11 +02:00
Jon Beniston
50127b4003 SpectrumGUI: Add combo box to allow center frequency to be set to annotation marker 2022-06-24 23:37:22 +01:00
f4exb
e881bc892c Fixed and updated spectrum markers documentation 2022-06-24 23:32:55 +02:00
f4exb
24dc96fc9f Spectrum component documentation corrections 2022-06-24 22:53:13 +02:00
Edouard Griffiths
691a5f36d2
Merge pull request #1306 from srcejon/spec_markers
Spectrum markers: Allow both types to be displayed at the same time
2022-06-24 19:15:47 +02:00
Jon Beniston
73487e8ef9 Spectrum markers: Allow all to be displayed 2022-06-24 16:44:44 +01:00
Jon Beniston
d1670b3ab4 Spectrum: Allow frequency scolling with middle mouse button and moving channel marker outside of frequency range 2022-06-24 14:47:33 +01:00
Jon Beniston
cbd663f2af Spectrum: Fix mouse wheel to zoom in waterfall 2022-06-24 11:55:52 +01:00
f4exb
1ad54ef2f5 Updated spectrum component documentation 2022-06-24 12:34:34 +02:00
f4exb
bbeb058944 Reworked spectrum GUI controls 2022-06-24 03:33:32 +02:00
f4exb
87451425c7 Spectrum GUI: format update 2022-06-23 21:23:16 +02:00
Jon Beniston
33c19b6fe0 Value dial: Check for completed animation before using m_value 2022-06-23 16:26:27 +01:00
Jon Beniston
4270879721 Spectrum markers dialog: Fix show field in CSV export 2022-06-23 11:24:14 +01:00
Jon Beniston
e99f8eb86a Remove unneeded code 2022-06-22 18:44:05 +01:00
Jon Beniston
4d78fdaa81 Change frequency zoom so that frequency under cursor remains the same 2022-06-22 18:33:53 +01:00
Jon Beniston
5c214c0382 Spectrum: Enable alpha blending on gradient fill, so channel markers are visible 2022-06-22 10:07:35 +01:00
Jon Beniston
b8576cf0ae Fix filename 2022-06-22 09:04:25 +01:00
Jon Beniston
5eb697c994 Spectrum: And fill and gradient styles. Allow 2D waterfall color map to be changed 2022-06-22 08:52:48 +01:00
Jon Beniston
4df26f7140 3D Spectrogram: Use texture height rather than fft size for clamping limit 2022-06-21 10:09:08 +01:00
Jon Beniston
2008967f2b Spectrum: Formatting 2022-06-20 15:24:33 +01:00
Jon Beniston
c06f9f4ea8 Spectrum: Prevent null texture warning when only histogram is displayed 2022-06-20 15:23:51 +01:00
Jon Beniston
8c500cf0c6 Fix formatting 2022-06-20 08:50:28 +01:00
Jon Beniston
94f93ee9ad Update TVScreen to OpenGL 3.3 2022-06-19 23:22:43 +01:00
Jon Beniston
34ce5ae398 Support high DPI devices 2022-06-19 22:14:26 +01:00
Jon Beniston
72dfe95a5b GL_LUMINANCE is deprecate so doesn't work on Mac. Use GL_RED instead. 2022-06-19 21:37:24 +01:00
Jon Beniston
37622db678 Optimise VAO usage 2022-06-19 14:16:45 +01:00
Jon Beniston
0a91c30038 Create VAOs properly 2022-06-19 11:39:13 +01:00
Jon Beniston
74d61855e4 Use VAOs for OpenGL 3 CoreProfile 2022-06-19 11:22:46 +01:00
Jon Beniston
e31880fc66 Use integers for OpenGL version 2022-06-19 00:11:46 +01:00
Jon Beniston
e13e919012 Add OpenGL shaders using OpenGL 3.3 syntax for MacOS which doesn't support version 2 syntax wth 4.2 context 2022-06-18 23:40:25 +01:00
Jon Beniston
c135affb6a Simply matrix calcs. Fix for clang 2022-06-18 13:07:10 +01:00
Jon Beniston
d441e6d475 Add 3D spectrogram 2022-06-18 12:35:44 +01:00
f4exb
7e8db84e67 GLScope: fixed X2 frequency scale setting 2022-06-01 20:15:35 +02:00
f4exb
67d4e3d105 DOA2: set scope timescale display as frequency in FFT (correlation) mode for X and XY displays 2022-05-28 23:44:53 +02:00
f4exb
558955f6f9 AMBE feature: removed AMBE devices dialog 2022-05-25 00:53:57 +02:00
f4exb
01dc1a9490 ButtonSwitch: use stylesheet instead of fiddling with the color palette. Fixes some inital color state issues 2022-05-19 17:51:51 +02:00
f4exb
9e4b5bda56 Save auto stack workspaces status in configuration 2022-05-19 15:48:14 +02:00
f4exb
a10fe91c5d Updated documentation 2022-05-18 23:09:22 +02:00
f4exb
0a83f50821 Added Blackman-Harris 7 term FFT window 2022-05-18 22:21:12 +02:00
f4exb
5447a8caef Added 3 term Blackman window to FFTWindow and use it as default in FFT filter 2022-05-18 19:22:13 +02:00
Daniele Forsi
902012641d Fix typing errors in readme's
Fixed with:
find . -name '*.md' -exec codespell --ignore-words-list=doas,ehr,lits,verry --write-changes --summary {} \+
2022-05-15 12:39:57 +02:00
f4exb
9e5c629473 v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
f4exb
e1640e7ee1 Massive UI revamping (v7): Changed auto stack tool button to button switch for better on/off visibility. Part of #1209 2022-04-27 13:53:56 +02:00
f4exb
2f1d700201 Spectrum markers dialog: fixed issue when there are no histogram markers. Fixes #1200 2022-04-26 22:56:01 +02:00
f4exb
78674ead2e Merge back to v7 2022-04-26 20:47:53 +02:00
f4exb
69a66adf88 Massive UI revamping (v7): make correction to sub windows sizes and placement at the top when loading a configuration 2022-04-26 19:44:18 +02:00
Jon Beniston
bc38ca8487 Add stacking window layout 2022-04-26 18:19:31 +01:00
f4exb
c6baed9f73 Massive UI revamping (v7): Restored channel highlighted by cursor function. Part of #1213 2022-04-26 00:42:26 +02:00
f4exb
dc303cdd7d Massive UI revamping (v7): Renumerate workspaces and workspace index in sub windows after empty workspace trimmin. Fixes #1212 2022-04-25 23:48:14 +02:00
Jon Beniston
3f1ed5b934 Restore cursor when moved over child widget 2022-04-25 15:01:59 +01:00
f4exb
f762863a23 Massive UI revamping (v7): Feature and channels: set the border on the outer side of the window. Part of #1213 2022-04-24 01:22:39 +02:00
f4exb
ee6de48402 Massive UI revamping (v7): FramelessWindowResizer: prevent horizontal expansion of horizontally fixed widgets. Part of #1209 2022-04-23 18:46:08 +02:00
f4exb
5ba8b21dcc Massive UI revamping (v7): better handling of expandable rollup sub widgets. Part of #1209 2022-04-23 13:59:22 +02:00
f4exb
db71b9fcb2 Massive UI revamping (v7): FramelessWindowResizer: prevent vertical expansion of vertically fixed widgets. Part of #1209 2022-04-23 13:57:37 +02:00
Jon Beniston
99fce0dce0 Add FramelessWindowResizer class for resizig frameless windows.
Remove top-right resize grip from windows.
In channels and features, make sure enterEvent and leaveEvent are passed
to parent class.
2022-04-22 18:21:24 +01:00
f4exb
5b0f0e4e51 Massive UI revamping (v7): restore menu shortcuts and ellipsis. Fixes #1208 2022-04-20 21:33:18 +02:00
f4exb
f9985ad061 Massive UI revamping (v7): main window documentation 2022-04-19 07:03:28 +02:00
f4exb
0779ab0c70 Massive UI revamping (v7): spectrum documentation 2022-04-18 18:33:37 +02:00
f4exb
560d61abcb Massive UI revamping (v7): feature window basic feature settings dialog: implemented reset to default title. Some cosmetic changes 2022-04-18 12:08:33 +02:00
f4exb
8f48e987fa Massive UI revamping (v7): correct ValueDialZ incorrectly zeroing on set value range 2022-04-18 05:25:31 +02:00
f4exb
018b97e17d Massive UI revamping (v7): updated basic channel settings and indicate stream index for MIMO device and single stream channel 2022-04-18 01:42:03 +02:00
f4exb
103301f19a Massive UI revamping (v7): Implemented channel move to another device and more 2022-04-16 16:45:53 +02:00
f4exb
4e2a4b7f6c Massive UI revamping (v7): more cleanup 2022-04-15 19:53:50 +02:00
f4exb
edd9cb18d7 Massive UI revamping (v7): duplicate channel 2022-04-15 18:59:29 +02:00
f4exb
054d989040 Massive UI revamping (v7): GLShaderTVArray: updated make proper initialization list 2022-04-14 13:16:01 +02:00
f4exb
426bf4d45c Massive UI revamping (v7): try to fix Ubuntu prod build error 2022-04-13 21:45:56 +02:00
f4exb
c797060a7d Massive UI revamping (v7): device set presets 2022-04-13 18:43:37 +02:00
f4exb
32973132d9 Massive UI revamping (v7): unify custom widget borders 2022-04-10 02:19:26 +02:00
f4exb
4ff5d241c8 Massive UI revamping (v7): main spectrum show/hide and minimum width set to 360 2022-04-10 00:11:23 +02:00
f4exb
dfe1a424a6 Update spectrum GUI layout 2022-04-09 22:05:02 +02:00
f4exb
0ca0eb8f73 Massive UI revamping (v7): devices intermediate 2022-04-09 13:38:22 +02:00