5 #include <QActionGroup>
6 #include <QFileSystemWatcher>
11 class Window : public QMainWindow
15 explicit Window(QWidget* parent=0);
16 bool load_stl(const QString& filename, bool is_reload=false);
21 void dragEnterEvent(QDragEnterEvent* event) override;
22 void dropEvent(QDropEvent* event) override;
23 void resizeEvent(QResizeEvent *event) override;
24 void moveEvent(QMoveEvent *event) override;
25 void keyPressEvent(QKeyEvent* event) override;
32 void on_missing_file();
37 void set_watched(const QString& filename);
40 void on_projection(QAction* proj);
41 void on_drawMode(QAction* mode);
42 void on_drawAxes(bool d);
43 void on_invertZoom(bool d);
44 void on_watched_change(const QString& filename);
46 void on_autoreload_triggered(bool r);
47 void on_clear_recent();
48 void on_load_recent(QAction* a);
49 void on_loaded(const QString& filename);
50 void on_save_screenshot();
51 void on_hide_menuBar();
54 void rebuild_recent_files();
55 void load_persist_settings();
56 void sorted_insert(QStringList& list, const QCollator& collator, const QString& value);
57 void build_folder_file_list();
58 QPair<QString, QString> get_file_neighbors();
60 QAction* const open_action;
61 QAction* const about_action;
62 QAction* const quit_action;
63 QAction* const perspective_action;
64 QAction* const orthographic_action;
65 QAction* const shaded_action;
66 QAction* const wireframe_action;
67 QAction* const surfaceangle_action;
68 QAction* const axes_action;
69 QAction* const invert_zoom_action;
70 QAction* const reload_action;
71 QAction* const autoreload_action;
72 QAction* const save_screenshot_action;
73 QAction* const hide_menuBar_action;
75 QMenu* const recent_files;
76 QActionGroup* const recent_files_group;
77 QAction* const recent_files_clear_action;
78 const static int MAX_RECENT_FILES=8;
79 const static QString RECENT_FILE_KEY;
80 const static QString INVERT_ZOOM_KEY;
81 const static QString AUTORELOAD_KEY;
82 const static QString DRAW_AXES_KEY;
83 const static QString PROJECTION_KEY;
84 const static QString DRAW_MODE_KEY;
85 const static QString WINDOW_GEOM_KEY;
88 QString lookup_folder;
89 QStringList lookup_folder_files;
91 QFileSystemWatcher* watcher;