Skip to content
Snippets Groups Projects
Unverified Commit 736ba5e2 authored by Nicolas Werner's avatar Nicolas Werner Committed by GitHub
Browse files

Merge pull request #488 from Nheko-Reborn/scroll-view-thingy

Use Scrollview again
parents af9b66dd 78ecffb4
No related branches found
No related tags found
No related merge requests found
Pipeline #693 passed
import "./voip" import "./voip"
import QtQuick 2.9 import QtQuick 2.12
import QtQuick.Controls 2.3 import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2 import QtQuick.Layouts 1.2
import QtQuick.Window 2.2 import QtQuick.Window 2.2
import im.nheko 1.0 import im.nheko 1.0
Rectangle { Rectangle {
id: inputBar
color: colors.window color: colors.window
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredHeight: textInput.height + 16 Layout.preferredHeight: row.implicitHeight
Layout.minimumHeight: 40 Layout.minimumHeight: 40
Component { Component {
...@@ -20,11 +22,9 @@ Rectangle { ...@@ -20,11 +22,9 @@ Rectangle {
} }
RowLayout { RowLayout {
id: inputBar id: row
anchors.fill: parent anchors.fill: parent
anchors.margins: 8
spacing: 16
ImageButton { ImageButton {
visible: CallManager.callsSupported visible: CallManager.callsSupported
...@@ -36,7 +36,7 @@ Rectangle { ...@@ -36,7 +36,7 @@ Rectangle {
image: CallManager.isOnCall ? ":/icons/icons/ui/end-call.png" : ":/icons/icons/ui/place-call.png" image: CallManager.isOnCall ? ":/icons/icons/ui/end-call.png" : ":/icons/icons/ui/place-call.png"
ToolTip.visible: hovered ToolTip.visible: hovered
ToolTip.text: CallManager.isOnCall ? qsTr("Hang up") : qsTr("Place a call") ToolTip.text: CallManager.isOnCall ? qsTr("Hang up") : qsTr("Place a call")
Layout.leftMargin: 8 Layout.margins: 8
onClicked: { onClicked: {
if (TimelineManager.timeline) { if (TimelineManager.timeline) {
if (CallManager.haveCallInvite) { if (CallManager.haveCallInvite) {
...@@ -58,7 +58,7 @@ Rectangle { ...@@ -58,7 +58,7 @@ Rectangle {
width: 22 width: 22
height: 22 height: 22
image: ":/icons/icons/ui/paper-clip-outline.png" image: ":/icons/icons/ui/paper-clip-outline.png"
Layout.leftMargin: CallManager.callsSupported ? 0 : 8 Layout.margins: 8
onClicked: TimelineManager.timeline.input.openFileSelection() onClicked: TimelineManager.timeline.input.openFileSelection()
ToolTip.visible: hovered ToolTip.visible: hovered
ToolTip.text: qsTr("Send a file") ToolTip.text: qsTr("Send a file")
...@@ -77,31 +77,13 @@ Rectangle { ...@@ -77,31 +77,13 @@ Rectangle {
} }
Flickable { ScrollView {
id: textInput id: textInput
function ensureVisible(r) { Layout.alignment: Qt.AlignBottom // | Qt.AlignHCenter
if (contentX >= r.x)
contentX = r.x;
else if (contentX + width <= r.x + r.width)
contentX = r.x + r.width - width;
if (contentY >= r.y)
contentY = r.y;
else if (contentY + height <= r.y + r.height)
contentY = r.y + r.height - height;
}
Layout.alignment: Qt.AlignBottom
Layout.maximumHeight: Window.height / 4 Layout.maximumHeight: Window.height / 4
Layout.minimumHeight: Settings.fontSize Layout.minimumHeight: Settings.fontSize
Layout.fillWidth: true implicitWidth: inputBar.width - 4 * (22 + 16) - 24
clip: true
boundsBehavior: Flickable.StopAtBounds
flickableDirection: Flickable.VerticalFlick
implicitWidth: messageInput.width
implicitHeight: messageInput.height
contentWidth: messageInput.width
contentHeight: messageInput.height
TextArea { TextArea {
id: messageInput id: messageInput
...@@ -122,18 +104,11 @@ Rectangle { ...@@ -122,18 +104,11 @@ Rectangle {
selectByMouse: true selectByMouse: true
placeholderText: qsTr("Write a message...") placeholderText: qsTr("Write a message...")
//placeholderTextColor: colors.buttonText placeholderTextColor: colors.buttonText
// only set the anchors on Qt 5.12 or higher
// see https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html#anchors.centerIn-prop
Component.onCompleted: {
if (placeholderTextColor !== undefined)
placeholderTextColor = colors.buttonText;
}
color: colors.text color: colors.text
width: textInput.width width: textInput.width
wrapMode: TextEdit.Wrap wrapMode: TextEdit.Wrap
padding: 0 padding: 8
focus: true focus: true
onTextChanged: { onTextChanged: {
if (TimelineManager.timeline) if (TimelineManager.timeline)
...@@ -141,7 +116,6 @@ Rectangle { ...@@ -141,7 +116,6 @@ Rectangle {
forceActiveFocus(); forceActiveFocus();
} }
onCursorRectangleChanged: textInput.ensureVisible(cursorRectangle)
onCursorPositionChanged: { onCursorPositionChanged: {
if (!TimelineManager.timeline) if (!TimelineManager.timeline)
return ; return ;
...@@ -296,15 +270,13 @@ Rectangle { ...@@ -296,15 +270,13 @@ Rectangle {
} }
ScrollBar.vertical: ScrollBar {
}
} }
ImageButton { ImageButton {
id: emojiButton id: emojiButton
Layout.alignment: Qt.AlignRight | Qt.AlignBottom Layout.alignment: Qt.AlignRight | Qt.AlignBottom
Layout.margins: 8
hoverEnabled: true hoverEnabled: true
width: 22 width: 22
height: 22 height: 22
...@@ -319,6 +291,7 @@ Rectangle { ...@@ -319,6 +291,7 @@ Rectangle {
ImageButton { ImageButton {
Layout.alignment: Qt.AlignRight | Qt.AlignBottom Layout.alignment: Qt.AlignRight | Qt.AlignBottom
Layout.margins: 8
hoverEnabled: true hoverEnabled: true
width: 22 width: 22
height: 22 height: 22
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment