X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=c9fa4c1a25fc749a9d47804ea369b8c9ff3e1ad1;hb=18203d86e200131f50e9830c4f16a9edba96d669;hp=99e545681e71a3a71042dd30c56818606629e24d;hpb=6745ffbbcf4d8bc858c9094f1e95683a529382a7;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 99e5456..c9fa4c1 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -33,6 +33,7 @@ #include "mainwindow.h" #include "samplingbar.h" #include "dialogs/about.h" +#include "dialogs/connect.h" #include "view/view.h" /* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ @@ -100,6 +101,15 @@ void MainWindow::setup_ui() _menu_file->addSeparator(); + _action_connect = new QAction(this); + _action_connect->setText(QApplication::translate( + "MainWindow", "&Connect to Device...", 0, + QApplication::UnicodeUTF8)); + _action_connect->setObjectName(QString::fromUtf8("actionConnect")); + _menu_file->addAction(_action_connect); + + _menu_file->addSeparator(); + _action_quit = new QAction(this); _action_quit->setText(QApplication::translate( "MainWindow", "&Quit", 0, QApplication::UnicodeUTF8)); @@ -169,6 +179,7 @@ void MainWindow::setup_ui() addToolBar(_toolbar); _sampling_bar = new SamplingBar(this); + scan_devices(); connect(_sampling_bar, SIGNAL(run_stop()), this, SLOT(run_stop())); addToolBar(_sampling_bar); @@ -182,6 +193,23 @@ void MainWindow::setup_ui() } +void MainWindow::scan_devices() +{ + _devices.clear(); + + /* Scan all drivers for all devices. */ + struct sr_dev_driver **const drivers = sr_driver_list(); + for (struct sr_dev_driver **driver = drivers; *driver; driver++) { + GSList *const devices = sr_driver_scan(*driver, NULL); + for (GSList *l = devices; l; l = l->next) + _devices.push_back((sr_dev_inst*)l->data); + g_slist_free(devices); + } + + assert(_sampling_bar); + _sampling_bar->set_device_list(_devices); +} + void MainWindow::load_file(QString file_name) { _session.load_file(file_name.toStdString()); @@ -195,6 +223,12 @@ void MainWindow::on_actionOpen_triggered() load_file(file_name); } +void MainWindow::on_actionConnect_triggered() +{ + dialogs::Connect dlg(this); + dlg.exec(); +} + void MainWindow::on_actionQuit_triggered() { close();