X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=mainwindow.cpp;h=d827e2dc8b25db5f597fff6cc106795e8b5000bf;hp=50847e2ac1268108b48ee1a0945c28966a39fcda;hb=7d5425efcefd801264a504f8a9d92977f2be6eeb;hpb=274d4f133825cddfc6a42438dd47899db20c7d97 diff --git a/mainwindow.cpp b/mainwindow.cpp index 50847e2a..d827e2dc 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -22,12 +22,18 @@ extern "C" { #include } +#include +#include +#include #include +#include +#include +#include +#include +#include #include "about.h" - #include "mainwindow.h" -#include "ui_mainwindow.h" #include "samplingbar.h" #include "sigview.h" @@ -42,31 +48,78 @@ extern "C" { } MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) + QMainWindow(parent) +{ + setup_ui(); +} + +void MainWindow::setup_ui() { - ui->setupUi(this); + setObjectName(QString::fromUtf8("MainWindow")); + + resize(1024, 768); + + // Set the window icon + QIcon icon; + icon.addFile(QString::fromUtf8(":/icons/sigrok-logo-notext.png"), + QSize(), QIcon::Normal, QIcon::Off); + setWindowIcon(icon); + + // Setup the UI actions + _action_about = new QAction(this); + _action_about->setObjectName(QString::fromUtf8("actionAbout")); + _action_open = new QAction(this); + _action_open->setObjectName(QString::fromUtf8("actionOpen")); + + // Setup the menu bar + _menu_bar = new QMenuBar(this); + _menu_bar->setGeometry(QRect(0, 0, 400, 25)); + _menu_file = new QMenu(_menu_bar); + _menu_file->addAction(_action_open); + + _menu_help = new QMenu(_menu_bar); + _menu_help->addAction(_action_about); + + _menu_bar->addAction(_menu_file->menuAction()); + _menu_bar->addAction(_menu_help->menuAction()); + + setMenuBar(_menu_bar); + QMetaObject::connectSlotsByName(this); + + // Setup the toolbars _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); -} + // Setup the central widget + _central_widget = new QWidget(this); + _vertical_layout = new QVBoxLayout(_central_widget); + _vertical_layout->setSpacing(6); + _vertical_layout->setContentsMargins(0, 0, 0, 0); + setCentralWidget(_central_widget); -MainWindow::~MainWindow() -{ - delete ui; + // Setup the status bar + _status_bar = new QStatusBar(this); + setStatusBar(_status_bar); + + setWindowTitle(QApplication::translate("MainWindow", "sigrok-qt2", 0, QApplication::UnicodeUTF8)); + _action_open->setText(QApplication::translate("MainWindow", "&Open...", 0, QApplication::UnicodeUTF8)); + _action_about->setText(QApplication::translate("MainWindow", "&About...", 0, QApplication::UnicodeUTF8)); + _menu_file->setTitle(QApplication::translate("MainWindow", "&File", 0, QApplication::UnicodeUTF8)); + _menu_help->setTitle(QApplication::translate("MainWindow", "&Help", 0, QApplication::UnicodeUTF8)); + + _view = new SigView(_session, this); + _vertical_layout->addWidget(_view); } void MainWindow::on_actionOpen_triggered() { - QString fileName = QFileDialog::getOpenFileName( + QString file_name = QFileDialog::getOpenFileName( this, tr("Open File"), "", tr("Sigrok Sessions (*.sr)")); - session.loadFile(fileName.toStdString()); + _session.load_file(file_name.toStdString()); } void MainWindow::on_actionAbout_triggered() @@ -77,7 +130,8 @@ void MainWindow::on_actionAbout_triggered() void MainWindow::run_stop() { - session.start_capture( + _session.start_capture( _sampling_bar->get_selected_device(), + _sampling_bar->get_record_length(), _sampling_bar->get_sample_rate()); }