summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-08 18:43:56 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-08 18:43:56 +0300
commit4c4ea557b344b035507652cfbc3b616904f958e9 (patch)
treee8e610bfdaebb0ffb3a472f89b699bc3f65852b8
parentffb43836e4a71718949b4971b42f402931845625 (diff)
Replace shared pointers of MatrixClient with a single instance
-rw-r--r--cmake/CompilerFlags.cmake1
-rw-r--r--include/AvatarProvider.h8
-rw-r--r--include/ChatPage.h16
-rw-r--r--include/CommunitiesList.h5
-rw-r--r--include/LoginPage.h6
-rw-r--r--include/MainWindow.h3
-rw-r--r--include/MatrixClient.h12
-rw-r--r--include/RegisterPage.h5
-rw-r--r--include/RoomList.h6
-rw-r--r--include/timeline/TimelineItem.h4
-rw-r--r--include/timeline/TimelineView.h13
-rw-r--r--include/timeline/TimelineViewManager.h4
-rw-r--r--include/timeline/widgets/AudioItem.h9
-rw-r--r--include/timeline/widgets/FileItem.h9
-rw-r--r--include/timeline/widgets/ImageItem.h17
-rw-r--r--include/timeline/widgets/VideoItem.h10
-rw-r--r--src/AvatarProvider.cc3
-rw-r--r--src/ChatPage.cc111
-rw-r--r--src/CommunitiesList.cc20
-rw-r--r--src/LoginPage.cc25
-rw-r--r--src/MainWindow.cc18
-rw-r--r--src/MatrixClient.cc24
-rw-r--r--src/RegisterPage.cc12
-rw-r--r--src/RoomList.cc11
-rw-r--r--src/timeline/TimelineItem.cc4
-rw-r--r--src/timeline/TimelineView.cc24
-rw-r--r--src/timeline/TimelineViewManager.cc13
-rw-r--r--src/timeline/widgets/AudioItem.cc17
-rw-r--r--src/timeline/widgets/FileItem.cc17
-rw-r--r--src/timeline/widgets/ImageItem.cc23
-rw-r--r--src/timeline/widgets/VideoItem.cc15
31 files changed, 196 insertions, 269 deletions
diff --git a/cmake/CompilerFlags.cmake b/cmake/CompilerFlags.cmake
index 2aa92e54..f5860a99 100644
--- a/cmake/CompilerFlags.cmake
+++ b/cmake/CompilerFlags.cmake
@@ -4,6 +4,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
-Wextra \
-Werror \
-pipe \
+ -Wno-unused-function \
-pedantic \
-Wunreachable-code")
diff --git a/include/AvatarProvider.h b/include/AvatarProvider.h
index fd5f15c4..af13a577 100644
--- a/include/AvatarProvider.h
+++ b/include/AvatarProvider.h
@@ -22,7 +22,6 @@
#include <QSharedPointer>
#include <functional>
-class MatrixClient;
class TimelineItem;
class Cache;
@@ -31,11 +30,7 @@ class AvatarProvider : public QObject
Q_OBJECT
public:
- static void init(QSharedPointer<MatrixClient> client, QSharedPointer<Cache> cache)
- {
- client_ = client;
- cache_ = cache;
- }
+ static void init(QSharedPointer<Cache> cache) { cache_ = cache; }
//! The callback is called with the downloaded avatar for the given user
//! or the avatar is downloaded first and then saved for re-use.
static void resolve(const QString &room_id,
@@ -44,6 +39,5 @@ public:
std::function<void(QImage)> callback);
private:
- static QSharedPointer<MatrixClient> client_;
static QSharedPointer<Cache> cache_;
};
diff --git a/include/ChatPage.h b/include/ChatPage.h
index 6e0cf2d9..057ce698 100644
--- a/include/ChatPage.h
+++ b/include/ChatPage.h
@@ -30,7 +30,6 @@
#include <mtx.hpp>
-class MatrixClient;
class OverlayModal;
class QuickSwitcher;
class RoomList;
@@ -59,9 +58,7 @@ class ChatPage : public QWidget
Q_OBJECT
public:
- ChatPage(QSharedPointer<MatrixClient> client,
- QSharedPointer<UserSettings> userSettings,
- QWidget *parent = 0);
+ ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent = 0);
// Initialize all the components of the UI.
void bootstrap(QString userid, QString homeserver, QString token);
@@ -70,14 +67,6 @@ public:
QString currentRoom() const { return current_room_; }
static ChatPage *instance() { return instance_; }
- void readEvent(const QString &room_id, const QString &event_id)
- {
- client_->readEvent(room_id, event_id);
- }
- void redactEvent(const QString &room_id, const QString &event_id)
- {
- client_->redactEvent(room_id, event_id);
- }
QSharedPointer<UserSettings> userSettings() { return userSettings_; }
QSharedPointer<Cache> cache() { return cache_; }
@@ -192,9 +181,6 @@ private:
QSharedPointer<dialogs::ReadReceipts> receiptsDialog_;
QSharedPointer<OverlayModal> receiptsModal_;
- // Matrix Client API provider.
- QSharedPointer<MatrixClient> client_;
-
// Global user settings.
QSharedPointer<UserSettings> userSettings_;
diff --git a/include/CommunitiesList.h b/include/CommunitiesList.h
index 81408f58..3299e7c4 100644
--- a/include/CommunitiesList.h
+++ b/include/CommunitiesList.h
@@ -6,7 +6,6 @@
#include "CommunitiesListItem.h"
#include "Community.h"
-#include "MatrixClient.h"
#include "ui/Theme.h"
class CommunitiesList : public QWidget
@@ -14,7 +13,7 @@ class CommunitiesList : public QWidget
Q_OBJECT
public:
- CommunitiesList(QSharedPointer<MatrixClient> client, QWidget *parent = nullptr);
+ CommunitiesList(QWidget *parent = nullptr);
void setCommunities(const std::map<QString, QSharedPointer<Community>> &communities);
void clear() { communities_.clear(); }
@@ -44,6 +43,4 @@ private:
QScrollArea *scrollArea_;
std::map<QString, QSharedPointer<CommunitiesListItem>> communities_;
-
- QSharedPointer<MatrixClient> client_;
};
diff --git a/include/LoginPage.h b/include/LoginPage.h
index 34835229..34a08df9 100644
--- a/include/LoginPage.h
+++ b/include/LoginPage.h
@@ -24,7 +24,6 @@
class FlatButton;
class LoadingIndicator;
-class MatrixClient;
class OverlayModal;
class RaisedButton;
class TextField;
@@ -34,7 +33,7 @@ class LoginPage : public QWidget
Q_OBJECT
public:
- LoginPage(QSharedPointer<MatrixClient> client, QWidget *parent = 0);
+ LoginPage(QWidget *parent = 0);
void reset();
@@ -97,7 +96,4 @@ private:
TextField *matrixid_input_;
TextField *password_input_;
TextField *serverInput_;
-
- // Matrix client API provider.
- QSharedPointer<MatrixClient> client_;
};
diff --git a/include/MainWindow.h b/include/MainWindow.h
index 1ffbe850..0fbc7567 100644
--- a/include/MainWindow.h
+++ b/include/MainWindow.h
@@ -31,7 +31,6 @@
class ChatPage;
class LoadingIndicator;
-class MatrixClient;
class OverlayModal;
class SnackBar;
class TrayIcon;
@@ -125,8 +124,6 @@ private:
//! Used to hide undefined states between page transitions.
QSharedPointer<OverlayModal> progressModal_;
QSharedPointer<LoadingIndicator> spinner_;
- //! Matrix Client API provider.
- QSharedPointer<MatrixClient> client_;
//! Tray icon that shows the unread message count.
TrayIcon *trayIcon_;
//! Notifications display.
diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index 35f05c31..6ed1c2c8 100644
--- a/include/MatrixClient.h
+++ b/include/MatrixClient.h
@@ -43,7 +43,7 @@ class MatrixClient : public QNetworkAccessManager
{
Q_OBJECT
public:
- MatrixClient(QString server, QObject *parent = 0);
+ MatrixClient(QObject *parent = 0);
// Client API.
void initialSync() noexcept;
@@ -211,3 +211,13 @@ private:
//! Filter to be send as filter-param for (initial) /sync requests.
QString filter_;
};
+
+namespace http {
+//! Initialize the http module
+void
+init(QObject *parent);
+
+//! Retrieve the client instance.
+MatrixClient *
+client();
+}
diff --git a/include/RegisterPage.h b/include/RegisterPage.h
index 32f2fcf2..f4d97816 100644
--- a/include/RegisterPage.h
+++ b/include/RegisterPage.h
@@ -23,7 +23,6 @@
#include <memory>
class FlatButton;
-class MatrixClient;
class RaisedButton;
class TextField;
@@ -36,7 +35,7 @@ class RegisterPage : public QWidget
Q_OBJECT
public:
- RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent = 0);
+ RegisterPage(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *event) override;
@@ -75,8 +74,6 @@ private:
TextField *password_confirmation_;
TextField *server_input_;
- // Matrix client API provider.
- QSharedPointer<MatrixClient> client_;
//! ReCaptcha dialog.
std::shared_ptr<dialogs::ReCaptcha> captchaDialog_;
};
diff --git a/include/RoomList.h b/include/RoomList.h
index bdfb7218..202e075c 100644
--- a/include/RoomList.h
+++ b/include/RoomList.h
@@ -26,7 +26,6 @@
#include <mtx.hpp>
class LeaveRoomDialog;
-class MatrixClient;
class OverlayModal;
class RoomInfoListItem;
class Sync;
@@ -40,9 +39,7 @@ class RoomList : public QWidget
Q_OBJECT
public:
- RoomList(QSharedPointer<MatrixClient> client,
- QSharedPointer<UserSettings> userSettings,
- QWidget *parent = 0);
+ RoomList(QSharedPointer<UserSettings> userSettings, QWidget *parent = 0);
void setCache(QSharedPointer<Cache> cache) { cache_ = cache; }
void initialize(const QMap<QString, RoomInfo> &info);
@@ -105,7 +102,6 @@ private:
//! Which rooms to include in the room list.
std::vector<QString> roomFilter_;
- QSharedPointer<MatrixClient> client_;
QSharedPointer<Cache> cache_;
QSharedPointer<UserSettings> userSettings_;
diff --git a/include/timeline/TimelineItem.h b/include/timeline/TimelineItem.h
index 82ff5ca7..064dead4 100644
--- a/include/timeline/TimelineItem.h
+++ b/include/timeline/TimelineItem.h
@@ -26,11 +26,11 @@
#include <QStyleOption>
#include "AvatarProvider.h"
-#include "ChatPage.h"
#include "RoomInfoListItem.h"
#include "Utils.h"
#include "Cache.h"
+#include "MatrixClient.h"
class ImageItem;
class StickerItem;
@@ -121,7 +121,7 @@ public:
void sendReadReceipt() const
{
if (!event_id_.isEmpty())
- ChatPage::instance()->readEvent(room_id_, event_id_);
+ http::client()->readEvent(room_id_, event_id_);
}
//! Add a user avatar for this event.
diff --git a/include/timeline/TimelineView.h b/include/timeline/TimelineView.h
index 02e2872a..2ad00058 100644
--- a/include/timeline/TimelineView.h
+++ b/include/timeline/TimelineView.h
@@ -25,6 +25,7 @@
#include <QScrollArea>
#include <QStyle>
#include <QStyleOption>
+#include <QTimer>
#include <mtx/events.hpp>
#include <mtx/responses/messages.hpp>
@@ -117,12 +118,9 @@ class TimelineView : public QWidget
public:
TimelineView(const mtx::responses::Timeline &timeline,
- QSharedPointer<MatrixClient> client,
- const QString &room_id,
- QWidget *parent = 0);
- TimelineView(QSharedPointer<MatrixClient> client,
const QString &room_id,
QWidget *parent = 0);
+ TimelineView(const QString &room_id, QWidget *parent = 0);
// Add new events at the end of the timeline.
void addEvents(const mtx::responses::Timeline &timeline);
@@ -298,7 +296,6 @@ private:
QMap<QString, TimelineItem *> eventIds_;
QQueue<PendingMessage> pending_msgs_;
QList<PendingMessage> pending_sent_msgs_;
- QSharedPointer<MatrixClient> client_;
};
template<class Widget, mtx::events::MessageType MsgType>
@@ -311,7 +308,7 @@ TimelineView::addUserMessage(const QString &url,
auto with_sender = (lastSender_ != local_user_) || isDateDifference(lastMsgTimestamp_);
auto trimmed = QFileInfo{filename}.fileName(); // Trim file path.
- auto widget = new Widget(client_, url, trimmed, size, this);
+ auto widget = new Widget(url, trimmed, size, this);
TimelineItem *view_item =
new TimelineItem(widget, local_user_, with_sender, room_id_, scroll_widget_);
@@ -325,7 +322,7 @@ TimelineView::addUserMessage(const QString &url,
// Keep track of the sender and the timestamp of the current message.
saveLastMessageInfo(local_user_, QDateTime::currentDateTime());
- int txn_id = client_->incrementTransactionId();
+ int txn_id = http::client()->incrementTransactionId();
PendingMessage message(MsgType, txn_id, url, trimmed, mime, size, "", view_item);
handleNewUserMessage(message);
@@ -343,7 +340,7 @@ template<class Event, class Widget>
TimelineItem *
TimelineView::createTimelineItem(const Event &event, bool withSender)
{
- auto eventWidget = new Widget(client_, event);
+ auto eventWidget = new Widget(event);
auto item = new TimelineItem(eventWidget, event, withSender, room_id_, scroll_widget_);
return item;
diff --git a/include/timeline/TimelineViewManager.h b/include/timeline/TimelineViewManager.h
index 4c994098..308b83aa 100644
--- a/include/timeline/TimelineViewManager.h
+++ b/include/timeline/TimelineViewManager.h
@@ -24,7 +24,6 @@
class QFile;
-class MatrixClient;
class RoomInfoListItem;
class TimelineView;
struct DescInfo;
@@ -34,7 +33,7 @@ class TimelineViewManager : public QStackedWidget
Q_OBJECT
public:
- TimelineViewManager(QSharedPointer<MatrixClient> client, QWidget *parent);
+ TimelineViewManager(QWidget *parent);
// Initialize with timeline events.
void initialize(const mtx::responses::Rooms &rooms);
@@ -91,5 +90,4 @@ private:
QString active_room_;
std::map<QString, QSharedPointer<TimelineView>> views_;
- QSharedPointer<MatrixClient> client_;
};
diff --git a/include/timeline/widgets/AudioItem.h b/include/timeline/widgets/AudioItem.h
index b1d47dd5..1020c3e5 100644
--- a/include/timeline/widgets/AudioItem.h
+++ b/include/timeline/widgets/AudioItem.h
@@ -24,8 +24,6 @@
#include <QSharedPointer>
#include <QWidget>
-#include "MatrixClient.h"
-
#include <mtx.hpp>
class AudioItem : public QWidget
@@ -42,12 +40,10 @@ class AudioItem : public QWidget
durationForegroundColor)
public:
- AudioItem(QSharedPointer<MatrixClient> client,
- const mtx::events::RoomEvent<mtx::events::msg::Audio> &event,
+ AudioItem(const mtx::events::RoomEvent<mtx::events::msg::Audio> &event,
QWidget *parent = nullptr);
- AudioItem(QSharedPointer<MatrixClient> client,
- const QString &url,
+ AudioItem(const QString &url,
const QString &filename,
uint64_t size,
QWidget *parent = nullptr);
@@ -90,7 +86,6 @@ private:
QString filenameToSave_;
mtx::events::RoomEvent<mtx::events::msg::Audio> event_;
- QSharedPointer<MatrixClient> client_;
QMediaPlayer *player_;
diff --git a/include/timeline/widgets/FileItem.h b/include/timeline/widgets/FileItem.h
index bc75913d..4f590df6 100644
--- a/include/timeline/widgets/FileItem.h
+++ b/include/timeline/widgets/FileItem.h
@@ -25,8 +25,6 @@
#include <mtx.hpp>
-#include "MatrixClient.h"
-
class FileItem : public QWidget
{
Q_OBJECT
@@ -36,12 +34,10 @@ class FileItem : public QWidget
Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
public:
- FileItem(QSharedPointer<MatrixClient> client,
- const mtx::events::RoomEvent<mtx::events::msg::File> &event,
+ FileItem(const mtx::events::RoomEvent<mtx::events::msg::File> &event,
QWidget *parent = nullptr);
- FileItem(QSharedPointer<MatrixClient> client,
- const QString &url,
+ FileItem(const QString &url,
const QString &filename,
uint64_t size,
QWidget *parent = nullptr);
@@ -71,7 +67,6 @@ private:
QString filenameToSave_;
mtx::events::RoomEvent<mtx::events::msg::File> event_;
- QSharedPointer<MatrixClient> client_;
QIcon icon_;
diff --git a/include/timeline/widgets/ImageItem.h b/include/timeline/widgets/ImageItem.h
index 146aa7f6..b17b2d8b 100644
--- a/include/timeline/widgets/ImageItem.h
+++ b/include/timeline/widgets/ImageItem.h
@@ -24,8 +24,6 @@
#include <mtx.hpp>
-#include "MatrixClient.h"
-
namespace dialogs {
class ImageOverlay;
}
@@ -34,12 +32,10 @@ class ImageItem : public QWidget
{
Q_OBJECT
public:
- ImageItem(QSharedPointer<MatrixClient> client,
- const mtx::events::RoomEvent<mtx::events::msg::Image> &event,
+ ImageItem(const mtx::events::RoomEvent<mtx::events::msg::Image> &event,
QWidget *parent = nullptr);
- ImageItem(QSharedPointer<MatrixClient> client,
- const QString &url,
+ ImageItem(const QString &url,
const QString &filename,
uint64_t size,
QWidget *parent = nullptr);
@@ -81,8 +77,6 @@ private:
QRectF imageRegion_;
mtx::events::RoomEvent<mtx::events::msg::Image> event_;
-
- QSharedPointer<MatrixClient> client_;
};
class StickerItem : public ImageItem
@@ -90,11 +84,8 @@ class StickerItem : public ImageItem
Q_OBJECT
public:
- StickerItem(QSharedPointer<MatrixClient> client,
- const mtx::events::Sticker &event,
- QWidget *parent = nullptr)
- : ImageItem{client,
- QString::fromStdString(event.content.url),
+ StickerItem(const mtx::events::Sticker &event, QWidget *parent = nullptr)
+ : ImageItem{QString::fromStdString(event.content.url),
QString::fromStdString(event.content.body),
event.content.info.size,
parent}
diff --git a/include/timeline/widgets/VideoItem.h b/include/timeline/widgets/VideoItem.h
index 89732975..26fa1c35 100644
--- a/include/timeline/widgets/VideoItem.h
+++ b/include/timeline/widgets/VideoItem.h
@@ -20,10 +20,9 @@
#include <QEvent>
#include <QLabel>
#include <QSharedPointer>
+#include <QUrl>
#include <QWidget>
-#include "MatrixClient.h"
-
#include <mtx.hpp>
class VideoItem : public QWidget
@@ -31,12 +30,10 @@ class VideoItem : public QWidget
Q_OBJECT
public:
- VideoItem(QSharedPointer<MatrixClient> client,
- const mtx::events::RoomEvent<mtx::events::msg::Video> &event,
+ VideoItem(const mtx::events::RoomEvent<mtx::events::msg::Video> &event,
QWidget *parent = nullptr);
- VideoItem(QSharedPointer<MatrixClient> client,
- const QString &url,
+ VideoItem(const QString &url,
const QString &filename,
uint64_t size,
QWidget *parent = nullptr);
@@ -51,5 +48,4 @@ private:
QLabel *label_;
mtx::events::RoomEvent<mtx::events::msg::Video> event_;
- QSharedPointer<MatrixClient> client_;
};
diff --git a/src/AvatarProvider.cc b/src/AvatarProvider.cc
index c7745239..51ff27ac 100644
--- a/src/AvatarProvider.cc
+++ b/src/AvatarProvider.cc
@@ -22,7 +22,6 @@
#include "Cache.h"
#include "MatrixClient.h"
-QSharedPointer<MatrixClient> AvatarProvider::client_;
QSharedPointer<Cache> AvatarProvider::cache_;
void
@@ -46,7 +45,7 @@ AvatarProvider::resolve(const QString &room_id,
return;
}
- auto proxy = client_->fetchUserAvatar(avatarUrl);
+ auto proxy = http::client()->fetchUserAvatar(avatarUrl);
if (proxy.isNull())
return;
diff --git a/src/ChatPage.cc b/src/ChatPage.cc
index 1f5fa995..649d783c 100644
--- a/src/ChatPage.cc
+++ b/src/ChatPage.cc
@@ -48,11 +48,8 @@ constexpr int INITIAL_SYNC_RETRY_TIMEOUT = 240 * 1000;
ChatPage *ChatPage::instance_ = nullptr;
-ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
- QSharedPointer<UserSettings> userSettings,
- QWidget *parent)
+ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent)
: QWidget(parent)
- , client_(client)
, userSettings_{userSettings}
{
setObjectName("chatPage");
@@ -61,7 +58,7 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
topLayout_->setSpacing(0);
topLayout_->setMargin(0);
- communitiesList_ = new CommunitiesList(client, this);
+ communitiesList_ = new CommunitiesList(this);
topLayout_->addWidget(communitiesList_);
auto splitter = new Splitter(this);
@@ -82,12 +79,12 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
connect(
sidebarActions_, &SideBarActions::showSettings, this, &ChatPage::showUserSettingsPage);
connect(
- sidebarActions_, &SideBarActions::joinRoom, client_.data(), &MatrixClient::joinRoom);
+ sidebarActions_, &SideBarActions::joinRoom, http::client(), &MatrixClient::joinRoom);
connect(
- sidebarActions_, &SideBarActions::createRoom, client_.data(), &MatrixClient::createRoom);
+ sidebarActions_, &SideBarActions::createRoom, http::client(), &MatrixClient::createRoom);
user_info_widget_ = new UserInfoWidget(sideBar_);
- room_list_ = new RoomList(client, userSettings_, sideBar_);
+ room_list_ = new RoomList(userSettings_, sideBar_);
sideBarLayout_->addWidget(user_info_widget_);
sideBarLayout_->addWidget(room_list_);
@@ -105,7 +102,7 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
contentLayout_->setMargin(0);
top_bar_ = new TopRoomBar(this);
- view_manager_ = new TimelineViewManager(client, this);
+ view_manager_ = new TimelineViewManager(this);
contentLayout_->addWidget(top_bar_);
contentLayout_->addWidget(view_manager_);
@@ -124,15 +121,15 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
typingRefresher_->setInterval(TYPING_REFRESH_TIMEOUT);
connect(user_info_widget_, &UserInfoWidget::logout, this, [this]() {
- client_->logout();
+ http::client()->logout();
emit showOverlayProgressBar();
});
- connect(client_.data(), &MatrixClient::loggedOut, this, &ChatPage::logout);
+ connect(http::client(), &MatrixClient::loggedOut, this, &ChatPage::logout);
connect(top_bar_, &TopRoomBar::inviteUsers, this, [this](QStringList users) {
for (int ii = 0; ii < users.size(); ++ii) {
QTimer::singleShot(ii * 1000, this, [this, ii, users]() {
- client_->inviteUser(current_room_, users.at(ii));
+ http::client()->inviteUser(current_room_, users.at(ii));
});
}
});
@@ -158,12 +155,12 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
connect(room_list_, &RoomList::acceptInvite, this, [this](const QString &room_id) {
view_manager_->addRoom(room_id);
- client_->joinRoom(room_id);
+ http::client()->joinRoom(room_id);
room_list_->removeRoom(room_id, currentRoom() == room_id);
});
connect(room_list_, &RoomList::declineInvite, this, [this](const QString &room_id) {
- client_->leaveRoom(room_id);
+ http::client()->leaveRoom(room_id);
room_list_->removeRoom(room_id, currentRoom() == room_id);
});
@@ -172,7 +169,7 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
return;
typingRefresher_->start();
- client_->sendTypingNotification(current_room_);
+ http::client()->sendTypingNotification(current_room_);
});
connect(text_input_, &TextInputWidget::stoppedTyping, this, [this]() {
@@ -180,14 +177,14 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
return;
typingRefresher_->stop();
- client_->removeTypingNotification(current_room_);
+ http::client()->removeTypingNotification(current_room_);
});
connect(typingRefresher_, &QTimer::timeout, this, [this]() {
if (!userSettings_->isTypingNotificationsEnabled())
return;
- client_->sendTypingNotification(current_room_);
+ http::client()->sendTypingNotification(current_room_);
});
connect(view_manager_,
@@ -212,45 +209,45 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client,
connect(text_input_,
&TextInputWidget::sendJoinRoomRequest,
- client_.data(),
+ http::client(),
&MatrixClient::joinRoom);
connect(text_input_,
&TextInputWidget::uploadImage,
this,
[this](QSharedPointer<QIODevice> data, const QString &fn) {
- client_->uploadImage(current_room_, fn, data);
+ http::client()->uploadImage(current_room_, fn, data);
});
connect(text_input_,
&TextInputWidget::uploadFile,
this,
[this](QSharedPointer<QIODevice> data, const QString &fn) {
-