vnote/vedit.cpp
Le Tan 5506cec07b adjust QTextEdit property in VEdit
Signed-off-by: Le Tan <tamlokveer@gmail.com>
2016-10-17 21:15:02 +08:00

78 lines
1.7 KiB
C++

#include <QtWidgets>
#include "vedit.h"
#include "vnote.h"
#include "vconfigmanager.h"
extern VConfigManager vconfig;
VEdit::VEdit(VNoteFile *noteFile, QWidget *parent)
: QTextEdit(parent), noteFile(noteFile)
{
if (noteFile->docType == DocType::Markdown) {
setPalette(vconfig.getMdEditPalette());
setFont(vconfig.getMdEditFont());
setAcceptRichText(false);
} else {
setFont(vconfig.getBaseEditFont());
setAutoFormatting(QTextEdit::AutoBulletList);
}
}
void VEdit::beginEdit()
{
setReadOnly(false);
switch (noteFile->docType) {
case DocType::Html:
setHtml(noteFile->content);
break;
case DocType::Markdown:
setFont(vconfig.getMdEditFont());
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);
}
}