summary refs log tree commit diff
path: root/src/timeline/TimelineViewManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/timeline/TimelineViewManager.h')
-rw-r--r--src/timeline/TimelineViewManager.h174
1 files changed, 86 insertions, 88 deletions
diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h

index 8991de55..f7b01315 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h
@@ -38,123 +38,121 @@ class ImagePackListModel; class TimelineViewManager : public QObject { - Q_OBJECT + Q_OBJECT - Q_PROPERTY( - bool isInitialSync MEMBER isInitialSync_ READ isInitialSync NOTIFY initialSyncChanged) - Q_PROPERTY( - bool isWindowFocused MEMBER isWindowFocused_ READ isWindowFocused NOTIFY focusChanged) + Q_PROPERTY( + bool isInitialSync MEMBER isInitialSync_ READ isInitialSync NOTIFY initialSyncChanged) + Q_PROPERTY( + bool isWindowFocused MEMBER isWindowFocused_ READ isWindowFocused NOTIFY focusChanged) public: - TimelineViewManager(CallManager *callManager, ChatPage *parent = nullptr); - QWidget *getWidget() const { return container; } + TimelineViewManager(CallManager *callManager, ChatPage *parent = nullptr); + QWidget *getWidget() const { return container; } - void sync(const mtx::responses::Rooms &rooms); + void sync(const mtx::responses::Rooms &rooms); - MxcImageProvider *imageProvider() { return imgProvider; } - CallManager *callManager() { return callManager_; } + MxcImageProvider *imageProvider() { return imgProvider; } + CallManager *callManager() { return callManager_; } - void clearAll() { rooms_->clear(); } + void clearAll() { rooms_->clear(); } - Q_INVOKABLE bool isInitialSync() const { return isInitialSync_; } - bool isWindowFocused() const { return isWindowFocused_; } - Q_INVOKABLE void openImageOverlay(QString mxcUrl, QString eventId); - Q_INVOKABLE void openImagePackSettings(QString roomid); - Q_INVOKABLE QColor userColor(QString id, QColor background); - Q_INVOKABLE QString escapeEmoji(QString str) const; - Q_INVOKABLE QString htmlEscape(QString str) const { return str.toHtmlEscaped(); } + Q_INVOKABLE bool isInitialSync() const { return isInitialSync_; } + bool isWindowFocused() const { return isWindowFocused_; } + Q_INVOKABLE void openImageOverlay(QString mxcUrl, QString eventId); + Q_INVOKABLE void openImagePackSettings(QString roomid); + Q_INVOKABLE QColor userColor(QString id, QColor background); + Q_INVOKABLE QString escapeEmoji(QString str) const; + Q_INVOKABLE QString htmlEscape(QString str) const { return str.toHtmlEscaped(); } - Q_INVOKABLE QString userPresence(QString id) const; - Q_INVOKABLE QString userStatus(QString id) const; + Q_INVOKABLE QString userPresence(QString id) const; + Q_INVOKABLE QString userStatus(QString id) const; - Q_INVOKABLE void openRoomMembers(TimelineModel *room); - Q_INVOKABLE void openRoomSettings(QString room_id); - Q_INVOKABLE void openInviteUsers(QString roomId); - Q_INVOKABLE void openGlobalUserProfile(QString userId); + Q_INVOKABLE void openRoomMembers(TimelineModel *room); + Q_INVOKABLE void openRoomSettings(QString room_id); + Q_INVOKABLE void openInviteUsers(QString roomId); + Q_INVOKABLE void openGlobalUserProfile(QString userId); - Q_INVOKABLE void focusMessageInput(); - Q_INVOKABLE void openLeaveRoomDialog(QString roomid) const; - Q_INVOKABLE void removeVerificationFlow(DeviceVerificationFlow *flow); + Q_INVOKABLE void focusMessageInput(); + Q_INVOKABLE void openLeaveRoomDialog(QString roomid) const; + Q_INVOKABLE void removeVerificationFlow(DeviceVerificationFlow *flow); - Q_INVOKABLE void fixImageRendering(QQuickTextDocument *t, QQuickItem *i); + Q_INVOKABLE void fixImageRendering(QQuickTextDocument *t, QQuickItem *i); - void verifyUser(QString userid); - void verifyDevice(QString userid, QString deviceid); + void verifyUser(QString userid); + void verifyDevice(QString userid, QString deviceid); signals: - void activeTimelineChanged(TimelineModel *timeline); - void initialSyncChanged(bool isInitialSync); - void replyingEventChanged(QString replyingEvent); - void replyClosed(); - void newDeviceVerificationRequest(DeviceVerificationFlow *flow); - void inviteUsers(QString roomId, QStringList users); - void showRoomList(); - void narrowViewChanged(); - void focusChanged(); - void focusInput(); - void openImageOverlayInternalCb(QString eventId, QImage img); - void openRoomMembersDialog(MemberList *members, TimelineModel *room); - void openRoomSettingsDialog(RoomSettings *settings); - void openInviteUsersDialog(InviteesModel *invitees); - void openProfile(UserProfile *profile); - void showImagePackSettings(ImagePackListModel *packlist); + void activeTimelineChanged(TimelineModel *timeline); + void initialSyncChanged(bool isInitialSync); + void replyingEventChanged(QString replyingEvent); + void replyClosed(); + void newDeviceVerificationRequest(DeviceVerificationFlow *flow); + void inviteUsers(QString roomId, QStringList users); + void showRoomList(); + void narrowViewChanged(); + void focusChanged(); + void focusInput(); + void openImageOverlayInternalCb(QString eventId, QImage img); + void openRoomMembersDialog(MemberList *members, TimelineModel *room); + void openRoomSettingsDialog(RoomSettings *settings); + void openInviteUsersDialog(InviteesModel *invitees); + void openProfile(UserProfile *profile); + void showImagePackSettings(ImagePackListModel *packlist); public slots: - void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids); - void receivedSessionKey(const std::string &room_id, const std::string &session_id); - void initializeRoomlist(); - void chatFocusChanged(bool focused) - { - isWindowFocused_ = focused; - emit focusChanged(); - } - - void showEvent(const QString &room_id, const QString &event_id); - void focusTimeline(); - - void updateColorPalette(); - void queueReply(const QString &roomid, - const QString &repliedToEvent, - const QString &replyBody); - void queueCallMessage(const QString &roomid, const mtx::events::msg::CallInvite &); - void queueCallMessage(const QString &roomid, const mtx::events::msg::CallCandidates &); - void queueCallMessage(const QString &roomid, const mtx::events::msg::CallAnswer &); - void queueCallMessage(const QString &roomid, const mtx::events::msg::CallHangUp &); - - void setVideoCallItem(); - - QObject *completerFor(QString completerName, QString roomId = ""); - void forwardMessageToRoom(mtx::events::collections::TimelineEvents *e, QString roomId); - - RoomlistModel *rooms() { return rooms_; } + void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids); + void receivedSessionKey(const std::string &room_id, const std::string &session_id); + void initializeRoomlist(); + void chatFocusChanged(bool focused) + { + isWindowFocused_ = focused; + emit focusChanged(); + } + + void showEvent(const QString &room_id, const QString &event_id); + void focusTimeline(); + + void updateColorPalette(); + void queueReply(const QString &roomid, const QString &repliedToEvent, const QString &replyBody); + void queueCallMessage(const QString &roomid, const mtx::events::msg::CallInvite &); + void queueCallMessage(const QString &roomid, const mtx::events::msg::CallCandidates &); + void queueCallMessage(const QString &roomid, const mtx::events::msg::CallAnswer &); + void queueCallMessage(const QString &roomid, const mtx::events::msg::CallHangUp &); + + void setVideoCallItem(); + + QObject *completerFor(QString completerName, QString roomId = ""); + void forwardMessageToRoom(mtx::events::collections::TimelineEvents *e, QString roomId); + + RoomlistModel *rooms() { return rooms_; } private slots: - void openImageOverlayInternal(QString eventId, QImage img); + void openImageOverlayInternal(QString eventId, QImage img); private: #ifdef USE_QUICK_VIEW - QQuickView *view; + QQuickView *view; #else - QQuickWidget *view; + QQuickWidget *view; #endif - QWidget *container; + QWidget *container; - MxcImageProvider *imgProvider; - ColorImageProvider *colorImgProvider; - BlurhashProvider *blurhashProvider; - JdenticonProvider *jdenticonProvider; + MxcImageProvider *imgProvider; + ColorImageProvider *colorImgProvider; + BlurhashProvider *blurhashProvider; + JdenticonProvider *jdenticonProvider; - CallManager *callManager_ = nullptr; + CallManager *callManager_ = nullptr; - bool isInitialSync_ = true; - bool isWindowFocused_ = false; + bool isInitialSync_ = true; + bool isWindowFocused_ = false; - RoomlistModel *rooms_ = nullptr; - CommunitiesModel *communities_ = nullptr; + RoomlistModel *rooms_ = nullptr; + CommunitiesModel *communities_ = nullptr; - QHash<QString, QColor> userColors; + QHash<QString, QColor> userColors; - QHash<QString, QSharedPointer<DeviceVerificationFlow>> dvList; + QHash<QString, QSharedPointer<DeviceVerificationFlow>> dvList; }; Q_DECLARE_METATYPE(mtx::events::msg::KeyVerificationAccept) Q_DECLARE_METATYPE(mtx::events::msg::KeyVerificationCancel)