X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=170d14e79ccffa4fa9f7d24fdf91fbc57062c050;hp=d4c5f1f79ed27111c17bcbe9bee6a97902d4a7e8;hb=2a21747e9daac2a45cd9a5ceb9a351f9775c5704;hpb=6842b5fc481eb43d9aeea81f17e211820d6dc405 diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index d4c5f1f7..170d14e7 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -43,7 +43,6 @@ #include "mainwindow.h" #include "devicemanager.h" -#include "device/device.h" #include "dialogs/about.h" #include "dialogs/connect.h" #include "dialogs/storeprogress.h" @@ -54,19 +53,22 @@ #include "widgets/decodermenu.h" #endif -/* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ -#define __STDC_FORMAT_MACROS #include #include #include #include -#include +#include using std::list; using std::map; +using std::pair; using std::shared_ptr; using std::string; +using sigrok::Device; +using sigrok::Error; +using sigrok::HardwareDevice; + namespace pv { namespace view { @@ -282,7 +284,7 @@ void MainWindow::save_ui_settings() settings.setValue("geometry", saveGeometry()); settings.endGroup(); - if (_session.get_device()) { + if (_session.device()) { settings.beginGroup("Device"); key_list.push_back("vendor"); key_list.push_back("model"); @@ -290,7 +292,8 @@ void MainWindow::save_ui_settings() key_list.push_back("serial_num"); key_list.push_back("connection_id"); - dev_info = _session.get_device()->get_device_info(); + dev_info = _device_manager.get_device_info( + _session.device()); for (string key : key_list) { @@ -309,7 +312,7 @@ void MainWindow::restore_ui_settings() { QSettings settings; - shared_ptr device; + shared_ptr device; map dev_info; list key_list; @@ -365,8 +368,8 @@ void MainWindow::update_device_list() { assert(_sampling_bar); - shared_ptr selected_device = _session.get_device(); - list< shared_ptr > devices; + shared_ptr selected_device = _session.device(); + list< shared_ptr > devices; if (_device_manager.devices().size() == 0) return; @@ -379,7 +382,13 @@ void MainWindow::update_device_list() devices.push_back(selected_device); assert(selected_device); - _sampling_bar->set_device_list(devices, selected_device); + list< pair< shared_ptr, string> > device_list; + + for (auto device : devices) + device_list.push_back(make_pair( + device, _device_manager.get_display_name(device))); + + _sampling_bar->set_device_list(device_list, selected_device); } void MainWindow::closeEvent(QCloseEvent *event) @@ -396,8 +405,8 @@ void MainWindow::load_file(QString file_name) try { _session.set_file(file_name.toStdString()); - } catch(QString e) { - show_session_error(tr("Failed to load ") + file_name, e); + } catch(Error e) { + show_session_error(tr("Failed to load ") + file_name, e.what()); _session.set_default_device(); update_device_list(); return; @@ -516,7 +525,7 @@ void MainWindow::on_actionViewShowCursors_triggered() void MainWindow::on_actionAbout_triggered() { - dialogs::About dlg(this); + dialogs::About dlg(_device_manager.context(), this); dlg.exec(); }