[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [ktp-common-internals/mklapetek/SpaceBar] KTp/Declarative: [declarative] Add "canSendMessages" prope
From: Martin Klapetek <mklapetek () kde ! org>
Date: 2016-05-14 18:47:48
Message-ID: E1b1ebM-0002yA-8w () scm ! kde ! org
[Download RAW message or body]
Git commit cf81976e04e3d9915fa7d44934798bc5ab70100d by Martin Klapetek.
Committed on 14/05/2016 at 18:47.
Pushed by mklapetek into branch 'mklapetek/SpaceBar'.
[declarative] Add "canSendMessages" property to Conversation
M +9 -0 KTp/Declarative/conversation.cpp
M +3 -0 KTp/Declarative/conversation.h
M +5 -0 KTp/Declarative/messages-model.cpp
http://commits.kde.org/telepathy-common-internals/cf81976e04e3d9915fa7d44934798bc5ab70100d
diff --git a/KTp/Declarative/conversation.cpp b/KTp/Declarative/conversation.cpp
index b79748d..73487a2 100644
--- a/KTp/Declarative/conversation.cpp
+++ b/KTp/Declarative/conversation.cpp
@@ -308,3 +308,12 @@ bool Conversation::isContactTyping() const
return false;
}
+
+bool Conversation::canSendMessages() const
+{
+ if (d->messages && d->messages->textChannel()) {
+ return true;
+ }
+
+ return false;
+}
diff --git a/KTp/Declarative/conversation.h b/KTp/Declarative/conversation.h
index 2fe8991..4d30a22 100644
--- a/KTp/Declarative/conversation.h
+++ b/KTp/Declarative/conversation.h
@@ -44,6 +44,7 @@ class Conversation : public QObject
Q_PROPERTY(KPeople::PersonData *personData READ personData CONSTANT)
Q_PROPERTY(bool hasUnreadMessages READ hasUnreadMessages NOTIFY unreadMessagesChanged)
Q_PROPERTY(bool isContactTyping READ isContactTyping NOTIFY contactTypingChanged)
+ Q_PROPERTY(bool canSendMessages READ canSendMessages NOTIFY canSendMessagesChanged)
public:
Conversation(const Tp::TextChannelPtr &channel, const Tp::AccountPtr &account, QObject *parent = 0);
@@ -78,6 +79,7 @@ public:
bool hasUnreadMessages() const;
bool isContactTyping() const;
+ bool canSendMessages() const;
Q_SIGNALS:
void validityChanged(bool isValid);
@@ -88,6 +90,7 @@ Q_SIGNALS:
void unreadMessagesChanged();
void lastMessageChanged();
void contactTypingChanged();
+ void canSendMessagesChanged();
public Q_SLOTS:
void delegateToProperClient();
diff --git a/KTp/Declarative/messages-model.cpp b/KTp/Declarative/messages-model.cpp
index e17c4ae..db9e549 100644
--- a/KTp/Declarative/messages-model.cpp
+++ b/KTp/Declarative/messages-model.cpp
@@ -390,6 +390,11 @@ void MessagesModel::sendNewMessage(const QString &message)
if (message.isEmpty()) {
qCWarning(KTP_DECLARATIVE) << "Attempting to send empty string, this is not supported";
} else {
+ if (!d->textChannel) {
+ qWarning(KTP_DECLARATIVE) << "Attempting to send a message without a channel, returning";
+ return;
+ }
+
Tp::PendingOperation *op;
QString modifiedMessage = message;
if (d->textChannel->supportsMessageType(Tp::ChannelTextMessageTypeAction)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic