summaryrefslogtreecommitdiffstats
path: root/Swift
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-10-26 13:00:29 (GMT)
committerSwift Review <review@swift.im>2015-10-30 15:50:52 (GMT)
commit7f321edd9ada1f531b1fbc3325ef61449218f40c (patch)
treef0a1998447a41fa2cedff39edd1c179eefb4b298 /Swift
parent50a3962e4d0b16fd0316be54121cfb293c3117bd (diff)
downloadswift-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
Diffstat (limited to 'Swift')
-rw-r--r--Swift/Controllers/HighlightAction.cpp8
-rw-r--r--Swift/Controllers/HighlightAction.h14
-rw-r--r--Swift/Controllers/HighlightManager.cpp12
-rw-r--r--Swift/QtUI/QtHighlightEditor.cpp4
-rw-r--r--Swift/QtUI/QtWebKitChatView.cpp10
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));