diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index 2520c6bc..741294c4 100644
--- a/include/MatrixClient.h
+++ b/include/MatrixClient.h
@@ -44,7 +44,7 @@ public:
void fetchOwnAvatar(const QUrl &avatar_url);
void downloadImage(const QString &event_id, const QUrl &url);
- inline QString getHomeServer();
+ inline QUrl getHomeServer();
inline int transactionId();
inline void incrementTransactionId();
@@ -114,7 +114,7 @@ private:
QString api_url_;
// The Matrix server used for communication.
- QString server_;
+ QUrl server_;
// The access token used for authentication.
QString token_;
@@ -126,7 +126,7 @@ private:
QString next_batch_;
};
-inline QString MatrixClient::getHomeServer()
+inline QUrl MatrixClient::getHomeServer()
{
return server_;
}
@@ -138,7 +138,7 @@ inline int MatrixClient::transactionId()
inline void MatrixClient::setServer(const QString &server)
{
- server_ = "https://" + server;
+ server_ = QUrl(QString("https://%1").arg(server));
}
inline void MatrixClient::setAccessToken(const QString &token)
diff --git a/src/ImageItem.cc b/src/ImageItem.cc
index e0e2f977..514c28aa 100644
--- a/src/ImageItem.cc
+++ b/src/ImageItem.cc
@@ -49,7 +49,7 @@ ImageItem::ImageItem(QSharedPointer<MatrixClient> client, const events::MessageE
}
QString media_params = url_parts[1];
- url_ = QString("%1/_matrix/media/r0/download/%2").arg(client_.data()->getHomeServer(), media_params);
+ url_ = QString("%1/_matrix/media/r0/download/%2").arg(client_.data()->getHomeServer().toString(), media_params);
client_.data()->downloadImage(event.eventId(), url_);
diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc
index 86d43b1f..ac321d94 100644
--- a/src/MatrixClient.cc
+++ b/src/MatrixClient.cc
@@ -94,9 +94,7 @@ void MatrixClient::onLoginResponse(QNetworkReply *reply)
try {
response.deserialize(json);
- emit loginSuccess(response.getUserId(),
- response.getHomeServer(),
- response.getAccessToken());
+ emit loginSuccess(response.getUserId(), server_.host(), response.getAccessToken());
} catch (DeserializationException &e) {
qWarning() << "Malformed JSON response" << e.what();
emit loginError("Malformed response. Possibly not a Matrix server");
@@ -548,7 +546,7 @@ void MatrixClient::fetchRoomAvatar(const QString &roomid, const QUrl &avatar_url
}
QString media_params = url_parts[1];
- QString media_url = QString("%1/_matrix/media/r0/download/%2").arg(getHomeServer(), media_params);
+ QString media_url = QString("%1/_matrix/media/r0/download/%2").arg(getHomeServer().toString(), media_params);
QNetworkRequest avatar_request(media_url);
@@ -576,7 +574,7 @@ void MatrixClient::fetchOwnAvatar(const QUrl &avatar_url)
}
QString media_params = url_parts[1];
- QString media_url = QString("%1/_matrix/media/r0/download/%2").arg(getHomeServer(), media_params);
+ QString media_url = QString("%1/_matrix/media/r0/download/%2").arg(getHomeServer().toString(), media_params);
QNetworkRequest avatar_request(media_url);
|