summaryrefslogtreecommitdiff
path: root/src/modinfodialogtab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modinfodialogtab.cpp')
-rw-r--r--src/modinfodialogtab.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/modinfodialogtab.cpp b/src/modinfodialogtab.cpp
index ae0de5e8..b59f4dcc 100644
--- a/src/modinfodialogtab.cpp
+++ b/src/modinfodialogtab.cpp
@@ -1,4 +1,6 @@
#include "modinfodialogtab.h"
+#include "ui_modinfodialog.h"
+#include "texteditor.h"
ModInfoDialogTab::ModInfoDialogTab(
OrganizerCore& oc, PluginContainer& plugin,
@@ -73,3 +75,40 @@ void ModInfoDialogTab::emitModOpen(QString name)
{
emit modOpen(name);
}
+
+
+NotesTab::NotesTab(
+ OrganizerCore& oc, PluginContainer& plugin,
+ QWidget* parent, Ui::ModInfoDialog* ui)
+ : ModInfoDialogTab(oc, plugin, parent, ui)
+{
+ connect(ui->commentsEdit, &QLineEdit::editingFinished, [&]{ onComments(); });
+ connect(ui->notesEdit, &HTMLEditor::editingFinished, [&]{ onNotes(); });
+}
+
+void NotesTab::clear()
+{
+ ui->commentsEdit->clear();
+ ui->notesEdit->clear();
+}
+
+void NotesTab::update()
+{
+ ui->commentsEdit->setText(mod()->comments());
+ ui->notesEdit->setText(mod()->notes());
+}
+
+void NotesTab::onComments()
+{
+ mod()->setComments(ui->commentsEdit->text());
+}
+
+void NotesTab::onNotes()
+{
+ // Avoid saving html stub if notes field is empty.
+ if (ui->notesEdit->toPlainText().isEmpty()) {
+ mod()->setNotes({});
+ } else {
+ mod()->setNotes(ui->notesEdit->toHtml());
+ }
+}