veditor.h 946 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef VEDITOR_H
  2. #define VEDITOR_H
  3. #include <QStackedWidget>
  4. #include <QString>
  5. #include "vconstants.h"
  6. #include "vnotefile.h"
  7. #include "vdocument.h"
  8. class QTextBrowser;
  9. class VEdit;
  10. class QWebEngineView;
  11. class HGMarkdownHighlighter;
  12. class VEditor : public QStackedWidget
  13. {
  14. public:
  15. VEditor(const QString &path, const QString &name, bool modifiable,
  16. QWidget *parent = 0);
  17. ~VEditor();
  18. bool requestClose();
  19. // Enter edit mode
  20. void editFile();
  21. // Enter read mode
  22. void readFile();
  23. // Save file
  24. bool saveFile();
  25. private:
  26. bool isMarkdown(const QString &name);
  27. void setupUI();
  28. void showFileReadMode();
  29. void showFileEditMode();
  30. void setupMarkdownPreview();
  31. VNoteFile *noteFile;
  32. bool isEditMode;
  33. QTextBrowser *textBrowser;
  34. VEdit *textEditor;
  35. QWebEngineView *webPreviewer;
  36. VDocument document;
  37. HGMarkdownHighlighter *mdHighlighter;
  38. };
  39. #endif // VEDITOR_H