summary refs log tree commit diff
path: root/src/timeline
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 /src/timeline
parentRemove the pseudo deb & rpm packages from releases (diff)
downloadnheko-4c4ea557b344b035507652cfbc3b616904f958e9.tar.xz
Replace shared pointers of MatrixClient with a single instance
Diffstat (limited to 'src/timeline')
-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
7 files changed, 41 insertions, 72 deletions
diff --git a/src/timeline/TimelineItem.cc b/src/timeline/TimelineItem.cc

index 5084b978..6f126d3d 100644 --- a/src/timeline/TimelineItem.cc +++ b/src/timeline/TimelineItem.cc
@@ -19,8 +19,10 @@ #include <QFontDatabase> #include <QMenu> #include <QTextEdit> +#include <QTimer> #include "Avatar.h" +#include "ChatPage.h" #include "Config.h" #include "timeline/TimelineItem.h" @@ -63,7 +65,7 @@ TimelineItem::init() connect(redactMsg_, &QAction::triggered, this, [this]() { if (!event_id_.isEmpty()) - ChatPage::instance()->redactEvent(room_id_, event_id_); + http::client()->redactEvent(room_id_, event_id_); }); connect(markAsRead_, &QAction::triggered, this, [this]() { sendReadReceipt(); }); diff --git a/src/timeline/TimelineView.cc b/src/timeline/TimelineView.cc
index 5b433674..94ecb304 100644 --- a/src/timeline/TimelineView.cc +++ b/src/timeline/TimelineView.cc
@@ -84,26 +84,21 @@ DateSeparator::paintEvent(QPaintEvent *) } TimelineView::TimelineView(const mtx::responses::Timeline &timeline, - QSharedPointer<MatrixClient> client, const QString &room_id, QWidget *parent) : QWidget(parent) , room_id_{room_id} - , client_{client} { init(); addEvents(timeline); } -TimelineView::TimelineView(QSharedPointer<MatrixClient> client, - const QString &room_id, - QWidget *parent) +TimelineView::TimelineView(const QString &room_id, QWidget *parent) : QWidget(parent) , room_id_{room_id} - , client_{client} { init(); - client_->messages(room_id_, ""); + http::client()->messages(room_id_, ""); } void @@ -143,7 +138,7 @@ TimelineView::fetchHistory() return; isPaginationInProgress_ = true; - client_->messages(room_id_, prev_batch_token_); + http::client()->messages(room_id_, prev_batch_token_); paginationTimer_->start(5000); return; @@ -194,7 +189,7 @@ TimelineView::sliderMoved(int position) // FIXME: Maybe move this to TimelineViewManager to remove the // extra calls? - client_->messages(room_id_, prev_batch_token_); + http::client()->messages(room_id_, prev_batch_token_); } } @@ -430,7 +425,7 @@ TimelineView::init() paginationTimer_ = new QTimer(this); connect(paginationTimer_, &QTimer::timeout, this, &TimelineView::fetchHistory); - connect(client_.data(), + connect(http::client(), &MatrixClient::messagesRetrieved, this, &TimelineView::addBackwardsEvents); @@ -551,7 +546,7 @@ TimelineView::addUserMessage(mtx::events::MessageType ty, const QString &body) saveLastMessageInfo(local_user_, QDateTime::currentDateTime()); - int txn_id = client_->incrementTransactionId(); + int txn_id = http::client()->incrementTransactionId(); PendingMessage message(ty, txn_id, body, "", "", -1, "", view_item); handleNewUserMessage(message); } @@ -577,11 +572,12 @@ TimelineView::sendNextPendingMessage() case mtx::events::MessageType::Video: case mtx::events::MessageType::File: // FIXME: Improve the API - client_->sendRoomMessage( + http::client()->sendRoomMessage( m.ty, m.txn_id, room_id_, m.filename, m.mime, m.media_size, m.body); break; default: - client_->sendRoomMessage(m.ty, m.txn_id, room_id_, m.body, m.mime, m.media_size); + http::client()->sendRoomMessage( + m.ty, m.txn_id, room_id_, m.body, m.mime, m.media_size); break; } } @@ -675,7 +671,7 @@ TimelineView::readLastEvent() const const auto eventId = getLastEventId(); if (!eventId.isEmpty()) - client_->readEvent(room_id_, eventId); + http::client()->readEvent(room_id_, eventId); } QString diff --git a/src/timeline/TimelineViewManager.cc b/src/timeline/TimelineViewManager.cc
index 28f44770..b7ce53ae 100644 --- a/src/timeline/TimelineViewManager.cc +++ b/src/timeline/TimelineViewManager.cc
@@ -31,21 +31,20 @@ #include "timeline/widgets/ImageItem.h" #include "timeline/widgets/VideoItem.h" -TimelineViewManager::TimelineViewManager(QSharedPointer<MatrixClient> client, QWidget *parent) +TimelineViewManager::TimelineViewManager(QWidget *parent) : QStackedWidget(parent) - , client_(client) { setStyleSheet("border: none;"); connect( - client_.data(), &MatrixClient::messageSent, this, &TimelineViewManager::messageSent); + http::client(), &MatrixClient::messageSent, this, &TimelineViewManager::messageSent); - connect(client_.data(), + connect(http::client(), &MatrixClient::messageSendFailed, this, &TimelineViewManager::messageSendFailed); - connect(client_.data(), + connect(http::client(), &MatrixClient::redactionCompleted, this, [this](const QString &room_id, const QString &event_id) { @@ -190,7 +189,7 @@ TimelineViewManager::addRoom(const mtx::responses::JoinedRoom &room, const QStri return; // Create a history view with the room events. - TimelineView *view = new TimelineView(room.timeline, client_, room_id); + TimelineView *view = new TimelineView(room.timeline, room_id); views_.emplace(room_id, QSharedPointer<TimelineView>(view)); connect(view, @@ -209,7 +208,7 @@ TimelineViewManager::addRoom(const QString &room_id) return; // Create a history view without any events. - TimelineView *view = new TimelineView(client_, room_id); + TimelineView *view = new TimelineView(room_id); views_.emplace(room_id, QSharedPointer<TimelineView>(view)); connect(view, diff --git a/src/timeline/widgets/AudioItem.cc b/src/timeline/widgets/AudioItem.cc
index 79f944ff..5a2bca92 100644 --- a/src/timeline/widgets/AudioItem.cc +++ b/src/timeline/widgets/AudioItem.cc
@@ -23,6 +23,7 @@ #include <QPainter> #include <QPixmap> +#include "MatrixClient.h" #include "Utils.h" #include "timeline/widgets/AudioItem.h" @@ -57,7 +58,7 @@ AudioItem::init() QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") - .arg(client_.data()->getHomeServer().toString(), media_params); + .arg(http::client()->getHomeServer().toString(), media_params); player_ = new QMediaPlayer; player_->setMedia(QUrl(url_)); @@ -73,29 +74,21 @@ AudioItem::init() }); } -AudioItem::AudioItem(QSharedPointer<MatrixClient> client, - const mtx::events::RoomEvent<mtx::events::msg::Audio> &event, - QWidget *parent) +AudioItem::AudioItem(const mtx::events::RoomEvent<mtx::events::msg::Audio> &event, QWidget *parent) : QWidget(parent) , url_{QUrl(QString::fromStdString(event.content.url))} , text_{QString::fromStdString(event.content.body)} , event_{event} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(event.content.info.size); init(); } -AudioItem::AudioItem(QSharedPointer<MatrixClient> client, - const QString &url, - const QString &filename, - uint64_t size, - QWidget *parent) +AudioItem::AudioItem(const QString &url, const QString &filename, uint64_t size, QWidget *parent) : QWidget(parent) , url_{url} , text_{filename} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(size); @@ -134,7 +127,7 @@ AudioItem::mousePressEvent(QMouseEvent *event) if (filenameToSave_.isEmpty()) return; - auto proxy = client_->downloadFile(url_); + auto proxy = http::client()->downloadFile(url_); connect(proxy.data(), &DownloadMediaProxy::fileDownloaded, this, diff --git a/src/timeline/widgets/FileItem.cc b/src/timeline/widgets/FileItem.cc
index 7445eb0f..7ff60d87 100644 --- a/src/timeline/widgets/FileItem.cc +++ b/src/timeline/widgets/FileItem.cc
@@ -23,6 +23,7 @@ #include <QPainter> #include <QPixmap> +#include "MatrixClient.h" #include "Utils.h" #include "timeline/widgets/FileItem.h" @@ -56,32 +57,24 @@ FileItem::init() QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") - .arg(client_.data()->getHomeServer().toString(), media_params); + .arg(http::client()->getHomeServer().toString(), media_params); } -FileItem::FileItem(QSharedPointer<MatrixClient> client, - const mtx::events::RoomEvent<mtx::events::msg::File> &event, - QWidget *parent) +FileItem::FileItem(const mtx::events::RoomEvent<mtx::events::msg::File> &event, QWidget *parent) : QWidget(parent) , url_{QString::fromStdString(event.content.url)} , text_{QString::fromStdString(event.content.body)} , event_{event} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(event.content.info.size); init(); } -FileItem::FileItem(QSharedPointer<MatrixClient> client, - const QString &url, - const QString &filename, - uint64_t size, - QWidget *parent) +FileItem::FileItem(const QString &url, const QString &filename, uint64_t size, QWidget *parent) : QWidget(parent) , url_{url} , text_{filename} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(size); @@ -120,7 +113,7 @@ FileItem::mousePressEvent(QMouseEvent *event) if (filenameToSave_.isEmpty()) return; - auto proxy = client_->downloadFile(url_); + auto proxy = http::client()->downloadFile(url_); connect(proxy.data(), &DownloadMediaProxy::fileDownloaded, this, diff --git a/src/timeline/widgets/ImageItem.cc b/src/timeline/widgets/ImageItem.cc
index 03f9741b..66cd31ab 100644 --- a/src/timeline/widgets/ImageItem.cc +++ b/src/timeline/widgets/ImageItem.cc
@@ -25,16 +25,14 @@ #include <QUuid> #include "Config.h" +#include "MatrixClient.h" #include "Utils.h" #include "dialogs/ImageOverlay.h" #include "timeline/widgets/ImageItem.h" -ImageItem::ImageItem(QSharedPointer<MatrixClient> client, - const mtx::events::RoomEvent<mtx::events::msg::Image> &event, - QWidget *parent) +ImageItem::ImageItem(const mtx::events::RoomEvent<mtx::events::msg::Image> &event, QWidget *parent) : QWidget(parent) , event_{event} - , client_{client} { setMouseTracking(true); setCursor(Qt::PointingHandCursor); @@ -52,9 +50,9 @@ ImageItem::ImageItem(QSharedPointer<MatrixClient> client, QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") - .arg(client_.data()->getHomeServer().toString(), media_params); + .arg(http::client()->getHomeServer().toString(), media_params); - auto proxy = client_.data()->downloadImage(url_); + auto proxy = http::client()->downloadImage(url_); connect(proxy.data(), &DownloadMediaProxy::imageDownloaded, @@ -65,15 +63,10 @@ ImageItem::ImageItem(QSharedPointer<MatrixClient> client, }); } -ImageItem::ImageItem(QSharedPointer<MatrixClient> client, - const QString &url, - const QString &filename, - uint64_t size, - QWidget *parent) +ImageItem::ImageItem(const QString &url, const QString &filename, uint64_t size, QWidget *parent) : QWidget(parent) , url_{url} , text_{filename} - , client_{client} { Q_UNUSED(size); @@ -90,9 +83,9 @@ ImageItem::ImageItem(QSharedPointer<MatrixClient> client, QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") - .arg(client_.data()->getHomeServer().toString(), media_params); + .arg(http::client()->getHomeServer().toString(), media_params); - auto proxy = client_.data()->downloadImage(url_); + auto proxy = http::client()->downloadImage(url_); connect(proxy.data(), &DownloadMediaProxy::imageDownloaded, @@ -238,7 +231,7 @@ ImageItem::saveAs() if (filename.isEmpty()) return; - auto proxy = client_->downloadFile(url_); + auto proxy = http::client()->downloadFile(url_); connect(proxy.data(), &DownloadMediaProxy::fileDownloaded, this, diff --git a/src/timeline/widgets/VideoItem.cc b/src/timeline/widgets/VideoItem.cc
index 788db0ed..f5bcfd6e 100644 --- a/src/timeline/widgets/VideoItem.cc +++ b/src/timeline/widgets/VideoItem.cc
@@ -20,6 +20,7 @@ #include <QVBoxLayout> #include "Config.h" +#include "MatrixClient.h" #include "Utils.h" #include "timeline/widgets/VideoItem.h" @@ -34,17 +35,14 @@ VideoItem::init() QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") - .arg(client_.data()->getHomeServer().toString(), media_params); + .arg(http::client()->getHomeServer().toString(), media_params); } -VideoItem::VideoItem(QSharedPointer<MatrixClient> client, - const mtx::events::RoomEvent<mtx::events::msg::Video> &event, - QWidget *parent) +VideoItem::VideoItem(const mtx::events::RoomEvent<mtx::events::msg::Video> &event, QWidget *parent) : QWidget(parent) , url_{QString::fromStdString(event.content.url)} , text_{QString::fromStdString(event.content.body)} , event_{event} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(event.content.info.size); @@ -65,15 +63,10 @@ VideoItem::VideoItem(QSharedPointer<MatrixClient> client, layout->addWidget(label_); } -VideoItem::VideoItem(QSharedPointer<MatrixClient> client, - const QString &url, - const QString &filename, - uint64_t size, - QWidget *parent) +VideoItem::VideoItem(const QString &url, const QString &filename, uint64_t size, QWidget *parent) : QWidget(parent) , url_{url} , text_{filename} - , client_{client} { readableFileSize_ = utils::humanReadableFileSize(size);