From 7f321edd9ada1f531b1fbc3325ef61449218f40c Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Mon, 26 Oct 2015 14:00:29 +0100 Subject: Only highlight text if a highlight color is set This commit has the default rule set the default color and changes HighlightAction::highlightText_ symbol to HighlightAction::highlightWholeMessage_ as it is more descriptive of its use. Test-Information: Tested highlighting with the default rule set, and one with a highlight color set for the chat rule. Change-Id: Ic638e6347bdf6623ab5959341486233494f005f0 diff --git a/Swift/Controllers/HighlightAction.cpp b/Swift/Controllers/HighlightAction.cpp index 80d9d85..4603408 100644 --- a/Swift/Controllers/HighlightAction.cpp +++ b/Swift/Controllers/HighlightAction.cpp @@ -14,10 +14,10 @@ namespace Swift { -void HighlightAction::setHighlightAllText(bool highlightText) +void HighlightAction::setHighlightWholeMessage(bool highlightText) { - highlightText_ = highlightText; - if (!highlightText_) { + highlightWholeMessage_ = highlightText; + if (!highlightWholeMessage_) { textColor_.clear(); textBackground_.clear(); } @@ -32,7 +32,7 @@ void HighlightAction::setPlaySound(bool playSound) } bool operator ==(HighlightAction const& a, HighlightAction const& b) { - if (a.highlightAllText() != b.highlightAllText()) { + if (a.highlightWholeMessage() != b.highlightWholeMessage()) { return false; } diff --git a/Swift/Controllers/HighlightAction.h b/Swift/Controllers/HighlightAction.h index a9e0cee..3930eee 100644 --- a/Swift/Controllers/HighlightAction.h +++ b/Swift/Controllers/HighlightAction.h @@ -14,8 +14,8 @@ #include -#include #include +#include namespace Swift { @@ -23,13 +23,13 @@ namespace Swift { class HighlightAction { public: - HighlightAction() : highlightText_(false), playSound_(false) {} + HighlightAction() : highlightWholeMessage_(false), playSound_(false) {} /** * Gets the flag that indicates the entire message should be highlighted. */ - bool highlightAllText() const { return highlightText_; } - void setHighlightAllText(bool highlightText); + bool highlightWholeMessage() const { return highlightWholeMessage_; } + void setHighlightWholeMessage(bool highlightText); /** * Gets the foreground highlight color. @@ -52,13 +52,13 @@ namespace Swift { const std::string& getSoundFile() const { return soundFile_; } void setSoundFile(const std::string& soundFile) { soundFile_ = soundFile; } - bool isEmpty() const { return !highlightText_ && !playSound_; } + bool isEmpty() const { return !highlightWholeMessage_ && !playSound_; } private: friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version); - bool highlightText_; + bool highlightWholeMessage_; std::string textColor_; std::string textBackground_; @@ -72,7 +72,7 @@ namespace Swift { template void HighlightAction::serialize(Archive& ar, const unsigned int /*version*/) { - ar & highlightText_; + ar & highlightWholeMessage_; ar & textColor_; ar & textBackground_; ar & playSound_; diff --git a/Swift/Controllers/HighlightManager.cpp b/Swift/Controllers/HighlightManager.cpp index ed49e72..e5c8cef 100644 --- a/Swift/Controllers/HighlightManager.cpp +++ b/Swift/Controllers/HighlightManager.cpp @@ -10,21 +10,23 @@ * See the COPYING file for more information. */ +#include + #include #include -#include +#include +#include #include #include +#include #include -#include -#include #include -#include + #include -#include #include +#include /* How does highlighting work? * diff --git a/Swift/QtUI/QtHighlightEditor.cpp b/Swift/QtUI/QtHighlightEditor.cpp index 50d1f78..1d47c4e 100644 --- a/Swift/QtUI/QtHighlightEditor.cpp +++ b/Swift/QtUI/QtHighlightEditor.cpp @@ -427,7 +427,7 @@ HighlightRule QtHighlightEditor::ruleFromDialog() } if (ui_.allMsgRadio->isChecked()) { - action.setHighlightAllText(true); + action.setHighlightWholeMessage(true); } if (ui_.senderRadio->isChecked()) { @@ -436,7 +436,7 @@ HighlightRule QtHighlightEditor::ruleFromDialog() std::vector senders; senders.push_back(Q2PSTRING(senderName)); rule.setSenders(senders); - action.setHighlightAllText(true); + action.setHighlightWholeMessage(true); } } diff --git a/Swift/QtUI/QtWebKitChatView.cpp b/Swift/QtUI/QtWebKitChatView.cpp index f1278b8..7e0e505 100644 --- a/Swift/QtUI/QtWebKitChatView.cpp +++ b/Swift/QtUI/QtWebKitChatView.cpp @@ -623,8 +623,10 @@ std::string QtWebKitChatView::addMessage( QString styleSpanStart = style == "" ? "" : ""; QString styleSpanEnd = style == "" ? "" : ""; - QString highlightSpanStart = highlight.highlightAllText() ? getHighlightSpanStart(highlight) : ""; - QString highlightSpanEnd = highlight.highlightAllText() ? "" : ""; + + bool highlightWholeMessage = highlight.highlightWholeMessage() && highlight.getTextBackground() != "" && highlight.getTextColor() != ""; + QString highlightSpanStart = highlightWholeMessage ? getHighlightSpanStart(highlight) : ""; + QString highlightSpanEnd = highlightWholeMessage ? "" : ""; htmlString += "" + styleSpanStart + highlightSpanStart + message + highlightSpanEnd + styleSpanEnd + "" ; bool appendToPrevious = appendToPreviousCheck(PreviousMessageWasMessage, senderName, senderIsSelf); @@ -871,8 +873,8 @@ void QtWebKitChatView::replaceMessage(const QString& message, const std::string& QString styleSpanStart = style == "" ? "" : ""; QString styleSpanEnd = style == "" ? "" : ""; - QString highlightSpanStart = highlight.highlightAllText() ? getHighlightSpanStart(highlight) : ""; - QString highlightSpanEnd = highlight.highlightAllText() ? "" : ""; + QString highlightSpanStart = highlight.highlightWholeMessage() ? getHighlightSpanStart(highlight) : ""; + QString highlightSpanEnd = highlight.highlightWholeMessage() ? "" : ""; messageHTML = styleSpanStart + highlightSpanStart + messageHTML + highlightSpanEnd + styleSpanEnd; replaceMessage(messageHTML, P2QSTRING(id), B2QDATE(time)); -- cgit v0.10.2-6-g49f6