]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.hpp
More preparation and some settings handling cleanup
[pulseview.git] / pv / mainwindow.hpp
index 6d92b270dc6394f4fd5c2a66bb604766044b8c98..6f3676c214f24c7343ed62bde29fe1446d1d036f 100644 (file)
@@ -30,8 +30,8 @@
 #include <QTabWidget>
 #include <QToolButton>
 
-#include "globalsettings.hpp"
 #include "session.hpp"
+#include "subwindows/subwindowbase.hpp"
 #include "views/viewbase.hpp"
 
 using std::list;
@@ -62,7 +62,7 @@ class DecoderMenu;
 #endif
 }
 
-class MainWindow : public QMainWindow, public GlobalSettingsInterface
+class MainWindow : public QMainWindow
 {
        Q_OBJECT
 
@@ -84,19 +84,21 @@ public:
 
        void remove_view(shared_ptr<views::ViewBase> view);
 
+       shared_ptr<subwindows::SubWindowBase> add_subwindow(
+               subwindows::SubWindowType type, Session &session);
+
        shared_ptr<Session> add_session();
 
        void remove_session(shared_ptr<Session> session);
 
-       void add_session_with_file(string open_file_name, string open_file_format);
+       void add_session_with_file(string open_file_name, string open_file_format,
+               string open_setup_file_name);
 
        void add_default_session();
 
        void save_sessions();
        void restore_sessions();
 
-       void on_setting_changed(const QString &key, const QVariant &value);
-
 private:
        void setup_ui();
 
@@ -131,15 +133,14 @@ private Q_SLOTS:
        void on_tab_changed(int index);
        void on_tab_close_requested(int index);
 
+       void on_show_decoder_selector(Session *session);
+       void on_sub_window_close_clicked();
+
        void on_view_colored_bg_shortcut();
        void on_view_sticky_scrolling_shortcut();
        void on_view_show_sampling_points_shortcut();
        void on_view_show_analog_minor_grid_shortcut();
 
-       void on_settingViewColoredBg_changed(const QVariant new_value);
-       void on_settingViewShowSamplingPoints_changed(const QVariant new_value);
-       void on_settingViewShowAnalogMinorGrid_changed(const QVariant new_value);
-
        void on_close_current_tab();
 
 private:
@@ -149,6 +150,7 @@ private:
        shared_ptr<Session> last_focused_session_;
 
        map< QDockWidget*, shared_ptr<views::ViewBase> > view_docks_;
+       map< QDockWidget*, shared_ptr<subwindows::SubWindowBase> > sub_windows_;
 
        map< shared_ptr<Session>, QMainWindow*> session_windows_;