Use a text area instead of field for room topic

This commit is contained in:
miruka 2020-06-02 21:50:47 -04:00
parent 76f0c5626f
commit 6772f14c24
4 changed files with 13 additions and 12 deletions

View File

@ -44,6 +44,9 @@ and this project adheres to
- Improve the error messages shown when trying to start a direct chat with or
invite a non-existing user
- In room settings or creation, use a text area for the topic instead of a
field limited to a single line
### Removed
- Removed delay when multiple rooms are removed/hidden from the list.

View File

@ -1,5 +1,6 @@
# TODO
- fields/areas defaultText not updating when unchanged
- fix cursor over field
- update room highlight when creating new room
- keyerror when forgetting room while loading members
@ -22,8 +23,6 @@
- Don't send typing notification when switching to a room where the composer
has loaded text
- SSL error on python 3.7
- Jumping between accounts (clicking in account bar or alt+(Shift+)N) is
laggy with hundreds of rooms in between
- On startup, if a room's last event is a membership change,
@ -66,8 +65,7 @@
URL in browser
- Make rooms fully manageable within Mirage: settings, permissions, unban
- Labeled text area component, use it for room creation/settings topic
- Linkify URLs in topic text areas
- Linkify URLs in topic text areas
- Expand the room pane if it's currently too small to show room settings
- Use a loader for items not in view for the `HTabContainer`'s `SwipeView`

View File

@ -22,7 +22,7 @@ HBox {
const args = [
nameField.item.text,
topicField.item.text,
topicArea.item.text,
publicCheckBox.checked,
encryptCheckBox.checked,
! blockOtherServersCheckBox.checked,
@ -41,7 +41,7 @@ HBox {
cancel: button => {
nameField.item.text = ""
topicField.item.text = ""
topicArea.item.text = ""
publicCheckBox.checked = false
encryptCheckBox.checked = false
blockOtherServersCheckBox.checked = false
@ -86,12 +86,12 @@ HBox {
}
HLabeledItem {
id: topicField
id: topicArea
label.text: qsTr("Topic:")
Layout.fillWidth: true
HTextField {
HTextArea {
width: parent.width
placeholderText: qsTr("This room is about...")
}

View File

@ -38,7 +38,7 @@ HBox {
}
nameField.item.reset()
topicField.item.reset()
topicArea.item.reset()
encryptCheckBox.reset()
requireInviteCheckbox.reset()
forbidGuestsCheckBox.reset()
@ -49,7 +49,7 @@ HBox {
property var saveFuture: null
readonly property bool anyChange:
nameField.item.changed || topicField.item.changed ||
nameField.item.changed || topicArea.item.changed ||
encryptCheckBox.changed || requireInviteCheckbox.changed ||
forbidGuestsCheckBox.changed
@ -85,12 +85,12 @@ HBox {
}
HLabeledItem {
id: topicField
id: topicArea
label.text: qsTr("Topic:")
Layout.fillWidth: true
HTextField {
HTextArea {
width: parent.width
placeholderText: qsTr("This room is about...")
defaultText: chat.roomInfo.plain_topic