summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--resources/qml/ForwardCompleter.qml7
-rw-r--r--src/timeline/TimelineViewManager.cpp51
-rw-r--r--src/timeline/TimelineViewManager.h48
3 files changed, 55 insertions, 51 deletions
diff --git a/resources/qml/ForwardCompleter.qml b/resources/qml/ForwardCompleter.qml
index 6dbd8926..c544378b 100644
--- a/resources/qml/ForwardCompleter.qml
+++ b/resources/qml/ForwardCompleter.qml
@@ -25,7 +25,10 @@ Popup {
     height: implicitHeight + completerPopup.height + padding * 2
     leftPadding: 10
     rightPadding: 10
-    background: null
+    background: Rectangle {
+	    color: colors.window
+    }
+
     onOpened: {
         completerPopup.open();
         roomTextInput.forceActiveFocus();
@@ -108,7 +111,7 @@ Popup {
     }
 
     Overlay.modal: Rectangle {
-        color: Qt.rgba(colors.window.r, colors.window.g, colors.window.b, 0.75)
+        color: Qt.rgba(colors.window.r, colors.window.g, colors.window.b, 0.7)
     }
 
 }
diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index 518ccaf1..9d12825f 100644
--- a/src/timeline/TimelineViewManager.cpp
+++ b/src/timeline/TimelineViewManager.cpp
@@ -18,6 +18,7 @@
 #include "CompletionProxyModel.h"
 #include "DelegateChooser.h"
 #include "DeviceVerificationFlow.h"
+#include "EventAccessors.h"
 #include "Logging.h"
 #include "MainWindow.h"
 #include "MatrixClient.h"
@@ -36,6 +37,54 @@ Q_DECLARE_METATYPE(std::vector<DeviceInfo>)
 
 namespace msgs = mtx::events::msg;
 
+namespace {
+template<template<class...> class Op, class... Args>
+using is_detected = typename nheko::detail::detector<nheko::nonesuch, void, Op, Args...>::value_t;
+
+template<class Content>
+using file_t = decltype(Content::file);
+
+template<class Content>
+using url_t = decltype(Content::url);
+
+template<class Content>
+using body_t = decltype(Content::body);
+
+template<class Content>
+using formatted_body_t = decltype(Content::formatted_body);
+
+template<typename T>
+static constexpr bool
+messageWithFileAndUrl(const mtx::events::Event<T> &)
+{
+        return is_detected<file_t, T>::value && is_detected<url_t, T>::value;
+}
+
+template<typename T>
+static constexpr void
+removeReplyFallback(mtx::events::Event<T> &e)
+{
+        if constexpr (is_detected<body_t, T>::value) {
+                if constexpr (std::is_same_v<std::optional<std::string>,
+                                             std::remove_cv_t<decltype(e.content.body)>>) {
+                        if (e.content.body) {
+                                e.content.body = utils::stripReplyFromBody(e.content.body);
+                        }
+                } else if constexpr (std::is_same_v<std::string,
+                                                    std::remove_cv_t<decltype(e.content.body)>>) {
+                        e.content.body = utils::stripReplyFromBody(e.content.body);
+                }
+        }
+
+        if constexpr (is_detected<formatted_body_t, T>::value) {
+                if (e.content.format == "org.matrix.custom.html") {
+                        e.content.formatted_body =
+                          utils::stripReplyFromFormattedBody(e.content.formatted_body);
+                }
+        }
+}
+}
+
 void
 TimelineViewManager::updateEncryptedDescriptions()
 {
@@ -694,4 +743,4 @@ TimelineViewManager::forwardMessageToRoom(mtx::events::collections::TimelineEven
                   }
           },
           *e);
-}
\ No newline at end of file
+}
diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index 809b286e..9703ee56 100644
--- a/src/timeline/TimelineViewManager.h
+++ b/src/timeline/TimelineViewManager.h
@@ -16,7 +16,6 @@
 
 #include "Cache.h"
 #include "CallManager.h"
-#include "EventAccessors.h"
 #include "Logging.h"
 #include "TimelineModel.h"
 #include "Utils.h"
@@ -153,53 +152,6 @@ private slots:
         void openImageOverlayInternal(QString eventId, QImage img);
 
 private:
-        template<template<class...> class Op, class... Args>
-        using is_detected =
-          typename nheko::detail::detector<nheko::nonesuch, void, Op, Args...>::value_t;
-
-        template<class Content>
-        using file_t = decltype(Content::file);
-
-        template<class Content>
-        using url_t = decltype(Content::url);
-
-        template<class Content>
-        using body_t = decltype(Content::body);
-
-        template<class Content>
-        using formatted_body_t = decltype(Content::formatted_body);
-
-        template<typename T>
-        static constexpr bool messageWithFileAndUrl(const mtx::events::Event<T> &)
-        {
-                return is_detected<file_t, T>::value && is_detected<url_t, T>::value;
-        }
-
-        template<typename T>
-        static constexpr void removeReplyFallback(mtx::events::Event<T> &e)
-        {
-                if constexpr (is_detected<body_t, T>::value) {
-                        if constexpr (std::is_same_v<std::optional<std::string>,
-                                                     std::remove_cv_t<decltype(e.content.body)>>) {
-                                if (e.content.body) {
-                                        e.content.body = utils::stripReplyFromBody(e.content.body);
-                                }
-                        } else if constexpr (std::is_same_v<
-                                               std::string,
-                                               std::remove_cv_t<decltype(e.content.body)>>) {
-                                e.content.body = utils::stripReplyFromBody(e.content.body);
-                        }
-                }
-
-                if constexpr (is_detected<formatted_body_t, T>::value) {
-                        if (e.content.format == "org.matrix.custom.html") {
-                                e.content.formatted_body =
-                                  utils::stripReplyFromFormattedBody(e.content.formatted_body);
-                        }
-                }
-        }
-
-private:
 #ifdef USE_QUICK_VIEW
         QQuickView *view;
 #else