X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=317f3c9a701383793d869f5fda7e6a8aee42eea4;hb=3fad19663ccb612845e5ed2ef58799eb3e78efce;hp=45e804db7e6db33fcc1e911688b9cd1dd7e29b44;hpb=ced1cc130c182a605afa4832b32f92b76ca02d76;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 45e804db..317f3c9a 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -18,7 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifdef ENABLE_DECODE #include +#endif #include #include @@ -42,7 +44,9 @@ #include "toolbars/samplingbar.h" #include "view/logicsignal.h" #include "view/view.h" +#ifdef ENABLE_DECODE #include "widgets/decodermenu.h" +#endif /* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ #define __STDC_FORMAT_MACROS @@ -52,8 +56,7 @@ #include #include -using namespace boost; -using namespace std; +using std::list; namespace pv { @@ -160,6 +163,27 @@ void MainWindow::setup_ui() QString::fromUtf8("actionViewZoomOut")); menu_view->addAction(action_view_zoom_out); + QAction *const action_view_zoom_fit = new QAction(this); + action_view_zoom_fit->setText(QApplication::translate( + "MainWindow", "Zoom to &Fit", 0, QApplication::UnicodeUTF8)); + action_view_zoom_fit->setIcon(QIcon::fromTheme("zoom-fit", + QIcon(":/icons/zoom-fit.png"))); + action_view_zoom_fit->setShortcut(QKeySequence(Qt::Key_F)); + action_view_zoom_fit->setObjectName( + QString::fromUtf8("actionViewZoomFit")); + menu_view->addAction(action_view_zoom_fit); + + QAction *const action_view_zoom_one_to_one = new QAction(this); + action_view_zoom_one_to_one->setText(QApplication::translate( + "MainWindow", "Zoom to &One-to-One", 0, + QApplication::UnicodeUTF8)); + action_view_zoom_one_to_one->setIcon(QIcon::fromTheme("zoom-original", + QIcon(":/icons/zoom-original.png"))); + action_view_zoom_one_to_one->setShortcut(QKeySequence(Qt::Key_O)); + action_view_zoom_one_to_one->setObjectName( + QString::fromUtf8("actionViewZoomOneToOne")); + menu_view->addAction(action_view_zoom_one_to_one); + menu_view->addSeparator(); QAction *action_view_show_cursors = new QAction(this); @@ -173,6 +197,7 @@ void MainWindow::setup_ui() menu_view->addAction(action_view_show_cursors); // Decoders Menu +#ifdef ENABLE_DECODE QMenu *const menu_decoders = new QMenu; menu_decoders->setTitle(QApplication::translate( "MainWindow", "&Decoders", 0, QApplication::UnicodeUTF8)); @@ -185,6 +210,7 @@ void MainWindow::setup_ui() this, SLOT(add_decoder(srd_decoder*))); menu_decoders->addMenu(menu_decoders_add); +#endif // Help Menu QMenu *const menu_help = new QMenu; @@ -199,7 +225,9 @@ void MainWindow::setup_ui() menu_bar->addAction(menu_file->menuAction()); menu_bar->addAction(menu_view->menuAction()); +#ifdef ENABLE_DECODE menu_bar->addAction(menu_decoders->menuAction()); +#endif menu_bar->addAction(menu_help->menuAction()); setMenuBar(menu_bar); @@ -211,6 +239,7 @@ void MainWindow::setup_ui() toolbar->addSeparator(); toolbar->addAction(action_view_zoom_in); toolbar->addAction(action_view_zoom_out); + toolbar->addAction(action_view_zoom_fit); addToolBar(toolbar); // Setup the sampling bar @@ -329,6 +358,16 @@ void MainWindow::on_actionViewZoomOut_triggered() _view->zoom(-1); } +void MainWindow::on_actionViewZoomFit_triggered() +{ + _view->zoom_fit(); +} + +void MainWindow::on_actionViewZoomOneToOne_triggered() +{ + _view->zoom_one_to_one(); +} + void MainWindow::on_actionViewShowCursors_triggered() { assert(_view); @@ -348,8 +387,12 @@ void MainWindow::on_actionAbout_triggered() void MainWindow::add_decoder(srd_decoder *decoder) { +#ifdef ENABLE_DECODE assert(decoder); _session.add_decoder(decoder); +#else + (void)decoder; +#endif } void MainWindow::run_stop()