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)); | 
 Swift
 Swift