#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "imageringlist.h" #include "imagescrollarea.h" #include "database.h" #include "imageinfo.h" #include "imagescrollareagl.h" #include "filesystemwidget.h" #include "stretchtoolbar.h" #include "databaseview.h" class MainWindow : public QMainWindow { Q_OBJECT ImageScrollArea *m_image; ImageScrollAreaGL *m_imageGL; ImageRingList *m_ringList; StretchToolbar *m_stretchPanel; Database *m_database; ImageInfo *m_info; FilesystemWidget *m_filesystem; Filetree *m_filetree; DataBaseView *m_databaseView; static int socketPair[2]; QSocketNotifier *socketNotifier; QString _lastDir; bool _maximized; public: MainWindow(QWidget *parent = 0); ~MainWindow() override; protected: void keyPressEvent(QKeyEvent *event) override; void keyReleaseEvent(QKeyEvent *event) override; void setupSigterm(); static void signalHandler(int); void closeEvent(QCloseEvent *event) override; void copyOrMove(bool copy); void copyOrMove(bool copy, const QString &dest); protected slots: void socketNotify(); void updateWindowTitle(); void pixmapLoaded(Image *image); void loadFile(); void loadFile(const QString &path); void loadFile(int row); void indexDir(); void indexDir(const QString &dir); void reindex(); void saveAs(); void convert(const QString &outfile); void markImage(); void unmarkImage(); void markAndNext(); void unmarkAndNext(); void copyMarked(); void moveMarked(); void toggleFullScreen(); void liveMode(bool active); void imageStats(bool imageStats); void peakFinder(bool findPeaks); void starFinder(bool findStars); void showMarkFilesDialog(); }; #endif // MAINWINDOW_H