Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F1037426
RoomSettingsPage.qml
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
RoomSettingsPage.qml
View Options
/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2023 tusooa <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import
QtQuick
2.15
import
QtQuick
.
Layouts
1.15
import
QtQuick
.
Controls
2.15
import
org
.
kde
.
kirigami
2.13
as
Kirigami
import
'../matrix-helpers.js'
as
Helpers
import
'..'
as
Kazv
import
'.'
as
RoomSettings
Kirigami
.
ScrollablePage
{
id: roomSettingsPage
property
var
room
property
var
roomDisplayName:
Helpers
.
roomNameOrHeroes
(
room
,
l10n
)
property
var
customTagIds:
room
.
tagIds
.
filter
(
k
=>
k
.
startsWith
(
'u.'
))
title:
l10n
.
get
(
'room-settings-page-title'
,
{
room:
roomDisplayName
})
function
tagIdToName
(
tagId
)
{
return
tagId
.
slice
(
2
);
}
property
var
tagHandler:
RoomSettings
.
RoomTagHandler
{
room:
roomSettingsPage
.
room
}
ColumnLayout
{
Label
{
text:
l10n
.
get
(
'room-settings-tags'
)
Layout.fillWidth:
true
}
CheckBox
{
text:
l10n
.
get
(
'room-settings-favourited'
)
checkable:
true
checked:
tagHandler
.
hasTag
(
'm.favourite'
)
enabled:
tagHandler
.
available
onToggled:
tagHandler
.
toggleTag
(
'm.favourite'
)
}
ListView
{
model:
customTagIds
.
length
Layout.fillWidth:
true
Layout.fillHeight:
true
Layout.minimumHeight:
childrenRect
.
height
delegate:
Kirigami
.
SwipeListItem
{
required
property
var
index
Label
{
text:
tagIdToName
(
customTagIds
[
index
])
}
actions:
[
Kirigami
.
Action
{
enabled:
tagHandler
.
available
iconName:
'list-remove-symbolic'
text:
l10n
.
get
(
'room-settings-remove-tag'
)
onTriggered:
tagHandler
.
toggleTag
(
customTagIds
[
index
])
}
]
}
}
RowLayout
{
TextField
{
id: newTagName
enabled:
tagHandler
.
available
text:
''
Layout.fillWidth:
true
}
Button
{
enabled:
tagHandler
.
available
text:
l10n
.
get
(
'room-settings-add-tag'
)
onClicked:
{
tagHandler
.
toggleTag
(
'u.'
+
newTagName
.
text
)
}
}
Connections
{
target:
tagHandler
function
onTagAdded
(
tagId
)
{
if
(
tagId
===
'u.'
+
newTagName
.
text
)
{
newTagName
.
text
=
''
;
}
}
}
}
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, May 14, 7:16 AM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
110202
Default Alt Text
RoomSettingsPage.qml (2 KB)
Attached To
Mode
rK kazv
Attached
Detach File
Event Timeline
Log In to Comment