public:
explicit MainWindow(DeviceManager &device_manager,
- const char *open_file_name = nullptr,
+ std::string open_file_name = std::string(),
+ std::string open_file_format = std::string(),
QWidget *parent = 0);
QAction* action_open() const;
QAction* action_save_as() const;
+ QAction* action_save_selection_as() const;
QAction* action_connect() const;
QAction* action_quit() const;
QAction* action_view_zoom_in() const;
QAction* action_view_zoom_out() const;
QAction* action_view_zoom_fit() const;
QAction* action_view_zoom_one_to_one() const;
+ QAction* action_view_sticky_scrolling() const;
+ QAction* action_view_coloured_bg() const;
QAction* action_view_show_cursors() const;
QAction* action_about() const;
void select_device(std::shared_ptr<devices::Device> device);
public Q_SLOTS:
- void export_file(std::shared_ptr<sigrok::OutputFormat> format);
+ void export_file(std::shared_ptr<sigrok::OutputFormat> format,
+ bool selection_only = false);
void import_file(std::shared_ptr<sigrok::InputFormat> format);
private:
void setup_ui();
+ void select_init_device();
+
+ void load_init_file(const std::string &file_name,
+ const std::string &format);
+
void save_ui_settings();
void restore_ui_settings();
*/
void update_device_list();
+ void load_file(QString file_name,
+ std::shared_ptr<sigrok::InputFormat> format = nullptr,
+ const std::map<std::string, Glib::VariantBase> &options =
+ std::map<std::string, Glib::VariantBase>());
+
+ void save_selection_to_file();
+
private:
void closeEvent(QCloseEvent *event);
void keyReleaseEvent(QKeyEvent *event);
private Q_SLOTS:
- void load_file(QString file_name,
- std::shared_ptr<sigrok::InputFormat> format = nullptr,
- const std::map<std::string, Glib::VariantBase> &options =
- std::map<std::string, Glib::VariantBase>());
-
void show_session_error(
const QString text, const QString info_text);
void on_actionOpen_triggered();
void on_actionSaveAs_triggered();
+ void on_actionSaveSelectionAs_triggered();
void on_actionQuit_triggered();
void on_actionConnect_triggered();
void on_actionViewZoomOneToOne_triggered();
+ void on_actionViewStickyScrolling_triggered();
+
+ void on_actionViewColouredBg_triggered();
+
void on_actionViewShowCursors_triggered();
void on_actionAbout_triggered();
void capture_state_changed(int state);
void device_selected();
+ void sticky_scrolling_changed(bool state);
+
+ void always_zoom_to_fit_changed(bool state);
+
private:
DeviceManager &device_manager_;
QAction *const action_open_;
QAction *const action_save_as_;
+ QAction *const action_save_selection_as_;
QAction *const action_connect_;
QAction *const action_quit_;
QAction *const action_view_zoom_in_;
QAction *const action_view_zoom_out_;
QAction *const action_view_zoom_fit_;
QAction *const action_view_zoom_one_to_one_;
+ QAction *const action_view_sticky_scrolling_;
+ QAction *const action_view_coloured_bg_;
QAction *const action_view_show_cursors_;
QAction *const action_about_;