summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2011-09-26 15:06:54 (GMT)
committerKevin Smith <git@kismith.co.uk>2011-09-26 15:07:02 (GMT)
commit60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5 (patch)
tree9e93a7198b5d56980c977c9eeda256747330e796
parent2680416456d722a4779322949f6ed230de3d422b (diff)
downloadswift-contrib-60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5.zip
swift-contrib-60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5.tar.bz2
Set/Update empty subjects
Resolves: #1000
-rw-r--r--Swift/Controllers/Chat/ChatsManager.cpp2
-rw-r--r--Swift/Controllers/Chat/MUCController.cpp2
-rw-r--r--Swiften/Elements/Message.h4
3 files changed, 6 insertions, 2 deletions
diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp
index c61479c..83f66a3 100644
--- a/Swift/Controllers/Chat/ChatsManager.cpp
+++ b/Swift/Controllers/Chat/ChatsManager.cpp
@@ -509,7 +509,7 @@ void ChatsManager::handleSearchMUCRequest() {
void ChatsManager::handleIncomingMessage(boost::shared_ptr<Message> message) {
JID jid = message->getFrom();
boost::shared_ptr<MessageEvent> event(new MessageEvent(message));
- if (!event->isReadable() && !message->getPayload<ChatState>() && message->getSubject().empty()) {
+ if (!event->isReadable() && !message->getPayload<ChatState>() && !message->hasSubject()) {
return;
}
diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp
index ca1509e..8fcef8c 100644
--- a/Swift/Controllers/Chat/MUCController.cpp
+++ b/Swift/Controllers/Chat/MUCController.cpp
@@ -340,7 +340,7 @@ void MUCController::preHandleIncomingMessage(boost::shared_ptr<MessageEvent> mes
receivedActivity();
joined_ = true;
- if (!message->getSubject().empty() && message->getBody().empty()) {
+ if (message->hasSubject() && message->getBody().empty()) {
chatWindow_->addSystemMessage(str(format(QT_TRANSLATE_NOOP("", "The room subject is now: %1%")) % message->getSubject()));;
chatWindow_->setSubject(message->getSubject());
doneGettingHistory_ = true;
diff --git a/Swiften/Elements/Message.h b/Swiften/Elements/Message.h
index 19e3fbb..3b9145c 100644
--- a/Swiften/Elements/Message.h
+++ b/Swiften/Elements/Message.h
@@ -38,6 +38,10 @@ namespace Swift {
updatePayload(boost::make_shared<Subject>(subject));
}
+ bool hasSubject() {
+ return getPayload<Subject>();
+ }
+
std::string getBody() const {
boost::shared_ptr<Body> body(getPayload<Body>());
if (body) {