[LyX/master] Show modified text in merge changes dialog as far as possible
Juergen Spitzmueller
spitz at lyx.org
Thu Dec 26 10:01:21 UTC 2019
commit 90ae998287623b14cef1c75f8385063023a77c00
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Dec 26 11:17:09 2019 +0100
Show modified text in merge changes dialog as far as possible
Fixes #1362
---
src/frontends/qt/GuiChanges.cpp | 28 ++++++++++++++++++++++------
1 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/src/frontends/qt/GuiChanges.cpp b/src/frontends/qt/GuiChanges.cpp
index 150d8a1..c1f331f 100644
--- a/src/frontends/qt/GuiChanges.cpp
+++ b/src/frontends/qt/GuiChanges.cpp
@@ -24,8 +24,10 @@
#include "BufferParams.h"
#include "BufferView.h"
#include "Changes.h"
+#include "Cursor.h"
#include "FuncRequest.h"
#include "LyXRC.h"
+#include "Text.h"
#include <QDateTime>
#include <QTextBrowser>
@@ -65,26 +67,40 @@ void GuiChanges::updateContents()
bool const changePresent = c.type != Change::UNCHANGED;
rejectPB->setEnabled(changePresent);
acceptPB->setEnabled(changePresent);
+ bool const inserted = c.type == Change::INSERTED;
QString text;
if (changePresent) {
QString const author =
toqstr(buffer().params().authors().get(c.author).nameAndEmail());
if (!author.isEmpty())
- text += (c.type == Change::INSERTED) ? qt_("Inserted by %1").arg(author)
- : qt_("Deleted by %1").arg(author);
+ text += inserted ? qt_("Inserted by %1").arg(author)
+ : qt_("Deleted by %1").arg(author);
QString const date = QDateTime::fromTime_t(c.changetime)
.toString(Qt::DefaultLocaleLongDate);
if (!date.isEmpty()) {
if (!author.isEmpty())
- text += qt_(" on[[date]] %1\n").arg(date);
+ text += qt_(" on[[date]] %1").arg(date);
else
- text += (c.type == Change::INSERTED) ? qt_("Inserted on %1\n").arg(date)
- : qt_("Deleted on %1\n").arg(date);
+ text += inserted ? qt_("Inserted on %1").arg(date)
+ : qt_("Deleted on %1").arg(date);
+ }
+ QString changedcontent = toqstr(bufferview()->cursor().selectionAsString(false));
+ if (!changedcontent.isEmpty()) {
+ text += ":<br><br><b>";
+ if (inserted)
+ text += "<u><span style=\"color:blue\">";
+ else
+ text += "<s><span style=\"color:red\">";
+ text += changedcontent;
+ if (inserted)
+ text += "</u></span></b>";
+ else
+ text += "</s></span></b>";
}
}
- changeTB->setPlainText(text);
+ changeTB->setHtml(text);
}
More information about the lyx-cvs
mailing list