#include <QVBoxLayout>
#include <QWidget>
-#include "about.h"
#include "mainwindow.h"
#include "samplingbar.h"
-#include "pv/view/view.h"
+#include "dialogs/about.h"
+#include "view/view.h"
extern "C" {
/* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */
_action_about->setObjectName(QString::fromUtf8("actionAbout"));
_action_view_zoom_in = new QAction(this);
- _action_view_zoom_in->setIcon(QIcon::fromTheme("zoom-in"));
+ _action_view_zoom_in->setIcon(QIcon::fromTheme("zoom-in",
+ QIcon(":/icons/zoom-in.png")));
_action_view_zoom_in->setObjectName(QString::fromUtf8("actionViewZoomIn"));
_action_view_zoom_out = new QAction(this);
- _action_view_zoom_out->setIcon(QIcon::fromTheme("zoom-out"));
+ _action_view_zoom_out->setIcon(QIcon::fromTheme("zoom-out",
+ QIcon(":/icons/zoom-out.png")));
_action_view_zoom_out->setObjectName(QString::fromUtf8("actionViewZoomOut"));
_action_view_show_cursors = new QAction(this);
_action_view_show_cursors->setObjectName(QString::fromUtf8("actionViewShowCursors"));
_action_open = new QAction(this);
- _action_open->setIcon(QIcon::fromTheme("document-open"));
+ _action_open->setIcon(QIcon::fromTheme("document-open",
+ QIcon(":/icons/document-open.png")));
_action_open->setObjectName(QString::fromUtf8("actionOpen"));
// Setup the menu bar
_menu_file->setTitle(QApplication::translate("MainWindow", "&File", 0, QApplication::UnicodeUTF8));
_menu_view->setTitle(QApplication::translate("MainWindow", "&View", 0, QApplication::UnicodeUTF8));
_menu_help->setTitle(QApplication::translate("MainWindow", "&Help", 0, QApplication::UnicodeUTF8));
+
+ // Setup _session events
+ connect(&_session, SIGNAL(capture_state_changed(int)), this,
+ SLOT(capture_state_changed(int)));
+
}
void MainWindow::on_actionOpen_triggered()
void MainWindow::on_actionAbout_triggered()
{
- About dlg(this);
+ dialogs::About dlg(this);
dlg.exec();
}
void MainWindow::run_stop()
{
- _session.start_capture(
- _sampling_bar->get_selected_device(),
- _sampling_bar->get_record_length(),
- _sampling_bar->get_sample_rate());
+ switch(_session.get_capture_state()) {
+ case SigSession::Stopped:
+ _session.start_capture(
+ _sampling_bar->get_selected_device(),
+ _sampling_bar->get_record_length(),
+ _sampling_bar->get_sample_rate());
+ break;
+
+ case SigSession::Running:
+ _session.stop_capture();
+ break;
+ }
+}
+
+void MainWindow::capture_state_changed(int state)
+{
+ _sampling_bar->set_sampling(state != SigSession::Stopped);
}
} // namespace pv