summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2019-10-06 01:44:02 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2019-11-23 20:06:15 +0100
commit425d534e225a956fefb3bc2e8d2c8d26152f6353 (patch)
treedf3ff64fe9d9d2306b3c33e2a6f07d9cf0969990
parentAdd basic video messages (diff)
downloadnheko-425d534e225a956fefb3bc2e8d2c8d26152f6353.tar.xz
Enable Sticker and Emote messages
-rw-r--r--resources/qml/TimelineView.qml4
-rw-r--r--resources/qml/delegates/ImageMessage.qml3
-rw-r--r--src/timeline2/TimelineModel.cpp16
3 files changed, 14 insertions, 9 deletions
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml

index 4d8c22b8..b641992d 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml
@@ -110,7 +110,9 @@ Rectangle { //case MtxEvent.Topic: return "delegates/Topic.qml" case MtxEvent.NoticeMessage: return "delegates/NoticeMessage.qml" case MtxEvent.TextMessage: return "delegates/TextMessage.qml" + case MtxEvent.EmoteMessage: return "delegates/TextMessage.qml" case MtxEvent.ImageMessage: return "delegates/ImageMessage.qml" + case MtxEvent.Sticker: return "delegates/ImageMessage.qml" case MtxEvent.FileMessage: return "delegates/FileMessage.qml" case MtxEvent.VideoMessage: return "delegates/PlayableMediaMessage.qml" case MtxEvent.AudioMessage: return "delegates/PlayableMediaMessage.qml" @@ -204,7 +206,7 @@ Rectangle { onTriggered: chat.model.redactEvent(model.id) } MenuItem { - visible: model.type == MtxEvent.ImageMessage || model.type == MtxEvent.VideoMessage || model.type == MtxEvent.AudioMessage || model.type == MtxEvent.FileMessage + visible: model.type == MtxEvent.ImageMessage || model.type == MtxEvent.VideoMessage || model.type == MtxEvent.AudioMessage || model.type == MtxEvent.FileMessage || model.type == MtxEvent.Sticker text: qsTr("Save as") onTriggered: timelineManager.saveMedia(model.url, model.filename, model.mimetype, model.type) } diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml
index 3f5c00bf..2ed41a17 100644 --- a/resources/qml/delegates/ImageMessage.qml +++ b/resources/qml/delegates/ImageMessage.qml
@@ -1,5 +1,7 @@ import QtQuick 2.6 +import com.github.nheko 1.0 + Item { width: 300 height: 300 * eventData.proportionalHeight @@ -13,6 +15,7 @@ Item { fillMode: Image.PreserveAspectFit MouseArea { + enabled: eventData.type == MtxEvent.ImageMessage anchors.fill: parent onClicked: timelineManager.openImageOverlay(eventData.url, eventData.filename, eventData.mimetype, eventData.type) } diff --git a/src/timeline2/TimelineModel.cpp b/src/timeline2/TimelineModel.cpp
index d624c938..2d1a79c2 100644 --- a/src/timeline2/TimelineModel.cpp +++ b/src/timeline2/TimelineModel.cpp
@@ -16,26 +16,26 @@ namespace { template<class T> QString -eventId(const T &event) +eventId(const mtx::events::RoomEvent<T> &event) { return QString::fromStdString(event.event_id); } template<class T> QString -roomId(const T &event) +roomId(const mtx::events::Event<T> &event) { return QString::fromStdString(event.room_id); } template<class T> QString -senderId(const T &event) +senderId(const mtx::events::RoomEvent<T> &event) { return QString::fromStdString(event.sender); } template<class T> QDateTime -eventTimestamp(const T &event) +eventTimestamp(const mtx::events::RoomEvent<T> &event) { return QDateTime::fromMSecsSinceEpoch(event.origin_server_ts); } @@ -94,7 +94,7 @@ eventFormattedBody(const mtx::events::RoomEvent<T> &e) template<class T> QString -eventUrl(const T &) +eventUrl(const mtx::events::Event<T> &) { return ""; } @@ -108,7 +108,7 @@ eventUrl(const mtx::events::RoomEvent<T> &e) template<class T> QString -eventFilename(const T &) +eventFilename(const mtx::events::Event<T> &) { return ""; } @@ -148,14 +148,14 @@ eventFilesize(const mtx::events::RoomEvent<T> &e) -> decltype(e.content.info.siz template<class T> int64_t -eventFilesize(const T &) +eventFilesize(const mtx::events::Event<T> &) { return 0; } template<class T> QString -eventMimeType(const T &) +eventMimeType(const mtx::events::Event<T> &) { return QString(); }