mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 05:49:53 +08:00
67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#include <QtWidgets>
|
|
#include "vedit.h"
|
|
#include "vnote.h"
|
|
|
|
VEdit::VEdit(VNoteFile *noteFile, QWidget *parent)
|
|
: QTextEdit(parent), noteFile(noteFile)
|
|
{
|
|
setFont(VNote::editorAndBrowserFont);
|
|
}
|
|
|
|
void VEdit::beginEdit()
|
|
{
|
|
setReadOnly(false);
|
|
switch (noteFile->docType) {
|
|
case DocType::Html:
|
|
setHtml(noteFile->content);
|
|
break;
|
|
case DocType::Markdown:
|
|
setPlainText(noteFile->content);
|
|
break;
|
|
default:
|
|
qWarning() << "error: unknown doc type" << int(noteFile->docType);
|
|
}
|
|
}
|
|
|
|
bool VEdit::tryEndEdit()
|
|
{
|
|
return !document()->isModified();
|
|
}
|
|
|
|
void VEdit::beginSave()
|
|
{
|
|
if (!document()->isModified()) {
|
|
return;
|
|
}
|
|
|
|
switch (noteFile->docType) {
|
|
case DocType::Html:
|
|
noteFile->content = toHtml();
|
|
break;
|
|
case DocType::Markdown:
|
|
noteFile->content = toPlainText();
|
|
break;
|
|
default:
|
|
qWarning() << "error: unknown doc type" << int(noteFile->docType);
|
|
}
|
|
}
|
|
|
|
void VEdit::endSave()
|
|
{
|
|
document()->setModified(false);
|
|
}
|
|
|
|
void VEdit::reloadFile()
|
|
{
|
|
switch (noteFile->docType) {
|
|
case DocType::Html:
|
|
setHtml(noteFile->content);
|
|
break;
|
|
case DocType::Markdown:
|
|
setPlainText(noteFile->content);
|
|
break;
|
|
default:
|
|
qWarning() << "error: unknown doc type" << int(noteFile->docType);
|
|
}
|
|
}
|