clean up margin setting

This commit is contained in:
Malte E 2022-02-05 21:53:21 +01:00
parent f5a693ac03
commit 9d194cc2e6
3 changed files with 29 additions and 32 deletions

View file

@ -46,7 +46,7 @@ Item {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
height: row.height height: row.height+reactionRow.height+(Settings.bubbles? 8 : 4)
Rectangle { Rectangle {
color: (Settings.messageHoverHighlight && hoverHandler.hovered) ? Nheko.colors.alternateBase : "transparent" color: (Settings.messageHoverHighlight && hoverHandler.hovered) ? Nheko.colors.alternateBase : "transparent"
@ -71,16 +71,20 @@ Item {
gesturePolicy: TapHandler.ReleaseWithinBounds gesturePolicy: TapHandler.ReleaseWithinBounds
} }
Item { Control {
id: row id: row
anchors.rightMargin: 1 anchors.rightMargin: 1
anchors.leftMargin: Nheko.avatarSize + 12 anchors.leftMargin: Nheko.avatarSize + 12 // align bubble with section header
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
height: msg.height+(reactionRow.height> 0 ? reactionRow.height-4 : 0) height: msg.height
Rectangle { topInset: -4
anchors.fill: msg bottomInset: -4
leftInset: -4
rightInset: -4
background: Rectangle {
//anchors.fill: msg
property color userColor: TimelineManager.userColor(userId, Nheko.colors.base) property color userColor: TimelineManager.userColor(userId, Nheko.colors.base)
property color bgColor: Nheko.colors.base property color bgColor: Nheko.colors.base
color: Qt.rgba(userColor.r*0.1+bgColor.r*0.9,userColor.g*0.1+bgColor.g*0.9,userColor.b*0.1+bgColor.b*0.9,1) //TimelineManager.userColor(userId, Nheko.colors.base) color: Qt.rgba(userColor.r*0.1+bgColor.r*0.9,userColor.g*0.1+bgColor.g*0.9,userColor.b*0.1+bgColor.b*0.9,1) //TimelineManager.userColor(userId, Nheko.colors.base)
@ -94,12 +98,10 @@ Item {
right: parent.right right: parent.right
left: parent.left left: parent.left
top: parent.top top: parent.top
topMargin: 1
bottomMargin: 1
} }
property bool narrowLayout: (row.width < 350) && Settings.bubbles property bool narrowLayout: (row.width < 350) && Settings.bubbles
rowSpacing: 0 rowSpacing: 0
columnSpacing: 0 columnSpacing: 2
columns: narrowLayout? 1 : 2 columns: narrowLayout? 1 : 2
rows: narrowLayout? 3 : 2 rows: narrowLayout? 3 : 2
@ -108,9 +110,7 @@ Item {
Layout.row: 0 Layout.row: 0
Layout.column: 0 Layout.column: 0
Layout.fillWidth: true Layout.fillWidth: true
Layout.margins: visible? 4 : 0 Layout.bottomMargin: visible? 2 : 0
Layout.bottomMargin: 0
Layout.topMargin: visible? (Settings.bubbles? 4 : 2) : 0
id: reply id: reply
function fromModel(role) { function fromModel(role) {
@ -145,10 +145,6 @@ Item {
Layout.row: 1 Layout.row: 1
Layout.column: 0 Layout.column: 0
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: 4
Layout.rightMargin: 4
Layout.topMargin: reply.visible ? 2 : 4
Layout.bottomMargin: Settings.bubbles? (msg.narrowLayout? 0 : 4) : 2
id: contentItem id: contentItem
blurhash: r.blurhash blurhash: r.blurhash
@ -178,9 +174,9 @@ Item {
Layout.column: msg.narrowLayout? 0 : 1 Layout.column: msg.narrowLayout? 0 : 1
Layout.row: msg.narrowLayout? 2 : 0 Layout.row: msg.narrowLayout? 2 : 0
Layout.rowSpan: msg.narrowLayout? 1 : 2 Layout.rowSpan: msg.narrowLayout? 1 : 2
Layout.bottomMargin: msg.narrowLayout? -4 : 0
Layout.alignment: Qt.AlignTop | Qt.AlignRight Layout.alignment: Qt.AlignTop | Qt.AlignRight
Layout.topMargin: msg.narrowLayout? 0 : 4
Layout.rightMargin: Settings.bubbles? 4 : 0
property double scaling: msg.narrowLayout? 0.75 : 1 property double scaling: msg.narrowLayout? 0.75 : 1
StatusIndicator { StatusIndicator {
Layout.alignment: Qt.AlignRight | Qt.AlignTop Layout.alignment: Qt.AlignRight | Qt.AlignTop
@ -235,11 +231,12 @@ Item {
} }
} }
} }
}
Reactions { Reactions {
anchors { anchors {
bottom: parent.bottom top: row.bottom
left: parent.left left: parent.left
leftMargin: Nheko.avatarSize + 16
} }
id: reactionRow id: reactionRow
@ -248,4 +245,3 @@ Item {
eventId: r.eventId eventId: r.eventId
} }
} }
}

View file

@ -56,7 +56,7 @@ Item {
id: replyContainer id: replyContainer
anchors.left: colorLine.right anchors.left: colorLine.right
width: parent.width - 8 width: parent.width - 4
spacing: 0 spacing: 0
TapHandler { TapHandler {

View file

@ -809,7 +809,7 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
case Markdown: case Markdown:
return tr("Send messages as Markdown"); return tr("Send messages as Markdown");
case Bubbles: case Bubbles:
return tr("Enable Message bubbles"); return tr("Enable message bubbles");
case AnimateImagesOnHover: case AnimateImagesOnHover:
return tr("Play animated images only on hover"); return tr("Play animated images only on hover");
case TypingNotifications: case TypingNotifications:
@ -1059,7 +1059,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const
"Allow using markdown in messages.\nWhen disabled, all messages are sent as a plain " "Allow using markdown in messages.\nWhen disabled, all messages are sent as a plain "
"text."); "text.");
case Bubbles: case Bubbles:
return tr("Messages received a bubble background."); return tr(
"Messages get a bubble background. This also triggers some layout changes (WIP).");
case AnimateImagesOnHover: case AnimateImagesOnHover:
return tr("Plays media like GIFs or WEBPs only when explicitly hovering over them."); return tr("Plays media like GIFs or WEBPs only when explicitly hovering over them.");
case TypingNotifications: case TypingNotifications: