X-Git-Url: https://git.sur5r.net/?p=fstl;a=blobdiff_plain;f=src%2Fwindow.h;h=8619b4d96d323a1deaeda786636279c602b04884;hp=fd0a77001e4eac827951c8fa9344c6c268d2a10e;hb=refs%2Fheads%2Fupstream;hpb=5dd213695da2eb22219ac5143aa8b5cfe7c89559 diff --git a/src/window.h b/src/window.h index fd0a770..81cd29f 100644 --- a/src/window.h +++ b/src/window.h @@ -4,6 +4,7 @@ #include #include #include +#include class Canvas; @@ -13,10 +14,15 @@ class Window : public QMainWindow public: explicit Window(QWidget* parent=0); bool load_stl(const QString& filename, bool is_reload=false); + bool load_prev(void); + bool load_next(void); protected: - void dragEnterEvent(QDragEnterEvent* event); - void dropEvent(QDropEvent* event); + void dragEnterEvent(QDragEnterEvent* event) override; + void dropEvent(QDropEvent* event) override; + void resizeEvent(QResizeEvent *event) override; + void moveEvent(QMoveEvent *event) override; + void keyPressEvent(QKeyEvent* event) override; public slots: void on_open(); @@ -24,7 +30,6 @@ public slots: void on_bad_stl(); void on_empty_mesh(); void on_missing_file(); - void on_confusing_stl(); void enable_open(); void disable_open(); @@ -33,28 +38,55 @@ public slots: private slots: void on_projection(QAction* proj); + void on_drawMode(QAction* mode); + void on_drawAxes(bool d); + void on_invertZoom(bool d); void on_watched_change(const QString& filename); void on_reload(); void on_autoreload_triggered(bool r); void on_clear_recent(); void on_load_recent(QAction* a); + void on_loaded(const QString& filename); + void on_save_screenshot(); + void on_hide_menuBar(); private: void rebuild_recent_files(); + void load_persist_settings(); + void sorted_insert(QStringList& list, const QCollator& collator, const QString& value); + void build_folder_file_list(); + QPair get_file_neighbors(); QAction* const open_action; QAction* const about_action; QAction* const quit_action; QAction* const perspective_action; - QAction* const orthogonal_action; + QAction* const orthographic_action; + QAction* const shaded_action; + QAction* const wireframe_action; + QAction* const surfaceangle_action; + QAction* const axes_action; + QAction* const invert_zoom_action; QAction* const reload_action; QAction* const autoreload_action; + QAction* const save_screenshot_action; + QAction* const hide_menuBar_action; QMenu* const recent_files; QActionGroup* const recent_files_group; QAction* const recent_files_clear_action; const static int MAX_RECENT_FILES=8; const static QString RECENT_FILE_KEY; + const static QString INVERT_ZOOM_KEY; + const static QString AUTORELOAD_KEY; + const static QString DRAW_AXES_KEY; + const static QString PROJECTION_KEY; + const static QString DRAW_MODE_KEY; + const static QString WINDOW_GEOM_KEY; + + QString current_file; + QString lookup_folder; + QStringList lookup_folder_files; QFileSystemWatcher* watcher;