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_;
};
|