vedit.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include <QtWidgets>
  2. #include "vedit.h"
  3. VEdit::VEdit(VNoteFile *noteFile, QWidget *parent)
  4. : QTextEdit(parent), noteFile(noteFile)
  5. {
  6. }
  7. void VEdit::beginEdit()
  8. {
  9. setReadOnly(false);
  10. switch (noteFile->docType) {
  11. case DocType::Html:
  12. setHtml(noteFile->content);
  13. break;
  14. case DocType::Markdown:
  15. setPlainText(noteFile->content);
  16. break;
  17. default:
  18. qWarning() << "error: unknown doc type" << int(noteFile->docType);
  19. }
  20. }
  21. bool VEdit::tryEndEdit()
  22. {
  23. return !document()->isModified();
  24. }
  25. void VEdit::beginSave()
  26. {
  27. if (!document()->isModified()) {
  28. return;
  29. }
  30. switch (noteFile->docType) {
  31. case DocType::Html:
  32. noteFile->content = toHtml();
  33. break;
  34. case DocType::Markdown:
  35. break;
  36. default:
  37. qWarning() << "error: unknown doc type" << int(noteFile->docType);
  38. }
  39. }
  40. void VEdit::endSave()
  41. {
  42. document()->setModified(false);
  43. }
  44. void VEdit::reloadFile()
  45. {
  46. switch (noteFile->docType) {
  47. case DocType::Html:
  48. setHtml(noteFile->content);
  49. break;
  50. case DocType::Markdown:
  51. setPlainText(noteFile->content);
  52. break;
  53. default:
  54. qWarning() << "error: unknown doc type" << int(noteFile->docType);
  55. }
  56. }