Warning, /network/neochat/src/qml/RoomMedia.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 James Graham <james.h.graham@protonmail.com> 0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0003 0004 import QtQuick 0005 import QtQuick.Controls as QQC2 0006 import QtQuick.Layouts 0007 import Qt.labs.qmlmodels 0008 0009 import org.kde.neochat 0010 0011 /** 0012 * @brief Component for visualising the loaded media items in the room. 0013 * 0014 * The component is a simple list of media delegates (videos or images) with the 0015 * ability to open them in the mamimize component. 0016 * 0017 * @note This component is only the contents, it will need to be placed in either 0018 * a drawer (desktop) or page (mobile) to be used. 0019 * 0020 * @sa RoomDrawer, RoomDrawerPage 0021 */ 0022 QQC2.ScrollView { 0023 id: root 0024 0025 /** 0026 * @brief The title that should be displayed for this component if available. 0027 */ 0028 readonly property string title: i18nc("@action:title", "Room Media") 0029 0030 /** 0031 * @brief The current room that user is viewing. 0032 */ 0033 required property NeoChatRoom currentRoom 0034 0035 required property NeoChatConnection connection 0036 0037 // HACK: Hide unnecessary horizontal scrollbar (https://bugreports.qt.io/browse/QTBUG-83890) 0038 QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff 0039 0040 ListView { 0041 clip: true 0042 verticalLayoutDirection: ListView.BottomToTop 0043 0044 model: RoomManager.mediaMessageFilterModel 0045 0046 delegate: DelegateChooser { 0047 role: "type" 0048 0049 DelegateChoice { 0050 roleValue: 0//MediaMessageFilterModel.Image 0051 delegate: ImageDelegate { 0052 alwaysShowAuthor: true 0053 alwaysMaxWidth: true 0054 cardBackground: false 0055 room: root.currentRoom 0056 } 0057 } 0058 0059 DelegateChoice { 0060 roleValue: 1//MediaMessageFilterModel.Video 0061 delegate: VideoDelegate { 0062 alwaysShowAuthor: true 0063 alwaysMaxWidth: true 0064 cardBackground: false 0065 room: root.currentRoom 0066 } 0067 } 0068 } 0069 } 0070 }