aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt14
-rw-r--r--lib/events/roommessageevent.cpp6
-rw-r--r--lib/events/roommessageevent.h4
3 files changed, 13 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 555ffa96..285862df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -75,14 +75,14 @@ set(CMAKE_AUTOMOC ON)
option(BUILD_WITH_QT6 "Build Quotient with Qt 6 (EXPERIMENTAL)" OFF)
if (BUILD_WITH_QT6)
- find_package(Qt6 6.2 REQUIRED Core Network Gui Test) # TODO: Multimedia
- set(Qt Qt6)
- qt6_wrap_cpp(lib_SRCS lib/quotient_common.h)
+ set(QtMinVersion "6.0")
else()
- find_package(Qt5 5.12 REQUIRED Core Network Gui Multimedia Test)
- set(Qt Qt5)
+ set(QtMinVersion "5.12")
+ set(QtExtraModules "Multimedia") # See #483
endif()
-get_filename_component($Qt_Prefix "${${Qt}_DIR}/../../../.." ABSOLUTE)
+string(REGEX REPLACE "^(.).*" "Qt\\1" Qt ${QtMinVersion}) # makes "Qt5" or "Qt6"
+find_package(${Qt} ${QtMinVersion} REQUIRED Core Network Gui Test ${QtExtraModules})
+get_filename_component(Qt_Prefix "${${Qt}_DIR}/../../../.." ABSOLUTE)
message(STATUS "Using Qt ${${Qt}_VERSION} at ${Qt_Prefix}")
if (${PROJECT_NAME}_ENABLE_E2EE)
@@ -299,7 +299,7 @@ if (${PROJECT_NAME}_ENABLE_E2EE)
set(FIND_DEPS "find_dependency(QtOlm)") # For QuotientConfig.cmake.in
endif()
target_link_libraries(${PROJECT_NAME} ${Qt}::Core ${Qt}::Network ${Qt}::Gui)
-if (Qt STREQUAL Qt5) # Qt 6 hasn't got Multimedia component as yet
+if (Qt STREQUAL Qt5) # See #483
target_link_libraries(${PROJECT_NAME} ${Qt}::Multimedia)
endif()
diff --git a/lib/events/roommessageevent.cpp b/lib/events/roommessageevent.cpp
index 3f6e475d..71f85363 100644
--- a/lib/events/roommessageevent.cpp
+++ b/lib/events/roommessageevent.cpp
@@ -135,6 +135,7 @@ RoomMessageEvent::RoomMessageEvent(const QString& plainBody, MsgType msgType,
: RoomMessageEvent(plainBody, msgTypeToJson(msgType), content)
{}
+#if QT_VERSION_MAJOR < 6
TypedBase* contentFromFile(const QFileInfo& file, bool asGenericFile)
{
auto filePath = file.absoluteFilePath();
@@ -151,11 +152,7 @@ TypedBase* contentFromFile(const QFileInfo& file, bool asGenericFile)
// done by starting to play the file. Left for a future implementation.
if (mimeTypeName.startsWith("video/"))
return new VideoContent(localUrl, file.size(), mimeType,
-#if QT_VERSION_MAJOR < 6
QMediaResource(localUrl).resolution(),
-#else
- {},
-#endif
file.fileName());
if (mimeTypeName.startsWith("audio/"))
@@ -172,6 +169,7 @@ RoomMessageEvent::RoomMessageEvent(const QString& plainBody,
: rawMsgTypeForFile(file),
contentFromFile(file, asGenericFile))
{}
+#endif
RoomMessageEvent::RoomMessageEvent(const QJsonObject& obj)
: RoomEvent(typeId(), obj), _content(nullptr)
diff --git a/lib/events/roommessageevent.h b/lib/events/roommessageevent.h
index 8303ce4e..7bcda2ba 100644
--- a/lib/events/roommessageevent.h
+++ b/lib/events/roommessageevent.h
@@ -42,8 +42,12 @@ public:
explicit RoomMessageEvent(const QString& plainBody,
MsgType msgType = MsgType::Text,
EventContent::TypedBase* content = nullptr);
+#if QT_VERSION_MAJOR < 6
+ [[deprecated("Create an EventContent object on the client side"
+ " and pass it to other constructors")]] //
explicit RoomMessageEvent(const QString& plainBody, const QFileInfo& file,
bool asGenericFile = false);
+#endif
explicit RoomMessageEvent(const QJsonObject& obj);
MsgType msgtype() const;