aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/jami-images-loading.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/jami-images-loading.patch')
-rw-r--r--gnu/packages/patches/jami-images-loading.patch152
1 files changed, 0 insertions, 152 deletions
diff --git a/gnu/packages/patches/jami-images-loading.patch b/gnu/packages/patches/jami-images-loading.patch
deleted file mode 100644
index caf9e1e198..0000000000
--- a/gnu/packages/patches/jami-images-loading.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From be9dd0d0d8cb4556cd930edd783c0a1699565ac0 Mon Sep 17 00:00:00 2001
-From: kkostiuk <kateryna.kostiuk@savoirfairelinux.com>
-Date: Mon, 1 Nov 2021 17:39:23 -0400
-Subject: [PATCH] conversation: fix long loading time for images
-
-Change-Id: Id88cfbd571f4b504f258758bd13b4e4a91bf1b49
----
- .../DataTransferMessageDelegate.qml | 52 +++++++++++++++++--
- src/messagesadapter.cpp | 20 +++++--
- src/messagesadapter.h | 2 +-
- 3 files changed, 66 insertions(+), 8 deletions(-)
-
-diff --git a/client-qt/src/commoncomponents/DataTransferMessageDelegate.qml b/client-qt/src/commoncomponents/DataTransferMessageDelegate.qml
-index 7875e01..2e7dcc0 100644
---- a/client-qt/src/commoncomponents/DataTransferMessageDelegate.qml
-+++ b/client-qt/src/commoncomponents/DataTransferMessageDelegate.qml
-@@ -252,10 +252,11 @@ Loader {
- Loader {
- id: localMediaCompLoader
- anchors.right: isOutgoing ? parent.right : undefined
-+ asynchronous: true
- width: sourceComponent.width
- height: sourceComponent.height
- sourceComponent: mediaInfo.isImage !== undefined ?
-- imageComp :
-+ imageComp : mediaInfo.isAnimatedImage !== undefined ? animatedImageComp :
- avComp
- Component {
- id: avComp
-@@ -302,9 +303,9 @@ Loader {
- }
- }
- Component {
-- id: imageComp
-+ id: animatedImageComp
- AnimatedImage {
-- id: img
-+ id: animatedImg
- anchors.right: isOutgoing ? parent.right : undefined
- property real minSize: 192
- property real maxSize: 256
-@@ -327,6 +328,51 @@ Loader {
- anchors.fill: parent
- }
- layer.enabled: true
-+ layer.effect: OpacityMask {
-+ maskSource: MessageBubble {
-+ out: isOutgoing
-+ type: seq
-+ width: animatedImg.width
-+ height: animatedImg.height
-+ radius: msgRadius
-+ }
-+ }
-+ HoverHandler {
-+ target : parent
-+ onHoveredChanged: {
-+ localMediaMsgItem.hoveredLink = hovered ? animatedImg.source : ""
-+ }
-+ cursorShape: Qt.PointingHandCursor
-+ }
-+ }
-+ }
-+
-+ Component {
-+ id: imageComp
-+ Image {
-+ id: img
-+ anchors.right: isOutgoing ? parent.right : undefined
-+ property real minSize: 192
-+ property real maxSize: 256
-+ cache: true
-+ fillMode: Image.PreserveAspectCrop
-+ mipmap: true
-+ antialiasing: true
-+ autoTransform: false
-+ asynchronous: true
-+ source: "file:///" + Body
-+ property real aspectRatio: implicitWidth / implicitHeight
-+ property real adjustedWidth: Math.min(maxSize,
-+ Math.max(minSize,
-+ innerContent.width - senderMargin))
-+ width: adjustedWidth
-+ height: Math.ceil(adjustedWidth / aspectRatio)
-+ Rectangle {
-+ color: JamiTheme.previewImageBackgroundColor
-+ z: -1
-+ anchors.fill: parent
-+ }
-+ layer.enabled: true
- layer.effect: OpacityMask {
- maskSource: MessageBubble {
- out: isOutgoing
-diff --git a/client-qt/src/messagesadapter.cpp b/client-qt/src/messagesadapter.cpp
-index 91f8eed..ba38e53 100644
---- a/client-qt/src/messagesadapter.cpp
-+++ b/client-qt/src/messagesadapter.cpp
-@@ -458,13 +458,24 @@ MessagesAdapter::conversationTypersUrlToName(const QSet<QString>& typersSet)
- return nameList;
- }
-
--bool
-+QVariantMap
- MessagesAdapter::isLocalImage(const QString& msg)
- {
- QImageReader reader;
- reader.setDecideFormatFromContent(true);
- reader.setFileName(msg);
-- return !reader.read().isNull();
-+ QByteArray fileFormat = reader.format();
-+ if (fileFormat == "gif") {
-+ return {{"isAnimatedImage", true}};
-+ }
-+ QList<QByteArray> supportedFormats = reader.supportedImageFormats();
-+ auto iterator = std::find_if(supportedFormats.begin(),
-+ supportedFormats.end(),
-+ [fileFormat](QByteArray format) { return format == fileFormat; });
-+ if (iterator != supportedFormats.end()) {
-+ return {{"isImage", true}};
-+ }
-+ return {{"isImage", false}};
- }
-
- QVariantMap
-@@ -476,8 +487,9 @@ MessagesAdapter::getMediaInfo(const QString& msg)
- "<%1 style='width:100%;height:%2;outline:none;background-color:#f1f3f4;"
- "object-fit:cover;' "
- "controls controlsList='nodownload' src='file://%3' type='%4'/></body>";
-- if (isLocalImage(msg)) {
-- return {{"isImage", true}};
-+ QVariantMap fileInfo = isLocalImage(msg);
-+ if (fileInfo["isImage"].toBool() || fileInfo["isAnimatedImage"].toBool()) {
-+ return fileInfo;
- }
- QRegularExpression vPattern("[^\\s]+(.*?)\\.(avi|mov|webm|webp|rmvb)$",
- QRegularExpression::CaseInsensitiveOption);
-diff --git a/client-qt/src/messagesadapter.h b/client-qt/src/messagesadapter.h
-index bfa4e62..1965c5e 100644
---- a/client-qt/src/messagesadapter.h
-+++ b/client-qt/src/messagesadapter.h
-@@ -101,7 +101,7 @@ protected:
- Q_INVOKABLE void deleteInteraction(const QString& interactionId);
- Q_INVOKABLE void copyToDownloads(const QString& interactionId, const QString& displayName);
- Q_INVOKABLE void userIsComposing(bool isComposing);
-- Q_INVOKABLE bool isLocalImage(const QString& msg);
-+ Q_INVOKABLE QVariantMap isLocalImage(const QString& msg);
- Q_INVOKABLE QVariantMap getMediaInfo(const QString& msg);
- Q_INVOKABLE bool isRemoteImage(const QString& msg);
- Q_INVOKABLE QString getFormattedTime(const quint64 timestamp);
---
-GitLab
-