Joel Holdsworth [Wed, 5 Nov 2014 23:04:19 +0000 (23:04 +0000)]
Header: Moved drag functionality into SelectableItem
Joel Holdsworth [Wed, 5 Nov 2014 22:50:42 +0000 (22:50 +0000)]
SelectableItem: Fix documentation
Joel Holdsworth [Sun, 2 Nov 2014 17:04:25 +0000 (17:04 +0000)]
Header: Fixed dragging glitches
Joel Holdsworth [Sat, 1 Nov 2014 10:56:42 +0000 (10:56 +0000)]
Header: Only allow dragging if all traces share a common ancestor
Joel Holdsworth [Thu, 30 Oct 2014 22:33:37 +0000 (22:33 +0000)]
Header: Remove snap-to-grid behaviour
Joel Holdsworth [Mon, 27 Oct 2014 19:00:35 +0000 (19:00 +0000)]
View: Replaced signals_changed handler with signals_updated call
Joel Holdsworth [Fri, 10 Oct 2014 20:27:41 +0000 (21:27 +0100)]
RowItem: Combined appearance change signals into appearance_changed()
Joel Holdsworth [Tue, 26 Aug 2014 08:17:21 +0000 (09:17 +0100)]
TraceGroup: Implemented label_rect
Joel Holdsworth [Wed, 8 Oct 2014 20:27:02 +0000 (21:27 +0100)]
Header, Viewport: Don't manually invoke on_signals_changed on construction
Joel Holdsworth [Sat, 4 Oct 2014 10:40:04 +0000 (11:40 +0100)]
Use iterators to traverse signals
Joel Holdsworth [Wed, 1 Oct 2014 20:37:59 +0000 (21:37 +0100)]
RowItem: Make label_rect a const function
Joel Holdsworth [Wed, 1 Oct 2014 21:02:19 +0000 (22:02 +0100)]
View: Removed selected_items
Joel Holdsworth [Mon, 8 Sep 2014 19:24:46 +0000 (20:24 +0100)]
Added pv::view::RowItemIterator
Joel Holdsworth [Sun, 5 Oct 2014 17:54:29 +0000 (18:54 +0100)]
SigSession: Converted _signals_mutex into a boost::shared_mutex
Joel Holdsworth [Sun, 5 Oct 2014 10:09:51 +0000 (11:09 +0100)]
SigSession: Added signals_mutex(), and made signals() give a reference
Joel Holdsworth [Mon, 25 Aug 2014 22:29:00 +0000 (23:29 +0100)]
TraceGroup: Added skeleton
Joel Holdsworth [Sat, 1 Nov 2014 10:05:32 +0000 (10:05 +0000)]
Header: Handle RowItems that do not create a context menu
Joel Holdsworth [Mon, 27 Oct 2014 20:33:27 +0000 (20:33 +0000)]
Header: Allow RowItems to have no popup
Joel Holdsworth [Mon, 1 Sep 2014 21:46:34 +0000 (22:46 +0100)]
View: Keep a list of owned traces in RowItemOwner
Joel Holdsworth [Sat, 4 Oct 2014 09:25:25 +0000 (10:25 +0100)]
RowItem: Added owner accessor function
Joel Holdsworth [Sat, 30 Aug 2014 08:48:06 +0000 (09:48 +0100)]
Replace View ownership of traces with RowItemOwner
Joel Holdsworth [Sat, 30 Aug 2014 08:39:57 +0000 (09:39 +0100)]
Added RowItemOwner
Joel Holdsworth [Sun, 16 Nov 2014 18:55:53 +0000 (18:55 +0000)]
Trace: Renamed get_colour() to colour()
Joel Holdsworth [Sun, 16 Nov 2014 18:55:24 +0000 (18:55 +0000)]
Trace: Renamed get_name() to name()
Joel Holdsworth [Mon, 25 Aug 2014 13:34:24 +0000 (14:34 +0100)]
RowItem: Renamed get_v_offset to v_offset
Joel Holdsworth [Sun, 24 Aug 2014 18:52:03 +0000 (19:52 +0100)]
Refactored common row functionality into RowItem
Joel Holdsworth [Sun, 24 Aug 2014 20:58:54 +0000 (21:58 +0100)]
DecodeTrace: Removed set_view
Joel Holdsworth [Sun, 24 Aug 2014 19:17:18 +0000 (20:17 +0100)]
Replaced duplicated code with Trace::get_y
Joel Holdsworth [Mon, 1 Sep 2014 20:56:56 +0000 (21:56 +0100)]
View: Simplified get_traces
Joel Holdsworth [Fri, 29 Aug 2014 11:58:59 +0000 (12:58 +0100)]
View: Replace compare_trace_v_offsets with a lambda
Joel Holdsworth [Thu, 28 Aug 2014 22:52:50 +0000 (23:52 +0100)]
Trace: Removed pt_in_label_rect
Joel Holdsworth [Thu, 28 Aug 2014 22:45:41 +0000 (23:45 +0100)]
Trace: Correct shape of label_rect
Joel Holdsworth [Mon, 25 Aug 2014 22:46:38 +0000 (23:46 +0100)]
Trace: Renamed get_label_rect to label_rect
Joel Holdsworth [Sun, 9 Nov 2014 10:35:43 +0000 (10:35 +0000)]
Header: Fixed mouse over coordinates
Joel Holdsworth [Tue, 18 Nov 2014 22:19:35 +0000 (22:19 +0000)]
DecodeTrace: Combined together get_pixels_offset with get_samples_per_pixel
Joel Holdsworth [Tue, 18 Nov 2014 21:27:41 +0000 (21:27 +0000)]
DecodeTrace: Tidied up get_sample_range
Joel Holdsworth [Tue, 18 Nov 2014 20:10:26 +0000 (20:10 +0000)]
Trace: Converted on_hover_point_changed signal to direct notification
Joel Holdsworth [Tue, 18 Nov 2014 18:44:27 +0000 (18:44 +0000)]
DecodeTrace: Simplified and reduced calls to View
Soeren Apel [Tue, 18 Nov 2014 19:02:29 +0000 (19:02 +0000)]
DecodeTrace: Make tool tips use mapToGlobal() of the view's viewport
Soeren Apel [Tue, 18 Nov 2014 19:02:10 +0000 (19:02 +0000)]
View: Added viewport() accessor method
Soeren Apel [Fri, 14 Nov 2014 15:51:22 +0000 (16:51 +0100)]
Fix bug #477 by keeping track of visible rows, not just titles
Soeren Apel [Wed, 12 Nov 2014 17:24:14 +0000 (18:24 +0100)]
DecodeTrace: Provide tool tips for annotations
Soeren Apel [Wed, 12 Nov 2014 17:16:47 +0000 (18:16 +0100)]
Trace: Introduce hover_point_changed()
Soeren Apel [Tue, 11 Nov 2014 20:36:30 +0000 (21:36 +0100)]
DecodeTrace: Refactor sample helpers and simplify method calls
Soeren Apel [Tue, 11 Nov 2014 20:27:13 +0000 (21:27 +0100)]
DecodeTrace: Turn row_height and text_height into class members
Soeren Apel [Sun, 9 Nov 2014 12:35:13 +0000 (13:35 +0100)]
Update description for Trace::get_label_rect()
Peter Zotov [Thu, 13 Nov 2014 14:16:54 +0000 (17:16 +0300)]
SamplingBar: Add Space as a shortcut to Run/Stop.
Peter Zotov [Thu, 13 Nov 2014 13:28:11 +0000 (16:28 +0300)]
.gitignore: Ignore QtCreator generated files.
Peter Zotov [Thu, 13 Nov 2014 13:26:11 +0000 (16:26 +0300)]
View: Update view on capture state change
Peter Zotov [Thu, 13 Nov 2014 11:48:20 +0000 (14:48 +0300)]
LogicSignal: Ported triggers to new API
This fixes bugs #448 and #452.
Joel Holdsworth [Thu, 13 Nov 2014 12:46:25 +0000 (12:46 +0000)]
SigSession: Added DeviceManager accessor functions
Joel Holdsworth [Thu, 13 Nov 2014 12:44:42 +0000 (12:44 +0000)]
SigSession: Made _sr_session non-static
Joel Holdsworth [Sat, 1 Nov 2014 10:43:35 +0000 (10:43 +0000)]
.gitignore: Ignore vim .swo files
Joel Holdsworth [Sun, 2 Nov 2014 19:25:43 +0000 (19:25 +0000)]
StoreSession: Removed commented code
Joel Holdsworth [Thu, 13 Nov 2014 12:36:06 +0000 (12:36 +0000)]
SigSession: Renamed get_device to device
Joel Holdsworth [Thu, 13 Nov 2014 12:31:56 +0000 (12:31 +0000)]
Signal: Added a reference to _session
Joel Holdsworth [Thu, 13 Nov 2014 12:31:28 +0000 (12:31 +0000)]
SigSession: Replaced do { } while(0) with { }
Peter Zotov [Thu, 13 Nov 2014 12:08:12 +0000 (12:08 +0000)]
LogicSignal: Replaced TRUE/FALSE with true/false
Peter Zotov [Thu, 13 Nov 2014 12:07:49 +0000 (12:07 +0000)]
LogicSignal: Tidied populate_popup_form is_checked
Peter Zotov [Thu, 13 Nov 2014 12:07:27 +0000 (12:07 +0000)]
LogicSignal: Removed trailing whitespace
Martin Ling [Wed, 12 Nov 2014 17:29:46 +0000 (17:29 +0000)]
Reimplement file save using the srzip output module.
This should fix (part of) bug #451.
Tom Feist [Sun, 9 Nov 2014 22:54:53 +0000 (22:54 +0000)]
Change Glib::Variant<uint64_t> to Glib::Variant<guint64>.
This is needed on OSX/x86_64 where one is a typedef to unsigned long and the
other to unsigned long long. Both are the same size, but they are still
considered different types for the purposes of template instantiation, so the
specialisations which are defined for Glib::Variant<guint64> are not found if
Glib::Variant<uint64_t> is used.
Soeren Apel [Fri, 7 Nov 2014 16:12:18 +0000 (17:12 +0100)]
Replace map by list to preserve device order
Soeren Apel [Fri, 7 Nov 2014 16:11:30 +0000 (17:11 +0100)]
Fix bug #285 by handling device display names through DeviceManager
Currently, DeviceManager::device_description() is used to determine
how a device should appear in the device selector combobox. This is
problematic because bug #285 requests that a device should show
the extra information only when multiple such devices are present.
Without having access to all devices attached to a particular driver,
this cannot be solved.
This patch makes it possible by creating each device's display name
in the DeviceManager class and storing it there. This way, they
can be constructed while having access to all devices and
transparently queried by anyone who needs them.
With this, bug #285 can easily be solved.
Soeren Apel [Fri, 7 Nov 2014 14:52:59 +0000 (15:52 +0100)]
Fix device removal in DeviceManager::driver_scan()
Uwe Hermann [Sat, 8 Nov 2014 14:35:49 +0000 (15:35 +0100)]
CMakeLists.txt: Fix MinGW-w64 build issue related to QtSvg.
Specify the QtSvg requirement in the 'find_package(Qt4...)' line.
Also, change the linking order in the MinGW-w64 case, apparently the
build now fails without this.
[...]/qt/plugins/imageformats/libqsvg.a(qsvgiohandler.o):\
qsvgiohandler.cpp:(.text+0x571):
undefined reference to `QSvgRenderer::load(QByteArray const&)'
[...]
Uwe Hermann [Sat, 8 Nov 2014 14:31:30 +0000 (15:31 +0100)]
CMakeLists.txt: Fix CMAKE_MODULE_PATH related issue.
Append to CMAKE_MODULE_PATH instead of overwriting it, in case it is
non-empty initially (which can happen e.g. if -DCMAKE_TOOLCHAIN_FILE is
used and the specified toolchain file sets CMAKE_MODULE_PATH).
Also, append to CMAKE_MODULE_PATH _after_ running "project(pulseview)",
since the latter would apparently reset CMAKE_MODULE_PATH again.
This should fix a MinGW-w64 build issue we're currently seeing:
CMake Error at CMakeLists.txt:105 (include):
include could not find load file:
memaccess
Uwe Hermann [Sun, 2 Nov 2014 20:18:28 +0000 (21:18 +0100)]
Use <cstdlib> for std::abs() on integer datatypes.
The <cmath> #include needs to be used (only) for floating
point types.
Elias Oenal [Sun, 2 Nov 2014 19:21:34 +0000 (20:21 +0100)]
Linking QtSvg. This closes bug #369
Uwe Hermann [Fri, 31 Oct 2014 17:52:02 +0000 (18:52 +0100)]
android: Don't install unneeded Python files.
Uwe Hermann [Fri, 31 Oct 2014 17:49:23 +0000 (18:49 +0100)]
Add missing <cmath> #includes.
Some compilers throw warnings/errors otherwise:
error: no member named 'abs' in namespace 'std'; did you mean '::abs'?"
Uwe Hermann [Thu, 23 Oct 2014 13:44:01 +0000 (15:44 +0200)]
INSTALL: Clarify requirements.
PulseView depends on the libsigrok C++ bindings (not directly on
the libsigrok C library itself).
Uwe Hermann [Sun, 19 Oct 2014 16:47:27 +0000 (18:47 +0200)]
test/CMakeLists.txt: Update file list.
Marcus Comstedt [Sun, 19 Oct 2014 15:37:11 +0000 (17:37 +0200)]
Update android build after bindings rewrite
The sigrok bindings depend on libffi.so, which is an unversioned shared
object, so add it to the whitelist of libraries to install into the APK.
Martin Ling [Wed, 15 Oct 2014 00:04:55 +0000 (01:04 +0100)]
Use libsigrok C++ bindings (patch version 7).
Angus Gratton [Tue, 7 Oct 2014 22:35:23 +0000 (09:35 +1100)]
Fix double-free issue in File::create
Triggered when opening a file from the command line.
During startup Sigsession::set_default_device calls Device::use which
loads a global _sr_session, then as part of file loading the
File::create method is called which treats _sr_session as a temp
variable (loaded then immediately released), finally a Device::release
releases the (differently allocated) global _sr_session again causing
the double free.
Given File::create is only using the sigrok session temporarily within
its function scope, this change gives it its own temporary session
instance.
This fixes bug #405.
Soeren Apel [Mon, 29 Sep 2014 21:31:55 +0000 (23:31 +0200)]
Add serial_num/connection_id handling and save/restore last device
This patch performs several correlated changes:
- Make use of sdi->serial_num and sdi->connection_id in
format_device_title()
- Add a Device::get_device_info() method that returns a map
with all device identification information that's available
- Add a DeviceManager::find_device_from_info() method which
returns the best match to a given set of device infos
- Add save/restore code to the MainWindow class that makes
use of the aforementioned maps to identify the currently
selected device.
Uwe Hermann [Thu, 18 Sep 2014 15:14:14 +0000 (17:14 +0200)]
Fix the C++11 thread linking issues for unit tests as well.
Soeren Apel [Wed, 17 Sep 2014 20:16:28 +0000 (22:16 +0200)]
Use QApplication metadata for persistent storage
Since the application metadata is set in application.c,
we should use it instead of providing it manually every
time we create a QSettings object.
As I understand it, subclassing QApplication in application.c
is only a workaround for bad Qt behavior. In the event
that it is removed, the application metadata should be moved
so that persistent storage still works.
Aurelien Jacobs [Wed, 17 Sep 2014 15:22:14 +0000 (17:22 +0200)]
Usage of std::thread requires linking with appropriate system thread library.
This fixes the following link error (on debian sid, gcc 4.9):
Linking CXX executable pulseview
/usr/bin/ld: CMakeFiles/pulseview.dir/pv/sigsession.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/pulseview.dir/build.make:2844: recipe for target 'pulseview' failed
Bert Vermeulen [Wed, 17 Sep 2014 14:04:35 +0000 (16:04 +0200)]
Adapt to config key capabilities.
Soeren Apel [Sun, 14 Sep 2014 14:47:57 +0000 (16:47 +0200)]
Fix objectName warnings.
Fix the following warnings:
QMainWindow::saveState(): 'objectName' not set for QToolBar 'Main Toolbar'
QMainWindow::saveState(): 'objectName' not set for QToolBar 'Sampling Bar'
Soeren Apel [Fri, 12 Sep 2014 22:43:26 +0000 (00:43 +0200)]
Automatically save/restore main window state
Fix bug #326 by saving the main window state when closing and
restoring it on startup. The default window size is 1000x720 so
that the window can still be seen entirely when on a 1024x768 screen.
This wouldn't be the case with a default size of 1024x768.
Soeren Apel [Thu, 11 Sep 2014 21:11:43 +0000 (23:11 +0200)]
Generic auto-focusing for first line edit of popup
As there is a generic approach to hooking into the line edits
in popups, use that to also do auto-focus/auto-select-all.
Soeren Apel [Tue, 9 Sep 2014 20:45:40 +0000 (22:45 +0200)]
Use a generic approach when adding the "close on enter" hook for popups
Implement a generic approach to the "close on enter" feature
in popups by installing the key event handler on the first editable
widget it finds in the popup.
Uwe Hermann [Mon, 15 Sep 2014 18:26:48 +0000 (20:26 +0200)]
Replace ann_format with ann_class.
The naming has been changed to "annotation class" a while ago.
Uwe Hermann [Wed, 10 Sep 2014 16:39:35 +0000 (18:39 +0200)]
test/CMakeLists.txt: Fix build.
Martin Ling [Sat, 6 Sep 2014 13:15:08 +0000 (14:15 +0100)]
Subclass QApplication to catch exceptions in handlers.
Joel Holdsworth [Sun, 24 Aug 2014 18:25:24 +0000 (19:25 +0100)]
Trace: Fixed a doxygen comment
Soeren Apel [Tue, 2 Sep 2014 18:26:10 +0000 (20:26 +0200)]
Make decoder popups close when pressing enter
Uwe Hermann [Sun, 31 Aug 2014 17:51:13 +0000 (19:51 +0200)]
android: Minor whitespace fixes.
Marcus Comstedt [Fri, 29 Aug 2014 20:10:54 +0000 (22:10 +0200)]
Android: Bundle Qt libs with the APK
Joel Holdsworth [Sun, 31 Aug 2014 16:18:53 +0000 (17:18 +0100)]
icons: Renamed probe.svg to channels.svg
Martin Ling [Wed, 27 Aug 2014 18:55:48 +0000 (19:55 +0100)]
Rename 'probe' to 'channel' everywhere.
Martin Ling [Wed, 27 Aug 2014 18:40:59 +0000 (19:40 +0100)]
Add missing default to switch/case block.
Martin Ling [Wed, 27 Aug 2014 18:31:05 +0000 (19:31 +0100)]
Make unit_size in Snapshot class unsigned.
Martin Ling [Wed, 27 Aug 2014 18:36:56 +0000 (19:36 +0100)]
Remove broken assert().
This is no longer valid since
c82c7e4 changed _data to a std::vector.
Bert Vermeulen [Mon, 25 Aug 2014 15:29:40 +0000 (17:29 +0200)]
Remove obsolete input module support.
This no longer works against libsigrok, which has an entirely new
API for input modules.
Martin Ling [Sat, 19 Jul 2014 18:15:55 +0000 (19:15 +0100)]
Don't use Qt-defined keywords, they can cause problems with other headers.
Uwe Hermann [Wed, 27 Aug 2014 17:44:00 +0000 (19:44 +0200)]
Only use one central .gitignore file.