pulseview.git
2 years agoView: Limit header pane width
Soeren Apel [Thu, 1 Jun 2017 20:42:20 +0000 (22:42 +0200)]
View: Limit header pane width

2 years agoView: Save/restore splitter state
Soeren Apel [Thu, 1 Jun 2017 19:51:34 +0000 (21:51 +0200)]
View: Save/restore splitter state

2 years agoRemove Header::BaselineOffset and move arrows as needed instead
Soeren Apel [Thu, 1 Jun 2017 19:16:27 +0000 (21:16 +0200)]
Remove Header::BaselineOffset and move arrows as needed instead

The baseline offset was used to keep 5px of distance between
the tip of the arrow and the scroll area. This way, the shadow
that is drawn around the arrow when it's selected won't get
cropped.
However, we can do this differently: instead of always keeping
the empty space around, we make the arrows align at the edge
of the widget space as they should and when they're selected,
we push them aside to the left so the shadow can still be
painted without cropping.

Logically, one would assume that the arrow's label also should
be moving left but I decided against it because this way it
looks as if the arrow didn't actually move, keeping all arrow
labels lined up.

2 years agoFix #957 and #874 by implementing the pane splitter
Soeren Apel [Thu, 1 Jun 2017 20:21:57 +0000 (22:21 +0200)]
Fix #957 and #874 by implementing the pane splitter

2 years agoAdd a MIME info file for sigrok session files.
Uwe Hermann [Thu, 1 Jun 2017 21:32:10 +0000 (23:32 +0200)]
Add a MIME info file for sigrok session files.

File template by Stefan Brüns, thanks!

This fixes bug #857.

2 years agoorg.sigrok.PulseView.appdata.xml: Add CC0-1.0 license comment.
Uwe Hermann [Thu, 1 Jun 2017 21:48:17 +0000 (23:48 +0200)]
org.sigrok.PulseView.appdata.xml: Add CC0-1.0 license comment.

2 years agoorg.sigrok.PulseView.appdata.xml: Drop <project_group> tag.
Uwe Hermann [Thu, 1 Jun 2017 21:29:29 +0000 (23:29 +0200)]
org.sigrok.PulseView.appdata.xml: Drop <project_group> tag.

This currently causes issues with e.g. appstream-util validation:

  $ appstream-util validate-relax org.sigrok.PulseView.appdata.xml
  org.sigrok.PulseView.appdata.xml: FAILED:
  • tag-invalid           : <project_group> is not valid
  Validation of files failed

This is considered an appstream/tool bug, but for now we drop the tag in
order it to avoid issues.

https://github.com/hughsie/appstream-glib/issues/140

2 years agoorg.sigrok.PulseView.appdata.xml: Add <suggests> tags.
Uwe Hermann [Thu, 1 Jun 2017 21:41:00 +0000 (23:41 +0200)]
org.sigrok.PulseView.appdata.xml: Add <suggests> tags.

2 years agoorg.sigrok.PulseView.appdata.xml: Add <mimetype> tag.
Uwe Hermann [Thu, 1 Jun 2017 21:38:56 +0000 (23:38 +0200)]
org.sigrok.PulseView.appdata.xml: Add <mimetype> tag.

2 years agoorg.sigrok.PulseView.appdata.xml: Add <launchable> tag.
Uwe Hermann [Thu, 1 Jun 2017 21:37:03 +0000 (23:37 +0200)]
org.sigrok.PulseView.appdata.xml: Add <launchable> tag.

2 years agodesktop file: Add CC0-1.0 license comment.
Uwe Hermann [Thu, 1 Jun 2017 21:48:12 +0000 (23:48 +0200)]
desktop file: Add CC0-1.0 license comment.

2 years agodesktop file: Add additional Development category.
Uwe Hermann [Thu, 1 Jun 2017 18:58:16 +0000 (20:58 +0200)]
desktop file: Add additional Development category.

Apparently, e.g. on KDE Plasma, having PulseView only in the Electronics
category (which seems to not necessarily exist) leads to PulseView
showing up in a "Lost&Found" category instead.

We're adding the Development category in addition to Electronics
(e.g. Kicad does the same) to have PulseView in Development if there's
no Electronics category.

2 years agodesktop file: Add MimeType field.
Uwe Hermann [Thu, 1 Jun 2017 18:50:28 +0000 (20:50 +0200)]
desktop file: Add MimeType field.

This fixes bug #858.

2 years agodesktop file: Rename to org.sigrok.PulseView.desktop.
Uwe Hermann [Wed, 31 May 2017 22:55:27 +0000 (00:55 +0200)]
desktop file: Rename to org.sigrok.PulseView.desktop.

2 years agodesktop file: Minor rewording.
Uwe Hermann [Wed, 31 May 2017 22:25:29 +0000 (00:25 +0200)]
desktop file: Minor rewording.

2 years agoFix #859: Add Appdata definition for PulseView
Stefan Brüns [Sun, 28 May 2017 19:31:00 +0000 (21:31 +0200)]
Fix #859: Add Appdata definition for PulseView

To be visible in KDE's Discover and GNOME Software,
an appdata definition is required.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
2 years agoView: Adjust top margin when needed
Soeren Apel [Tue, 30 May 2017 06:07:50 +0000 (08:07 +0200)]
View: Adjust top margin when needed

When the view is big and the traces are vertically centered,
there will be blank space above and below the block of traces.
When the user then resizes the window and makes it smaller,
the white space stays, pushing traces out of the view that
could fit on-screen if the blank space was adjusted properly.

This is what we do with this patch.

If there is still enough space to make everything fit, we
center the traces vertically. If there's not enough space
to make everything fit, we make sure that the top traces
are shown.

2 years agoTraceView: Improve the way we do the initial scrolling setup
Soeren Apel [Tue, 30 May 2017 06:01:25 +0000 (08:01 +0200)]
TraceView: Improve the way we do the initial scrolling setup

The two commits
ae5f66281c38a76dcb7011907d7a86a99b9dd4dd and
66e4eae9ce743016c3f6d4974bceb9b7fc0ae7d7

Were okay but it showed that there was one case they didn't
cover: the first session receives a resize notification upon
startup whereas all other sessions don't. This means that
sessions restored from a previous run suddenly see the
size_finalized_ variable always staying at false - until the
user resizes the window.

While figuring out how to cover this case, I realized that
there is actually an easier way to perform all this:
instead of keeping an internal state of when and how we
received useless and useful resize notifications, we just
act upon the "show" event, which always comes after all
the widget resizing has been performed. This way, we can
remove the size_finalized_ variable completely and as it
is definitely always received when a session is shown,
we always end up in a sane and correct state.

Note: to reproduce, open up a 2nd session and use demo.
Then, when using the group handle to move the analog traces
upwards, you'll notice that the logic traces will move down
at the same time. This is because size_finalized_ is false
and the view will always center the traces vertically.

2 years agoPaint sampling points on the actual trace, not the center line
Soeren Apel [Mon, 29 May 2017 18:50:16 +0000 (20:50 +0200)]
Paint sampling points on the actual trace, not the center line

2 years agoBump requirements to libsigrok/libsigrokdecode 0.5.0.
Uwe Hermann [Sun, 28 May 2017 16:29:10 +0000 (18:29 +0200)]
Bump requirements to libsigrok/libsigrokdecode 0.5.0.

We use various new API calls from the upcoming 0.5.0 releases and are
not compatible with the respective 0.4.x anymore.

2 years agoviewport: Allow smoother zoom using vertical scroll events
Sylvain Munaut [Sun, 28 May 2017 14:53:27 +0000 (16:53 +0200)]
viewport: Allow smoother zoom using vertical scroll events

The zoom supports 'double' as input type but since delta() and 120 are
integer, this wasn't used and any event with a delta lower than 120 was
ignored.

With this mod, the zoom level changes are _much_ smoother on trackpads

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2 years agoAnalogSegment: Speed up processing of interleaved sample data
Soeren Apel [Sun, 28 May 2017 08:31:47 +0000 (10:31 +0200)]
AnalogSegment: Speed up processing of interleaved sample data

2 years agoAnalogSignal: Temporarily disable analog signal conversion
Soeren Apel [Sun, 28 May 2017 08:19:11 +0000 (10:19 +0200)]
AnalogSignal: Temporarily disable analog signal conversion

This feature isn't ready yet, so hide it for now.

2 years agoFix #958 by using new method that auto-converts analog samples
Soeren Apel [Sat, 27 May 2017 20:58:31 +0000 (22:58 +0200)]
Fix #958 by using new method that auto-converts analog samples

2 years agoSignalBase: Always hook into signal data, not just for analog
Soeren Apel [Sat, 27 May 2017 20:13:16 +0000 (22:13 +0200)]
SignalBase: Always hook into signal data, not just for analog

2 years agoDeviceManager: Show progress dialog while scanning for devices
Soeren Apel [Sat, 27 May 2017 14:31:15 +0000 (16:31 +0200)]
DeviceManager: Show progress dialog while scanning for devices

We don't want users to wonder why nothing happens when they
start PV and no window shows up. Providing this dialog lets
them know that PV is starting and doing something.

2 years agoSettings Dialog: Visually break up items in the about listing
Soeren Apel [Fri, 26 May 2017 20:42:38 +0000 (22:42 +0200)]
Settings Dialog: Visually break up items in the about listing

2 years agoRework signaling mechanism for trace repainting
Soeren Apel [Fri, 26 May 2017 14:19:56 +0000 (16:19 +0200)]
Rework signaling mechanism for trace repainting

Before, analog traces would request a repaint of the entire
view when they receive data. To understand how bad this was,
consider 4 enabled analog channels during capture. Every time
one channel would receive a bunch of sample data, it would
force a repaint of the view, resulting in 4 unnecessary
repaints.

To fix this, the analog traces no longer request a repaint
on incoming sample data. Instead, the mechanism now is such
that the view "collates" repaint requests from all used
signalbases by means of a one-shot timer, i.e. any repaint
request is ignored if the timer is already running.

With the timer, we can also establish an upper bound on
how often the trace should update at most, currently 25Hz.

Since this functionality is very useful for any kind of
view, the existing one-shot timer was moved to the ViewBase
and then extended as explained.

2 years agoAnalogSignal: Only report an extent change when there is one
Soeren Apel [Fri, 26 May 2017 09:34:31 +0000 (11:34 +0200)]
AnalogSignal: Only report an extent change when there is one

2 years agoSignalBase: Also emit data related signals
Soeren Apel [Fri, 26 May 2017 08:46:14 +0000 (10:46 +0200)]
SignalBase: Also emit data related signals

If we have a SignalBase instance we don't want to hook into
every single segment just to be notified when data changes.

2 years agoDisable context menus that could lead to users removing UI parts
Soeren Apel [Thu, 25 May 2017 12:30:46 +0000 (14:30 +0200)]
Disable context menus that could lead to users removing UI parts

If a user removes the main toolbar then there's no way to get it
back. We don't want that.

If a user removes a dock window's contents he can get it back
by using the same context menu but it's a useless feature for us
and potentially very confusing, so we disable this, too.

2 years agoFix #895 by adapting to Qt5 and cleaning up properly
Soeren Apel [Wed, 24 May 2017 21:50:37 +0000 (23:50 +0200)]
Fix #895 by adapting to Qt5 and cleaning up properly

Relevant Qt commit:
https://codereview.qt-project.org/#/c/72637/
"QProgressDialog: don't require setValue(0) to be called."

"Fixed by starting the timer in the constructor (most code doesn't reuse
progress dialogs, so this fixes the most common case)"

This messes us up because we're (ab-)using the dialog
in a non-standard way.

https://bugreports.qt.io/browse/QTBUG-47042
"QProgressDialog is designed to show itself automatically, based
on an internal estimate for the duration of the operation and the
minimumDuration property. You never call show() or exec() on it
manually. You're also not supposed to keep it around when it's not
used. In 5.4, the only way to start the internal duration estimation
was to call setValue(0). But we noticed that many people didn't call
setValue(0)"

Workaround here:
https://bugreports.qt.io/browse/QTBUG-47042

"As a workaround I added the line m_progressDlg->reset(); in the main
window constructor in order to get the same behavior as in former
versions."

2 years agoMainBar: Fix notification message
Soeren Apel [Wed, 24 May 2017 16:06:11 +0000 (18:06 +0200)]
MainBar: Fix notification message

2 years agoFix #942 by making sure we always have at least one positive div
Soeren Apel [Wed, 24 May 2017 11:45:04 +0000 (13:45 +0200)]
Fix #942 by making sure we always have at least one positive div

2 years agoFix #940 by updating the div spin boxes when needed
Soeren Apel [Wed, 24 May 2017 11:44:43 +0000 (13:44 +0200)]
Fix #940 by updating the div spin boxes when needed

Also, prevent the autoranging algo from changing the div
assigment when the user is in the process of changing it.
This way, we only change the div assignment during
acquisition, which is when we actually need this feature.

2 years agoAbout: Also list glibmm/boost/libsigrokdecode version details.
Uwe Hermann [Fri, 26 May 2017 16:36:33 +0000 (18:36 +0200)]
About: Also list glibmm/boost/libsigrokdecode version details.

This fixes parts of bug #912.

2 years agobuild: Add missing check for glib.
Uwe Hermann [Fri, 26 May 2017 16:14:56 +0000 (18:14 +0200)]
build: Add missing check for glib.

PulseView uses glib directly (in addition to indirectly via
libsigrok and/or libsigrokdecode), so we should explicitly check it.

2 years agobuild: Add missing check for glibmm.
Uwe Hermann [Fri, 26 May 2017 15:56:08 +0000 (17:56 +0200)]
build: Add missing check for glibmm.

Also, list the glibmm version in config.h.

2 years agoAbout: Also show libsigrok libs and features.
Uwe Hermann [Fri, 26 May 2017 14:43:24 +0000 (16:43 +0200)]
About: Also show libsigrok libs and features.

This fixes parts of bug #912.

2 years agoAvoid wrapping driver names etc in about box.
Martin Ling [Fri, 12 May 2017 21:48:28 +0000 (22:48 +0100)]
Avoid wrapping driver names etc in about box.

Fixes #111.

2 years agoFix a build issue with std::roundf() on Android.
Uwe Hermann [Wed, 10 May 2017 14:50:46 +0000 (16:50 +0200)]
Fix a build issue with std::roundf() on Android.

Apparently std::roundf() doesn't exist there, but plain roundf()
from <cmath> does.

This closes bug #945.

2 years agoLog settings location when using "-l 5".
Uwe Hermann [Tue, 9 May 2017 20:08:59 +0000 (22:08 +0200)]
Log settings location when using "-l 5".

This can have various types (e.g. a file or a registry entry) and it can
be in various locations on different OSes, so having this as part of the
log output is pretty useful.

2 years agoImprove icon/theme handling.
Uwe Hermann [Sun, 30 Apr 2017 20:44:33 +0000 (22:44 +0200)]
Improve icon/theme handling.

Only use QIcon::fromTheme() for icons which are included in the
freedesktop.org icon naming specification:

https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

For all others there will be no icon to use from the theme and we always
want our own icons to be used unconditionally in those cases anyway.

2 years agoRename icons to match freedesktop.org icon naming specification.
Uwe Hermann [Wed, 5 Apr 2017 19:34:29 +0000 (21:34 +0200)]
Rename icons to match freedesktop.org icon naming specification.

https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

2 years agoTests: Add another unit test for Segment class
Soeren Apel [Mon, 1 May 2017 13:14:50 +0000 (15:14 +0200)]
Tests: Add another unit test for Segment class

2 years agoSegment: Rework append_samples() so it can handle large input
Soeren Apel [Mon, 1 May 2017 13:04:10 +0000 (15:04 +0200)]
Segment: Rework append_samples() so it can handle large input

Before, adding large blocks of samples didn't work if they
would fill the current chunk, fill a new one and still have
data left to add. Using an iterative approach fixes this and
also makes the function more elegant.

2 years agoAnalogSignal: Don't paint logic when there's no logic data
Soeren Apel [Sun, 23 Apr 2017 14:44:17 +0000 (16:44 +0200)]
AnalogSignal: Don't paint logic when there's no logic data

2 years agoViewItem: Moved bg_colour_state into ViewItemPaintParams
Joel Holdsworth [Wed, 26 Apr 2017 17:20:14 +0000 (11:20 -0600)]
ViewItem: Moved bg_colour_state into ViewItemPaintParams

2 years agoViewPort: Make ViewItemPaintParams mutable
Joel Holdsworth [Wed, 26 Apr 2017 17:09:10 +0000 (11:09 -0600)]
ViewPort: Make ViewItemPaintParams mutable

2 years agoTimeMarker: Align to a integer pixel offset
Joel Holdsworth [Wed, 26 Apr 2017 17:39:48 +0000 (11:39 -0600)]
TimeMarker: Align to a integer pixel offset

2 years agoTrace: Fixed background rectangle
Joel Holdsworth [Wed, 26 Apr 2017 16:13:08 +0000 (10:13 -0600)]
Trace: Fixed background rectangle

It previously ignored the left x-coordinate, and left a 1-pixel
gap at the right-hand side.

2 years agoTrace: Removed coloured_bg state
Joel Holdsworth [Wed, 26 Apr 2017 16:12:23 +0000 (10:12 -0600)]
Trace: Removed coloured_bg state

The state should be taken from the View

2 years agoDecodeTrace: Make annotation block background opaque
Joel Holdsworth [Wed, 26 Apr 2017 16:09:51 +0000 (10:09 -0600)]
DecodeTrace: Make annotation block background opaque

2 years agoSettings: About: alpha-sort list of protocol decoders
Gerhard Sittig [Sun, 16 Apr 2017 19:34:05 +0000 (21:34 +0200)]
Settings: About: alpha-sort list of protocol decoders

Sort the list of protocol decoders in the "About" page like
sigrok-cli(1) does.

2 years agoSettings: About: add sigrok internal libraries to version list
Gerhard Sittig [Sun, 16 Apr 2017 19:29:27 +0000 (21:29 +0200)]
Settings: About: add sigrok internal libraries to version list

Add version information for libsigrok and libsigrokdecode (when enabled)
to the list of used libraries in the "About" page.

2 years agoDon't use AUTORCC, this would require cmake >= 3.0.
Uwe Hermann [Sun, 2 Apr 2017 15:24:34 +0000 (17:24 +0200)]
Don't use AUTORCC, this would require cmake >= 3.0.

2 years agoINSTALL: Fix incorrect gcc/clang minimum versions.
Uwe Hermann [Fri, 31 Mar 2017 17:35:09 +0000 (19:35 +0200)]
INSTALL: Fix incorrect gcc/clang minimum versions.

https://gcc.gnu.org/projects/cxx-status.html#cxx11
https://clang.llvm.org/cxx_status.html

2 years agoAdd a hotkey and setting for showing/hiding the minor analog grid.
Uwe Hermann [Fri, 31 Mar 2017 06:27:28 +0000 (08:27 +0200)]
Add a hotkey and setting for showing/hiding the minor analog grid.

The vdiv grid is always shown and is what most users will expect. The
additional "minor" grid could be confusing, so make that configurable.

2 years agoAdd a tooltip for the "Delete decoder trace" icon.
Uwe Hermann [Thu, 30 Mar 2017 17:27:12 +0000 (19:27 +0200)]
Add a tooltip for the "Delete decoder trace" icon.

2 years agoAdd a tooltip for the "Show/hide decoder trace" icon.
Uwe Hermann [Thu, 30 Mar 2017 17:26:41 +0000 (19:26 +0200)]
Add a tooltip for the "Show/hide decoder trace" icon.

2 years agoAdd a tooltip for the decoder name in the decoder popup.
Uwe Hermann [Wed, 29 Mar 2017 23:21:58 +0000 (01:21 +0200)]
Add a tooltip for the decoder name in the decoder popup.

2 years agoAdd a tooltip for the "Stack decoder" button/dropdown.
Uwe Hermann [Wed, 29 Mar 2017 23:21:31 +0000 (01:21 +0200)]
Add a tooltip for the "Stack decoder" button/dropdown.

2 years agoAdd a tooltip for the "Add decoder" button.
Uwe Hermann [Wed, 29 Mar 2017 23:20:42 +0000 (01:20 +0200)]
Add a tooltip for the "Add decoder" button.

2 years agobinding: Add description tooltips to almost all binding types.
Uwe Hermann [Wed, 29 Mar 2017 23:11:11 +0000 (01:11 +0200)]
binding: Add description tooltips to almost all binding types.

This can be the description of an option of an input/output module,
for example.

2 years agoprop/bool: Add a tooltip containing a description.
Uwe Hermann [Wed, 29 Mar 2017 23:48:12 +0000 (01:48 +0200)]
prop/bool: Add a tooltip containing a description.

This can be the description of an option of an input/output module,
for example.

2 years agobinding/prop: Add a description field.
Uwe Hermann [Wed, 29 Mar 2017 22:57:33 +0000 (00:57 +0200)]
binding/prop: Add a description field.

The config key / option bindings only allowed for a single name so far.

Add an additional description field, which can be used for longer
descriptions of the config keys / options.

Hook up the input/output format option descriptions.

2 years agowellarray.hpp: Add missing #include guards.
Uwe Hermann [Tue, 28 Mar 2017 21:20:51 +0000 (23:20 +0200)]
wellarray.hpp: Add missing #include guards.

2 years agoSimplify Qt5 setup, require cmake >= 2.8.12.
Uwe Hermann [Tue, 28 Mar 2017 20:54:27 +0000 (22:54 +0200)]
Simplify Qt5 setup, require cmake >= 2.8.12.

We now require cmake >= 2.8.12 (released 2013 or so, should be available
pretty much anywhere by now) which further simplifies the Qt5 setup.

Details:
https://doc.qt.io/qt-5/cmake-manual.html
https://cmake.org/cmake/help/v3.7/prop_tgt/AUTOMOC.html
https://cmake.org/cmake/help/v3.7/prop_tgt/AUTORCC.html

2 years agoDrop support for Qt4.
Uwe Hermann [Tue, 28 Mar 2017 20:26:02 +0000 (22:26 +0200)]
Drop support for Qt4.

We now require Qt5 for PulseView. Qt5 has been out since 2012 or so and
is available pretty much everywhere now.

We're successfully using Qt5 on Linux, Windows, *BSD, Mac OS X, and Android.

Dropping Qt4 support simplifies the build system quite a bit, reduces the
number of test scenarios we have to consider etc. etc.

2 years agoDrop unused boost-thread dependency.
Uwe Hermann [Tue, 28 Mar 2017 06:41:48 +0000 (08:41 +0200)]
Drop unused boost-thread dependency.

We no longer use boost-thread currently (in favor of C++11 thread
facilities), so drop the obsolete dependency from code and docs.

2 years agoUse alphabetical order for #includes.
Uwe Hermann [Tue, 28 Mar 2017 06:30:43 +0000 (08:30 +0200)]
Use alphabetical order for #includes.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,llvm-include-order" -fix

2 years agoWhitespace cosmetics.
Uwe Hermann [Fri, 24 Mar 2017 22:19:14 +0000 (23:19 +0100)]
Whitespace cosmetics.

2 years agoSpeed up analog trace painting
Soeren Apel [Sun, 26 Mar 2017 19:04:30 +0000 (21:04 +0200)]
Speed up analog trace painting

2 years agoSignalBase: Don't use static state
Soeren Apel [Thu, 23 Mar 2017 20:52:51 +0000 (21:52 +0100)]
SignalBase: Don't use static state

It's used across all SessionBase instances, d'oh.
Let's not do this.

2 years agoSettings: Whitespace fix
Soeren Apel [Thu, 23 Mar 2017 20:43:58 +0000 (21:43 +0100)]
Settings: Whitespace fix

2 years agoConsistenty use auto-generated namespace comments.
Uwe Hermann [Wed, 22 Mar 2017 22:34:36 +0000 (23:34 +0100)]
Consistenty use auto-generated namespace comments.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,google-readability-namespace-comments" -fix

Switch to the format used by clang-tidy to allow easy, automatic,
tool-based maintenance / checking of the comments.

This also found a few instances of comments that were out of sync.

2 years agoRandom simplifications, cosmetics/whitespace/consistency fixes.
Uwe Hermann [Sat, 18 Mar 2017 23:20:26 +0000 (00:20 +0100)]
Random simplifications, cosmetics/whitespace/consistency fixes.

2 years agoUse the "default" keyword.
Uwe Hermann [Tue, 21 Mar 2017 23:45:20 +0000 (00:45 +0100)]
Use the "default" keyword.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,modernize-use-equals-default" -fix

(with manual fixups to move the "= default" to the .hpp)

2 years agoUse bool literals for boolean values.
Uwe Hermann [Tue, 21 Mar 2017 23:01:10 +0000 (00:01 +0100)]
Use bool literals for boolean values.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,modernize-use-bool-literals" -fix

2 years agoDon't use redundant void argument.
Uwe Hermann [Tue, 21 Mar 2017 21:38:59 +0000 (22:38 +0100)]
Don't use redundant void argument.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,modernize-redundant-void-arg" -fix

2 years agoDon't use deprecated headers.
Uwe Hermann [Mon, 20 Mar 2017 20:40:29 +0000 (21:40 +0100)]
Don't use deprecated headers.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,modernize-deprecated-headers" -fix

(with some additional manual fixups)

2 years agoUse nullptr in a few places.
Uwe Hermann [Mon, 20 Mar 2017 20:26:44 +0000 (21:26 +0100)]
Use nullptr in a few places.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,modernize-use-nullptr" -fix

2 years agoRemove unused "using" declarations.
Uwe Hermann [Mon, 20 Mar 2017 20:00:14 +0000 (21:00 +0100)]
Remove unused "using" declarations.

This patch was generated using clang-tidy:

  clang-tidy -checks="-*,misc-unused-using-decls" -fix

(with manual add-on fixes such as dropping unused headers as well,
and commenting some false-positive cases)

2 years agoSettings: Add Qt version
Soeren Apel [Wed, 22 Mar 2017 22:42:23 +0000 (23:42 +0100)]
Settings: Add Qt version

2 years agoDecoderStack: Fix memory leak
Soeren Apel [Wed, 22 Mar 2017 22:26:21 +0000 (23:26 +0100)]
DecoderStack: Fix memory leak

2 years agoAnalogSignal: display type-related improvements
Soeren Apel [Wed, 22 Mar 2017 21:33:09 +0000 (22:33 +0100)]
AnalogSignal: display type-related improvements

1) Only show the v/div setting if analog trace is drawn
2) Update the trace when the display type is changed

2 years agoAnalogSignal: Implement converted logic trace painting
Soeren Apel [Wed, 22 Mar 2017 22:24:13 +0000 (23:24 +0100)]
AnalogSignal: Implement converted logic trace painting

Yeah, it violates the DRY principle and isn't nice OOP-wise
but it'll do for now. The entire group of Trace/Signal classes
needs to be reworked anyway to support device-independent
signal types anyway (think math traces and such).

2 years agoLogicSignal: Don't depend on device_ being valid
Soeren Apel [Wed, 22 Mar 2017 19:05:38 +0000 (20:05 +0100)]
LogicSignal: Don't depend on device_ being valid

2 years agoAnalogSignal: Add conversion type and display type
Soeren Apel [Wed, 22 Mar 2017 22:07:41 +0000 (23:07 +0100)]
AnalogSignal: Add conversion type and display type

2 years agoSignalBase: Implement A2D conversions
Soeren Apel [Wed, 22 Mar 2017 22:03:21 +0000 (23:03 +0100)]
SignalBase: Implement A2D conversions

2 years agoSession: Make sure we don't try to add a non-existant decoder
Soeren Apel [Sat, 18 Mar 2017 11:12:41 +0000 (12:12 +0100)]
Session: Make sure we don't try to add a non-existant decoder

This can happen if either the saved configuration is wrong
or a decoder simply doesn't exist. We don't want to crash then.

2 years agoLogicSegment: Remove constructor requiring sigrok::Logic
Soeren Apel [Thu, 16 Mar 2017 21:24:17 +0000 (22:24 +0100)]
LogicSegment: Remove constructor requiring sigrok::Logic

2 years agoLogicSegment: Make constructor and append_payload() more generic
Soeren Apel [Thu, 16 Mar 2017 20:40:33 +0000 (21:40 +0100)]
LogicSegment: Make constructor and append_payload() more generic

2 years agoUse presence of logic/analog data as indicator of channel type
Soeren Apel [Wed, 15 Mar 2017 18:22:17 +0000 (19:22 +0100)]
Use presence of logic/analog data as indicator of channel type

However, don't do this for the StoreSession. Reason is that we
only want to save the original data and not treat any converted
data as its own channel.

2 years agoSignalBase: Allow checking for logic data directly
Soeren Apel [Tue, 14 Mar 2017 21:54:20 +0000 (22:54 +0100)]
SignalBase: Allow checking for logic data directly

If we always return a valid pointer, we need to look
at the channel type to figure out if this data is
supposed to be valid or not. This isn't useful.

2 years agoIntroduce PV-internal channel types
Soeren Apel [Wed, 22 Mar 2017 21:45:41 +0000 (22:45 +0100)]
Introduce PV-internal channel types

2 years agomain.cpp: Minor consistency fixes found by clang-tidy.
Uwe Hermann [Sat, 18 Mar 2017 19:01:54 +0000 (20:01 +0100)]
main.cpp: Minor consistency fixes found by clang-tidy.

2 years agoDon't use std:: in the code directly (where possible).
Uwe Hermann [Wed, 15 Mar 2017 22:16:05 +0000 (23:16 +0100)]
Don't use std:: in the code directly (where possible).

Use "using std::foo" to make the actual code itself a lot more readable.

There are some exceptions where we usually cannot do this, e.g. std::thread
often conflicts with "thread" from Qt or Boost.

2 years agoOnly show sampling points when zoomed in far enough.
Uwe Hermann [Fri, 17 Mar 2017 22:53:49 +0000 (23:53 +0100)]
Only show sampling points when zoomed in far enough.

2 years agoShow sampling points in analog traces.
Uwe Hermann [Fri, 17 Mar 2017 22:05:23 +0000 (23:05 +0100)]
Show sampling points in analog traces.

This fixes (parts of) bug #485.