X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=ddaeeda977c5ba8ad42769179fd084fa78d889c0;hb=0fbda3c2dda9357776afa15e99c037eb0cc97214;hp=6cb482873baee69b1e9fde71634aeba27649da61;hpb=d1e7d82c6327c15f38d66602e65c4d3abe114df7;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 6cb4828..ddaeeda 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 @@ -39,10 +41,13 @@ #include "devicemanager.h" #include "dialogs/about.h" #include "dialogs/connect.h" +#include "dialogs/storeprogress.h" #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 +57,7 @@ #include #include -using namespace boost; -using namespace std; +using std::list; namespace pv { @@ -117,6 +121,14 @@ void MainWindow::setup_ui() action_open->setObjectName(QString::fromUtf8("actionOpen")); menu_file->addAction(action_open); + QAction *const action_save_as = new QAction(this); + action_save_as->setText(QApplication::translate( + "MainWindow", "&Save As...", 0, QApplication::UnicodeUTF8)); + action_save_as->setIcon(QIcon::fromTheme("document-save-as", + QIcon(":/icons/document-save-as.png"))); + action_save_as->setObjectName(QString::fromUtf8("actionSaveAs")); + menu_file->addAction(action_save_as); + menu_file->addSeparator(); QAction *const action_connect = new QAction(this); @@ -194,6 +206,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)); @@ -206,6 +219,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; @@ -220,7 +234,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); @@ -321,6 +337,24 @@ void MainWindow::on_actionOpen_triggered() load_file(file_name); } +void MainWindow::on_actionSaveAs_triggered() +{ + using pv::dialogs::StoreProgress; + + // Stop any currently running capture session + _session.stop_capture(); + + // Show the dialog + const QString file_name = QFileDialog::getSaveFileName( + this, tr("Save File"), "", tr("Sigrok Sessions (*.sr)")); + + if (file_name.isEmpty()) + return; + + StoreProgress *dlg = new StoreProgress(file_name, _session, this); + dlg->run(); +} + void MainWindow::on_actionConnect_triggered() { // Stop any currently running capture session @@ -380,8 +414,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()