Comments (1)
As I'm using xmonad as my window manager I got concerned that this is might be an issue with my setup. I tried again with the standard GNOME 3 that comes with Ubuntu 18.04 and 20.04.
On GNOME 3 I was able to reproduce this issue by minimizing the window to the task bar and then restoring it again.
I dug a bit deeper in to the chain of events and this is what's happening:
- User asks window manager to hide/minimize Inspectrum
PlotView::viewportEvent()
gets called withQEvent::Type(WindowDeactivate)
PlotView::viewportEvent()
gets called withQEvent::Type(Leave)
PlotView::viewportEvent()
gets called withQEvent::Type(Hide)
- User asks window manager to show/restore Inspectrum
PlotView::viewportEvent()
gets called withQEvent::Type(Show)
PlotView::scrollContentsBy()
gets called withdx
set to the amount the scroll bar was moved before hiding/minimizing the window.- At this point both
horizontalScrollBar()->value()
andhorizontalScrollBar()->maximum()
evaluate to 0. It looks like something internal to Qt changed the scrollbar between the calls toPlotView::viewportEvent()
andPlotView::scrollContentsBy()
.
- At this point both
PlotView::updateView()
gets called byPlotView::scrollContentsBy()
. It resets the maximum of the scrollbar back to file length - window size. The original value of the scrollbar is lost though.
After discovering this I had a look at what QGraphicsView
(a parent class of PlotView
) offers but found nothing which I figured would immediately solve the issue. It looks like QGraphicsView
is used a bit outside its original intention as it expects a QGraphicsScene
as its content?
I thought that one function might be interesting to get more insight into the issue and I implemented PlotView::showEvent()
simply for debugging purposes. Thing is: that solved the issue.
Simply implementing an empty PlotView::showEvent()
was enough to fix the issue on xmonad and GNOME 3.
from inspectrum.
Related Issues (20)
- Toggle SigMF annotations HOT 1
- Display BIN/HEX in threshold plot
- Feature Request: Add basic CTRL shortcuts HOT 2
- SigMF: Use correct field in annotation HOT 2
- Enable compiler warnings
- 4-FSK
- Reading SDRangel SigMF files HOT 8
- Build fail HOT 1
- Zero pad to compensate for nonzero FFT length HOT 2
- Feature request: save spectrogram to file
- Inspectrum crashes in viewing small files HOT 1
- Installation failure on MacBook Air M1 HOT 1
- thanks for your efforts HOT 1
- Please tag your latest release of Inspectrum HOT 2
- Please update your tagged version of inpectrum
- Add a way to view two signals side by side to compare/edit.
- Method to read frequency HOT 1
- Real time spectrom view HOT 1
- export sample to file
- Allow for negative Zoom level
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inspectrum.