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.
Jens Steinhauser [Wed, 27 Aug 2014 09:12:40 +0000 (11:12 +0200)]
Snapshot classes: Use vector instead of raw pointer
As a side-effect this turns a segfault (see bug #397) into a segfault
with a more usable message:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)
Soeren Apel [Tue, 26 Aug 2014 13:40:00 +0000 (15:40 +0200)]
Make trace popup combobox behave more user-friendly
Soeren Apel [Tue, 26 Aug 2014 12:13:38 +0000 (14:13 +0200)]
Populate signal popup combo box with signal name instead of probe name
Soeren Apel [Tue, 26 Aug 2014 11:18:40 +0000 (13:18 +0200)]
Fix bug 298 by enhancing signal and trace popup behavior
Uwe Hermann [Wed, 27 Aug 2014 13:29:48 +0000 (15:29 +0200)]
Fix two errors with clang 3.6.
[...]/pv/view/viewport.cpp:202:6: error: using integer absolute value
function 'abs' when argument is of floating point
type [-Werror,-Wabsolute-value]
if (abs(w) >= 1.0) {
^
[...]/pv/view/viewport.cpp:202:6: note: use function 'std::abs' instead
if (abs(w) >= 1.0) {
^~~
std::abs
[...]/pv/widgets/sweeptimingwidget.cpp:172:33: error: absolute value
function 'abs' given an argument of type 'long' but has parameter of
type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
const int64_t this_variance = abs(
^
[...]/pv/widgets/sweeptimingwidget.cpp:172:33: note: use function
'std::abs' instead
const int64_t this_variance = abs(
^~~
std::abs
Uwe Hermann [Tue, 26 Aug 2014 21:10:36 +0000 (23:10 +0200)]
android/: Add some missing license headers.
Uwe Hermann [Tue, 26 Aug 2014 21:08:47 +0000 (23:08 +0200)]
android/: Whitespace and consistency fixes.
Use one tab as indentation for all XML and Java files.
Uwe Hermann [Tue, 26 Aug 2014 20:52:55 +0000 (22:52 +0200)]
view: Minor whitespace fixes.
Marcus Comstedt [Fri, 18 Jul 2014 14:17:37 +0000 (16:17 +0200)]
Android: Use environment setup from library instead
Marcus Comstedt [Wed, 16 Jul 2014 14:56:43 +0000 (16:56 +0200)]
Added files for building Android APK
Marcus Comstedt [Wed, 16 Jul 2014 14:45:48 +0000 (16:45 +0200)]
Install logging callbacks for Android
Marcus Comstedt [Wed, 16 Jul 2014 14:16:10 +0000 (16:16 +0200)]
Setup environment for SRD on Android
Marcus Comstedt [Wed, 16 Jul 2014 14:07:45 +0000 (16:07 +0200)]
CMakeLists.txt: For Android, make a library out of the native code
Marcus Comstedt [Sat, 19 Jul 2014 08:04:19 +0000 (10:04 +0200)]
View: Implement pinch-zoom
The special handling of a moveMoveEvent without a preceeding
mousePressEvent is a workaround for an issue where you won't get
an emulated mousePressEvent for the primary touch after a multitouch
gesture where you release the primary touch before the secondary touch.
Bert Vermeulen [Sun, 3 Aug 2014 12:24:02 +0000 (14:24 +0200)]
Check for device instances before blindly trying to release them.
Soeren Apel [Sun, 3 Aug 2014 12:12:13 +0000 (14:12 +0200)]
Fix comment and increase readability in probes.cpp
Soeren Apel [Sun, 3 Aug 2014 12:12:12 +0000 (14:12 +0200)]
Fix bug #392 by improving empty list/map handling
Bert Vermeulen [Sat, 26 Jul 2014 01:09:04 +0000 (03:09 +0200)]
Remove output modules from about dialog.
PulseView doesn't support output modules at all.
Uwe Hermann [Tue, 22 Jul 2014 22:03:08 +0000 (00:03 +0200)]
Drop references to obsolete sigrok-commits mailing list.
Martin Ling [Sat, 19 Jul 2014 17:19:47 +0000 (18:19 +0100)]
Update to new session API.
Bert Vermeulen [Mon, 14 Jul 2014 22:29:39 +0000 (00:29 +0200)]
Ignore *.cpp_parameters.
Marcus Comstedt [Tue, 8 Jul 2014 08:55:05 +0000 (10:55 +0200)]
MarginWidget: Disable system background
This fixes a rendering problem on Android.
Marcus Comstedt [Mon, 7 Jul 2014 10:26:28 +0000 (12:26 +0200)]
CMakeLists.txt: Put quotes back for CXX_FLAGS only
Turns out these were needed after all.
Marcus Comstedt [Sat, 17 May 2014 10:37:15 +0000 (12:37 +0200)]
Declare a virtual destructor for SignalData
This fixes the following error:
error: deleting object of polymorphic class type 'pv::data::Analog'
which has non-virtual destructor might cause undefined behaviour
[-Werror=delete-non-virtual-dtor]
Also, the same error for pv::data::Logic.
Marcus Comstedt [Sun, 29 Jun 2014 10:55:48 +0000 (12:55 +0200)]
Add missing #include <cassert> in multiple files
Marcus Comstedt [Sun, 29 Jun 2014 12:09:03 +0000 (14:09 +0200)]
Fix compilation on 32-bit systems
storesession.h was declaring fields as std::atomic<uint64_t>, a type
not avaiable on 32-bit systems. However, the values stored in these
fields were only used as input to QProgressDialog, which takes int,
not uint64_t. So the fields could just as well be std::atomic<int>.
Also, added code to scale the progress values down if they would not
fit in an int. (This would have been needed even if the fields were
to remain as uint64_t.)
Uwe Hermann [Mon, 16 Jun 2014 17:27:27 +0000 (19:27 +0200)]
CMakeLists.txt: Pass -DENABLE_SIGNALS to the compiler.
Until now only the cmake variable ENABLE_SIGNALS was used to add
signalhandler.{cpp,h} to the list of files to build.
However, main.cpp also uses '#ifdef ENABLE_SIGNALS' which didn't work
so far, since -DENABLE_SIGNALS was not passed to the compiler.
(one effect being that PulseView cannot be killed via CTRL-C from
an xterm or the like)
This fixes bug #368.
Jens Steinhauser [Mon, 9 Jun 2014 15:35:36 +0000 (17:35 +0200)]
Use 'struct' for test cases defined with BOOST_AUTO_TEST_CASE.
Jens Steinhauser [Mon, 9 Jun 2014 14:57:15 +0000 (16:57 +0200)]
Add missing files to test/CMakeLists.txt.
Bert Vermeulen [Tue, 10 Jun 2014 15:09:23 +0000 (17:09 +0200)]
Ignore Qt5-generated moc and qrc files.
Marcus Comstedt [Tue, 10 Jun 2014 13:35:38 +0000 (15:35 +0200)]
CMakeLists.txt: Drop quotes causing invalid include paths for Qt5
Marcus Comstedt [Thu, 15 May 2014 19:45:03 +0000 (21:45 +0200)]
Allow PulseView to be built with Qt5
cmake will auto-detect Qt4 or Qt5. If both are available, Qt5 will be
selected unless FORCE_QT4 is set to TRUE.
Uwe Hermann [Mon, 9 Jun 2014 14:07:26 +0000 (16:07 +0200)]
test/CMakeLists.txt: Drop obsolete boost-thread references.
Uwe Hermann [Mon, 9 Jun 2014 14:01:33 +0000 (16:01 +0200)]
INSTALL: libboost-thread is no longer needed.
Uwe Hermann [Mon, 9 Jun 2014 14:01:13 +0000 (16:01 +0200)]
INSTALL: Document C++11 compiler support requirement.
Marcus Comstedt [Thu, 15 May 2014 19:48:11 +0000 (21:48 +0200)]
Change QApplication::translate to tr, removing deprecated UTF8 parameter
Marcus Comstedt [Thu, 15 May 2014 19:47:02 +0000 (21:47 +0200)]
Update #include directives to work with Qt5 as well as Qt4
Joel Holdsworth [Thu, 5 Jun 2014 20:30:04 +0000 (21:30 +0100)]
.gitignore: Added new Qt compiler intermediate
Joel Holdsworth [Thu, 5 Jun 2014 20:28:59 +0000 (21:28 +0100)]
DecoderStack: Fixed thread dead-lock
Joel Holdsworth [Thu, 29 May 2014 22:22:52 +0000 (23:22 +0100)]
SigSession: Fixed std::thread joining
Aurelien Jacobs [Tue, 3 Jun 2014 15:07:27 +0000 (17:07 +0200)]
property: add the necessary include file for std::function
This fixes the following error:
/home/aurel/devel/sigrok/pulseview/pv/prop/property.h:39:15: error: ‘function’ in namespace ‘std’ does not name a template type
typedef std::function<GVariant* ()> Getter;
Bert Vermeulen [Fri, 30 May 2014 21:09:38 +0000 (23:09 +0200)]
Don't use obsolete channel-based triggers.
Jens Steinhauser [Sat, 24 May 2014 15:36:17 +0000 (17:36 +0200)]
Header: Do not clip away the selection.
Jens Steinhauser [Sat, 24 May 2014 14:41:22 +0000 (16:41 +0200)]
CursorHeader: Do not clip away the selection.
Jens Steinhauser [Wed, 21 May 2014 13:02:13 +0000 (15:02 +0200)]
CursorHeader: Use the same number format as the ruler.
Jens Steinhauser [Wed, 21 May 2014 10:16:03 +0000 (12:16 +0200)]
CursorHeader: Make the size dependend on the used font.
Jens Steinhauser [Fri, 23 May 2014 19:36:54 +0000 (21:36 +0200)]
Use a separate widget to hold the cursor labels.
This way the cursor labels don't overlap with the ruler.
Jens Steinhauser [Fri, 23 May 2014 15:29:49 +0000 (17:29 +0200)]
MainWindow: Remember directory of last file that was opened/saved.
Jens Steinhauser [Fri, 23 May 2014 15:05:17 +0000 (17:05 +0200)]
main: Use only the domain, not the whole URL.
Joel Holdsworth [Sat, 24 May 2014 10:23:08 +0000 (11:23 +0100)]
DeviceOptions::print_vdiv: Replace C-style string formatting with QString arg formatting
Joel Holdsworth [Sat, 24 May 2014 10:17:27 +0000 (11:17 +0100)]
Replaced boost::bind with C++11 lambdas
Joel Holdsworth [Fri, 23 May 2014 22:32:20 +0000 (23:32 +0100)]
Replaced boost::function with std::function
Joel Holdsworth [Fri, 23 May 2014 22:22:37 +0000 (23:22 +0100)]
Used a std::atomic for StoreSession::_units_stores and _unit_count
Joel Holdsworth [Tue, 20 May 2014 22:51:00 +0000 (23:51 +0100)]
Replaced boost::thread/mutex etc. with std equivalents
Joel Holdsworth [Tue, 20 May 2014 21:58:55 +0000 (22:58 +0100)]
Replaced boost::shared_ptr with std::shared_ptr
Joel Holdsworth [Tue, 20 May 2014 21:15:50 +0000 (22:15 +0100)]
Replaced BOOST_FOREACH with C++11 range-based for loops
Joel Holdsworth [Tue, 20 May 2014 18:21:06 +0000 (19:21 +0100)]
Replaced lengthy iterator types with the auto keyword
Joel Holdsworth [Tue, 20 May 2014 18:20:29 +0000 (19:20 +0100)]
Enabled C++11 build
Jens Steinhauser [Thu, 22 May 2014 20:03:28 +0000 (22:03 +0200)]
Header: Invisible traces shouldn't influence the width.