#ifndef NUMBERATOR_H #define NUMBERATOR_H #include "aboutdialog.h" #include "sqlitebackend.h" #include "taglistmodel.h" #include "tagproptablemodel.h" #include "tagview.h" #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class Numberator; class TagListDock; } QT_END_NAMESPACE enum ToolType { SELECTION_TOOL, TAG_TOOL, MOVE_TOOL, EDIT_TOOL, NUM_TOOLS }; class Numberator : public QMainWindow { Q_OBJECT public: Numberator(QWidget *parent = nullptr); ~Numberator(); void setTool(ToolType tool); bool showConfirmDiscardDialog(); public slots: bool showSaveDialog(); /* return true if saved successfully (i.e. no error, not cancelled), false otherwise */ private: Ui::Numberator *ui; Ui::TagListDock *tagsDockUi; Ui::TagEditDialog *tagEditUi; QSettings settings; QFileDialog loadImageDialog, saveOpenDialog; AboutDialog aboutDialog; SQLiteSaveFile proj; TagListModel tagListModel; TagPropTableModel tagPropTableModel, dialogTagPropTableModel; Tag m_tagBeingEdited; ToolType m_activeTool = SELECTION_TOOL; }; #endif // NUMBERATOR_H