X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=mainwindow.cpp;h=50847e2ac1268108b48ee1a0945c28966a39fcda;hp=bf9711f29167803f657ce1dffcf5ba027cfe47be;hb=274d4f133825cddfc6a42438dd47899db20c7d97;hpb=30236a549137e5f183e19fb696c50d7150fc1124 diff --git a/mainwindow.cpp b/mainwindow.cpp index bf9711f2..50847e2a 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -22,10 +22,14 @@ extern "C" { #include } -#include +#include + +#include "about.h" #include "mainwindow.h" #include "ui_mainwindow.h" +#include "samplingbar.h" +#include "sigview.h" extern "C" { /* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ @@ -42,6 +46,14 @@ MainWindow::MainWindow(QWidget *parent) : ui(new Ui::MainWindow) { ui->setupUi(this); + + _sampling_bar = new SamplingBar(this); + connect(_sampling_bar, SIGNAL(run_stop()), this, + SLOT(run_stop())); + addToolBar(_sampling_bar); + + view = new SigView(session, this); + ui->verticalLayout->addWidget(view); } MainWindow::~MainWindow() @@ -49,55 +61,23 @@ MainWindow::~MainWindow() delete ui; } -void MainWindow::on_actionAbout_triggered() +void MainWindow::on_actionOpen_triggered() { - GSList *l; - struct sr_dev_driver **drivers; - struct sr_input_format **inputs; - struct sr_output_format **outputs; - struct srd_decoder *dec; - - QString s = tr("%1 %2
%3
%4\n

") - .arg(QApplication::applicationName()) - .arg(QApplication::applicationVersion()) - .arg(tr("GNU GPL, version 2 or later")) - .arg(QApplication::organizationDomain()); - - s.append("" + tr("Supported hardware drivers:") + ""); - drivers = sr_driver_list(); - for (int i = 0; drivers[i]; ++i) { - s.append(QString("") - .arg(QString(drivers[i]->name)) - .arg(QString(drivers[i]->longname))); - } - s.append("
%1%2

"); - - s.append("" + tr("Supported input formats:") + ""); - inputs = sr_input_list(); - for (int i = 0; inputs[i]; ++i) { - s.append(QString("") - .arg(QString(inputs[i]->id)) - .arg(QString(inputs[i]->description))); - } - s.append("
%1%2

"); - - s.append("" + tr("Supported output formats:") + ""); - outputs = sr_output_list(); - for (int i = 0; outputs[i]; ++i) { - s.append(QString("") - .arg(QString(outputs[i]->id)) - .arg(QString(outputs[i]->description))); - } - s.append("
%1%2

"); + QString fileName = QFileDialog::getOpenFileName( + this, tr("Open File"), "", + tr("Sigrok Sessions (*.sr)")); + session.loadFile(fileName.toStdString()); +} - s.append("" + tr("Supported protocol decoders:") + ""); - for (l = srd_decoder_list(); l; l = l->next) { - dec = (struct srd_decoder *)l->data; - s.append(QString("") - .arg(QString(dec->id)) - .arg(QString(dec->longname))); - } - s.append("
%1%2
"); +void MainWindow::on_actionAbout_triggered() +{ + About dlg(this); + dlg.exec(); +} - QMessageBox::about(this, tr("About"), s); +void MainWindow::run_stop() +{ + session.start_capture( + _sampling_bar->get_selected_device(), + _sampling_bar->get_sample_rate()); }