summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2012-07-01 08:46:48 (GMT)
committerKevin Smith <git@kismith.co.uk>2012-07-01 08:46:48 (GMT)
commit8af3fb34b9f5d9148d81b4f0d836b486e075f053 (patch)
tree41c70808b84871aaff85846d5e95960b835208d3
parenta30f64bc07df14f7f9b4af0dadf20d7f8173560c (diff)
downloadswift-8af3fb34b9f5d9148d81b4f0d836b486e075f053.zip
swift-8af3fb34b9f5d9148d81b4f0d836b486e075f053.tar.bz2
Don't allow labels to be lost or changed during correction.
Resolves: #871
-rw-r--r--Swift/QtUI/QtChatView.cpp2
-rw-r--r--Swift/QtUI/QtChatWindow.cpp8
2 files changed, 6 insertions, 4 deletions
diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp
index a55161f..49e5974 100644
--- a/Swift/QtUI/QtChatView.cpp
+++ b/Swift/QtUI/QtChatView.cpp
@@ -169,7 +169,7 @@ void QtChatView::replaceMessage(const QString& newMessage, const QString& id, co
rememberScrolledToBottom();
QWebElement message = document_.findFirst("#" + id);
if (!message.isNull()) {
- QWebElement replaceContent = message.findFirst("span.swift_message");
+ QWebElement replaceContent = message.findFirst("span.swift_inner_message");
assert(!replaceContent.isNull());
QString old = replaceContent.toOuterXml();
replaceContent.setInnerXml(ChatSnippet::escape(newMessage));
diff --git a/Swift/QtUI/QtChatWindow.cpp b/Swift/QtUI/QtChatWindow.cpp
index 0d329d6..d20c627 100644
--- a/Swift/QtUI/QtChatWindow.cpp
+++ b/Swift/QtUI/QtChatWindow.cpp
@@ -275,6 +275,7 @@ void QtChatWindow::beginCorrection() {
isCorrection_ = true;
correctingLabel_->show();
input_->setStyleSheet(alertStyleSheet_);
+ labelsWidget_->setEnabled(false);
}
void QtChatWindow::cancelCorrection() {
@@ -285,6 +286,7 @@ void QtChatWindow::cancelCorrection() {
isCorrection_ = false;
correctingLabel_->hide();
input_->setStyleSheet(qApp->styleSheet());
+ labelsWidget_->setEnabled(true);
}
QByteArray QtChatWindow::getSplitterState() {
@@ -488,8 +490,8 @@ std::string QtChatWindow::addMessage(const std::string &message, const std::stri
QString htmlString;
if (label) {
- htmlString = QString("<span style=\"border: thin dashed grey; padding-left: .5em; padding-right: .5em; color: %1; background-color: %2; font-size: 90%; margin-right: .5em; \">").arg(Qt::escape(P2QSTRING(label->getForegroundColor()))).arg(Qt::escape(P2QSTRING(label->getBackgroundColor())));
- htmlString += QString("%3</span> ").arg(Qt::escape(P2QSTRING(label->getDisplayMarking())));
+ htmlString = QString("<span style=\"border: thin dashed grey; padding-left: .5em; padding-right: .5em; color: %1; background-color: %2; font-size: 90%; margin-right: .5em; \" class='swift_label'>").arg(Qt::escape(P2QSTRING(label->getForegroundColor()))).arg(Qt::escape(P2QSTRING(label->getBackgroundColor())));
+ htmlString += QString("%1</span> ").arg(Qt::escape(P2QSTRING(label->getDisplayMarking())));
}
QString messageHTML(P2QSTRING(message));
messageHTML = Qt::escape(messageHTML);
@@ -506,7 +508,7 @@ std::string QtChatWindow::addMessage(const std::string &message, const std::stri
messageHTML.replace("\n","<br/>");
QString styleSpanStart = style == "" ? "" : "<span style=\"" + style + "\">";
QString styleSpanEnd = style == "" ? "" : "</span>";
- htmlString += styleSpanStart + messageHTML + styleSpanEnd;
+ htmlString += "<span class='swift_inner_message'>" + styleSpanStart + messageHTML + styleSpanEnd + "</span>" ;
bool appendToPrevious = appendToPreviousCheck(PreviousMessageWasMessage, senderName, senderIsSelf);
if (lastLineTracker_.getShouldMoveLastLine()) {