diff options
author | Tobias Markmann <tm@ayena.de> | 2015-10-26 13:00:29 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2015-10-30 15:50:52 (GMT) |
commit | 7f321edd9ada1f531b1fbc3325ef61449218f40c (patch) | |
tree | f0a1998447a41fa2cedff39edd1c179eefb4b298 | |
parent | 50a3962e4d0b16fd0316be54121cfb293c3117bd (diff) | |
download | swift-7f321edd9ada1f531b1fbc3325ef61449218f40c.zip swift-7f321edd9ada1f531b1fbc3325ef61449218f40c.tar.bz2 |
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
-rw-r--r-- | Swift/Controllers/HighlightAction.cpp | 8 | ||||
-rw-r--r-- | Swift/Controllers/HighlightAction.h | 14 | ||||
-rw-r--r-- | Swift/Controllers/HighlightManager.cpp | 12 | ||||
-rw-r--r-- | Swift/QtUI/QtHighlightEditor.cpp | 4 | ||||
-rw-r--r-- | Swift/QtUI/QtWebKitChatView.cpp | 10 |
5 files changed, 26 insertions, 22 deletions
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 <string> -#include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_iarchive.hpp> +#include <boost/archive/text_oarchive.hpp> 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<class Archive> 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<class Archive> 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 <Swift/Controllers/HighlightManager.h> + #include <cassert> #include <boost/algorithm/string.hpp> -#include <boost/regex.hpp> +#include <boost/archive/text_iarchive.hpp> +#include <boost/archive/text_oarchive.hpp> #include <boost/bind.hpp> #include <boost/numeric/conversion/cast.hpp> +#include <boost/regex.hpp> #include <boost/serialization/vector.hpp> -#include <boost/archive/text_oarchive.hpp> -#include <boost/archive/text_iarchive.hpp> #include <Swiften/Base/foreach.h> -#include <Swift/Controllers/HighlightManager.h> + #include <Swift/Controllers/Highlighter.h> -#include <Swift/Controllers/Settings/SettingsProvider.h> #include <Swift/Controllers/SettingConstants.h> +#include <Swift/Controllers/Settings/SettingsProvider.h> /* 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<std::string> 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 == "" ? "" : "<span style=\"" + style + "\">"; QString styleSpanEnd = style == "" ? "" : "</span>"; - QString highlightSpanStart = highlight.highlightAllText() ? getHighlightSpanStart(highlight) : ""; - QString highlightSpanEnd = highlight.highlightAllText() ? "</span>" : ""; + + bool highlightWholeMessage = highlight.highlightWholeMessage() && highlight.getTextBackground() != "" && highlight.getTextColor() != ""; + QString highlightSpanStart = highlightWholeMessage ? getHighlightSpanStart(highlight) : ""; + QString highlightSpanEnd = highlightWholeMessage ? "</span>" : ""; htmlString += "<span class='swift_inner_message'>" + styleSpanStart + highlightSpanStart + message + highlightSpanEnd + styleSpanEnd + "</span>" ; bool appendToPrevious = appendToPreviousCheck(PreviousMessageWasMessage, senderName, senderIsSelf); @@ -871,8 +873,8 @@ void QtWebKitChatView::replaceMessage(const QString& message, const std::string& QString styleSpanStart = style == "" ? "" : "<span style=\"" + style + "\">"; QString styleSpanEnd = style == "" ? "" : "</span>"; - QString highlightSpanStart = highlight.highlightAllText() ? getHighlightSpanStart(highlight) : ""; - QString highlightSpanEnd = highlight.highlightAllText() ? "</span>" : ""; + QString highlightSpanStart = highlight.highlightWholeMessage() ? getHighlightSpanStart(highlight) : ""; + QString highlightSpanEnd = highlight.highlightWholeMessage() ? "</span>" : ""; messageHTML = styleSpanStart + highlightSpanStart + messageHTML + highlightSpanEnd + styleSpanEnd; replaceMessage(messageHTML, P2QSTRING(id), B2QDATE(time)); |