Use QVariant instead of QDbusVariant
Needs https://bugreports.qt.io/browse/QTBUG-116002
This commit is contained in:
parent
790b08ee24
commit
fc4b8a3297
11 changed files with 33 additions and 31 deletions
|
@ -63,14 +63,6 @@ ConversationMessage::ConversationMessage(const qint32 &eventField,
|
|||
{
|
||||
}
|
||||
|
||||
ConversationMessage ConversationMessage::fromDBus(const QDBusVariant &var)
|
||||
{
|
||||
QDBusArgument data = var.variant().value<QDBusArgument>();
|
||||
ConversationMessage message;
|
||||
data >> message;
|
||||
return message;
|
||||
}
|
||||
|
||||
ConversationAddress::ConversationAddress(QString address)
|
||||
: m_address(address)
|
||||
{
|
||||
|
|
|
@ -56,7 +56,6 @@ public:
|
|||
const qint64 &subID,
|
||||
const QList<Attachment> &attachments);
|
||||
|
||||
static ConversationMessage fromDBus(const QDBusVariant &);
|
||||
static void registerDbusType();
|
||||
|
||||
qint32 eventField() const
|
||||
|
|
|
@ -26,7 +26,6 @@ class QDBusPendingCallWatcher;
|
|||
class QDBusInterface;
|
||||
class QDBusError;
|
||||
class QDBusObjectPath;
|
||||
class QDBusVariant;
|
||||
|
||||
class MMTelephonyPlugin : public KdeConnectPlugin
|
||||
{
|
||||
|
|
|
@ -126,9 +126,9 @@ void ConversationsDbusInterface::addMessages(const QList<ConversationMessage> &m
|
|||
|
||||
// Tell the world about what just happened
|
||||
if (newConversation) {
|
||||
Q_EMIT conversationCreated(QDBusVariant(QVariant::fromValue(message)));
|
||||
Q_EMIT conversationCreated(QVariant::fromValue(message));
|
||||
} else if (latestMessage) {
|
||||
Q_EMIT conversationUpdated(QDBusVariant(QVariant::fromValue(message)));
|
||||
Q_EMIT conversationUpdated(QVariant::fromValue(message));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ Q_SIGNALS:
|
|||
* Emitted whenever a conversation with no cached messages is added, either because the cache
|
||||
* is being populated or because a new conversation has been created
|
||||
*/
|
||||
Q_SCRIPTABLE void conversationCreated(const QDBusVariant &msg);
|
||||
Q_SCRIPTABLE void conversationCreated(const QVariant &msg);
|
||||
|
||||
/**
|
||||
* Emitted whenever a conversation is being deleted
|
||||
|
@ -120,7 +120,7 @@ Q_SIGNALS:
|
|||
* Emitted whenever a message is added to a conversation and it is the newest message in the
|
||||
* conversation
|
||||
*/
|
||||
Q_SCRIPTABLE void conversationUpdated(const QDBusVariant &msg);
|
||||
Q_SCRIPTABLE void conversationUpdated(const QVariant &msg);
|
||||
|
||||
/**
|
||||
* Emitted whenever we have handled a response from the phone indicating the total number of
|
||||
|
|
|
@ -74,7 +74,7 @@ size_t RequestConversationWorker::replyForConversation(const QList<ConversationM
|
|||
if (i >= howMany) {
|
||||
break;
|
||||
}
|
||||
Q_EMIT conversationMessageRead(QDBusVariant(QVariant::fromValue(*it)));
|
||||
Q_EMIT conversationMessageRead(QVariant::fromValue(*it));
|
||||
i++;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public Q_SLOTS:
|
|||
void work();
|
||||
|
||||
Q_SIGNALS:
|
||||
void conversationMessageRead(const QDBusVariant &msg);
|
||||
void conversationMessageRead(const QVariant &msg);
|
||||
void finished();
|
||||
|
||||
private:
|
||||
|
|
|
@ -110,15 +110,15 @@ void ConversationListModel::prepareConversationsList()
|
|||
this);
|
||||
}
|
||||
|
||||
void ConversationListModel::handleCreatedConversation(const QDBusVariant &msg)
|
||||
void ConversationListModel::handleCreatedConversation(const QVariant &msg)
|
||||
{
|
||||
const ConversationMessage message = ConversationMessage::fromDBus(msg);
|
||||
const ConversationMessage message = msg.value<ConversationMessage>();
|
||||
createRowFromMessage(message);
|
||||
}
|
||||
|
||||
void ConversationListModel::handleConversationUpdated(const QDBusVariant &msg)
|
||||
void ConversationListModel::handleConversationUpdated(const QVariant &msg)
|
||||
{
|
||||
const ConversationMessage message = ConversationMessage::fromDBus(msg);
|
||||
const ConversationMessage message = msg.value<ConversationMessage>();
|
||||
createRowFromMessage(message);
|
||||
}
|
||||
|
||||
|
|
|
@ -49,8 +49,8 @@ public:
|
|||
Q_INVOKABLE void createConversationForAddress(const QString &address);
|
||||
|
||||
public Q_SLOTS:
|
||||
void handleCreatedConversation(const QDBusVariant &msg);
|
||||
void handleConversationUpdated(const QDBusVariant &msg);
|
||||
void handleCreatedConversation(const QVariant &msg);
|
||||
void handleConversationUpdated(const QVariant &msg);
|
||||
void createRowFromMessage(const ConversationMessage &message);
|
||||
void printDBusError(const QDBusError &error);
|
||||
void displayContacts();
|
||||
|
|
|
@ -182,10 +182,9 @@ void ConversationModel::createRowFromMessage(const ConversationMessage &message,
|
|||
knownMessageIDs.insert(message.uID());
|
||||
}
|
||||
|
||||
void ConversationModel::handleConversationUpdate(const QDBusVariant &msg)
|
||||
void ConversationModel::handleConversationUpdate(const QVariant &msg)
|
||||
{
|
||||
ConversationMessage message = ConversationMessage::fromDBus(msg);
|
||||
|
||||
ConversationMessage message = msg.value<ConversationMessage>();
|
||||
if (message.threadID() != m_threadId) {
|
||||
// If a conversation which we are not currently viewing was updated, discard the information
|
||||
qCDebug(KDECONNECT_SMS_CONVERSATION_MODEL) << "Saw update for thread" << message.threadID() << "but we are currently viewing" << m_threadId;
|
||||
|
@ -194,10 +193,9 @@ void ConversationModel::handleConversationUpdate(const QDBusVariant &msg)
|
|||
createRowFromMessage(message, 0);
|
||||
}
|
||||
|
||||
void ConversationModel::handleConversationCreated(const QDBusVariant &msg)
|
||||
void ConversationModel::handleConversationCreated(const QVariant &msg)
|
||||
{
|
||||
ConversationMessage message = ConversationMessage::fromDBus(msg);
|
||||
|
||||
ConversationMessage message = msg.value<ConversationMessage>();
|
||||
if (m_threadId == INVALID_THREAD_ID && SmsHelper::isPhoneNumberMatch(m_addressList[0].address(), message.addresses().first().address())
|
||||
&& !message.isMultitarget()) {
|
||||
m_threadId = message.threadID();
|
||||
|
@ -237,4 +235,18 @@ void ConversationModel::requestAttachmentPath(const qint64 &partID, const QStrin
|
|||
m_conversationsInterface->requestAttachmentFile(partID, uniqueIdentifier);
|
||||
}
|
||||
|
||||
QDBusArgument &operator<<(QDBusArgument &argument, const Message& message)
|
||||
{
|
||||
argument.beginStructure();
|
||||
argument.endStructure();
|
||||
return argument;
|
||||
}
|
||||
|
||||
const QDBusArgument &operator>>(const QDBusArgument &argument, Message &message)
|
||||
{
|
||||
argument.beginStructure();
|
||||
argument.endStructure();
|
||||
return argument;
|
||||
}
|
||||
|
||||
#include "moc_conversationmodel.cpp"
|
||||
|
|
|
@ -67,9 +67,9 @@ Q_SIGNALS:
|
|||
void deviceIdChanged(const QString &value);
|
||||
|
||||
private Q_SLOTS:
|
||||
void handleConversationUpdate(const QDBusVariant &message);
|
||||
void handleConversationLoaded(qint64 threadID);
|
||||
void handleConversationCreated(const QDBusVariant &message);
|
||||
Q_SCRIPTABLE void handleConversationUpdate(const QVariant &message);
|
||||
Q_SCRIPTABLE void handleConversationLoaded(qint64 threadID);
|
||||
Q_SCRIPTABLE void handleConversationCreated(const QVariant &message);
|
||||
|
||||
private:
|
||||
void createRowFromMessage(const ConversationMessage &message, int pos);
|
||||
|
|
Loading…
Reference in a new issue