X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=b916999fb9bd2a1fcfd2c691f5aa89a6081f15ba;hb=cec48d1618edd0f28f21d5351f53692876222e16;hp=16147b14ff6df87f0960a7783c8c07c928efe130;hpb=107ca6d350b51186d12dac9273f6ed130b3f5dd7;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 16147b14..b916999f 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -19,7 +19,7 @@ */ #ifdef ENABLE_SIGROKDECODE -#include +#include #endif #include @@ -60,7 +60,8 @@ MainWindow::MainWindow(DeviceManager &device_manager, const char *open_file_name, QWidget *parent) : QMainWindow(parent), - _device_manager(device_manager) + _device_manager(device_manager), + _session(device_manager) { setup_ui(); if (open_file_name) { @@ -184,7 +185,7 @@ void MainWindow::setup_ui() QMetaObject::connectSlotsByName(this); // Setup the toolbar - _toolbar = new QToolBar(this); + _toolbar = new QToolBar(tr("Main Toolbar"), this); _toolbar->addAction(_action_open); _toolbar->addSeparator(); _toolbar->addAction(_action_view_zoom_in); @@ -268,20 +269,29 @@ void MainWindow::show_session_error( void MainWindow::on_actionOpen_triggered() { + // Enumerate the file formats + QString filters(tr("Sigrok Sessions (*.sr)")); + filters.append(tr(";;All Files (*.*)")); + + // Show the dialog const QString file_name = QFileDialog::getOpenFileName( - this, tr("Open File"), "", - tr("Sigrok Sessions (*.sr)")); + this, tr("Open File"), "", filters); if (!file_name.isEmpty()) load_file(file_name); } void MainWindow::on_actionConnect_triggered() { + // Stop any currently running capture session + _session.stop_capture(); + dialogs::Connect dlg(this, _device_manager); - if (!dlg.exec()) - return; - struct sr_dev_inst *const sdi = dlg.get_selected_device(); + // If the user selected a device, select it in the device list. Select the + // current device otherwise. + struct sr_dev_inst *const sdi = dlg.exec() ? + dlg.get_selected_device() : _session.get_device(); + update_device_list(sdi); }