Files
neochat/src/qml/RoomMedia.qml
2025-03-22 17:10:33 +01:00

70 lines
2.1 KiB
QML

// SPDX-FileCopyrightText: 2023 James Graham <james.h.graham@protonmail.com>
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick
import QtQuick.Controls as QQC2
import QtQuick.Layouts
import Qt.labs.qmlmodels
import org.kde.neochat
import org.kde.neochat.timeline
/**
* @brief Component for visualising the loaded media items in the room.
*
* The component is a simple list of media delegates (videos or images) with the
* ability to open them in the mamimize component.
*
* @note This component is only the contents, it will need to be placed in either
* a drawer (desktop) or page (mobile) to be used.
*
* @sa RoomDrawer, RoomDrawerPage
*/
QQC2.ScrollView {
id: root
/**
* @brief The title that should be displayed for this component if available.
*/
readonly property string title: i18nc("@action:title", "Room Media")
/**
* @brief The current room that user is viewing.
*/
required property NeoChatRoom currentRoom
required property NeoChatConnection connection
// HACK: Hide unnecessary horizontal scrollbar (https://bugreports.qt.io/browse/QTBUG-83890)
QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff
// ListView {
// clip: true
// verticalLayoutDirection: ListView.BottomToTop
//
// model: RoomManager.mediaMessageFilterModel
//
// delegate: DelegateChooser {
// role: "type"
//
// DelegateChoice {
// roleValue: MediaMessageFilterModel.Image
// delegate: MessageDelegate {
// alwaysFillWidth: true
// cardBackground: false
// room: root.currentRoom
// }
// }
//
// DelegateChoice {
// roleValue: MediaMessageFilterModel.Video
// delegate: MessageDelegate {
// alwaysFillWidth: true
// cardBackground: false
// room: root.currentRoom
// }
// }
// }
// }
}