From e077bdbdd577ef2ca6cbdd3fb617195426797d1e Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Mon, 14 Feb 2022 22:56:35 +0100 Subject: [PATCH] Allow window sizes smaller than 400x400 --- resources/qml/MessageInput.qml | 16 ++++++++++++---- src/Config.h | 7 ++----- src/MainWindow.cpp | 4 ++-- src/dialogs/CreateRoom.cpp | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml index ceb2e1ea..da841b7f 100644 --- a/resources/qml/MessageInput.qml +++ b/resources/qml/MessageInput.qml @@ -32,6 +32,7 @@ Rectangle { visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false anchors.fill: parent + spacing: 0 ImageButton { visible: CallManager.callsSupported @@ -88,8 +89,13 @@ Rectangle { Layout.alignment: Qt.AlignVCenter Layout.maximumHeight: Window.height / 4 - Layout.minimumHeight: Settings.fontSize - implicitWidth: inputBar.width - 5 * (22 + 16) - 24 + Layout.minimumHeight: fontMetrics.lineSpacing + Layout.preferredHeight: contentHeight + Layout.fillWidth: true + + ScrollBar.horizontal.policy: ScrollBar.AlwaysOff + + contentWidth: availableWidth TextArea { id: messageInput @@ -121,10 +127,12 @@ Rectangle { placeholderText: qsTr("Write a message...") placeholderTextColor: Nheko.colors.buttonText color: Nheko.colors.text - width: textInput.width + width: textInput.width verticalAlignment: TextEdit.AlignVCenter wrapMode: TextEdit.Wrap - padding: 8 + padding: 0 + topPadding: 8 + bottomPadding: 8 focus: true onTextChanged: { if (room) diff --git a/src/Config.h b/src/Config.h index b093665c..1acb395a 100644 --- a/src/Config.h +++ b/src/Config.h @@ -39,9 +39,6 @@ constexpr int labelSize = 15; } namespace modals { -constexpr int MIN_WIDGET_WIDTH = 400; -constexpr int MIN_WIDGET_HEIGHT = 400; - constexpr int WIDGET_MARGIN = 20; constexpr int WIDGET_SPACING = 15; constexpr int WIDGET_TOP_MARGiN = 2 * WIDGET_MARGIN; @@ -76,8 +73,8 @@ constexpr int height = 600; constexpr int width = 1066; constexpr int minModalWidth = 340; -constexpr int minHeight = height; -constexpr int minWidth = 950; +constexpr int minHeight = 340; +constexpr int minWidth = 340; } // namespace window namespace textInput { diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 01a05891..872e61f8 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -70,8 +70,8 @@ MainWindow::MainWindow(QWindow *parent) MainWindow::setWindowTitle(0); setObjectName(QStringLiteral("MainWindow")); setResizeMode(QQuickView::SizeRootObjectToView); - setMinimumHeight(400); - setMinimumWidth(400); + setMinimumHeight(conf::window::minHeight); + setMinimumWidth(conf::window::minWidth); restoreWindowSize(); chat_page_ = new ChatPage(userSettings_, this); diff --git a/src/dialogs/CreateRoom.cpp b/src/dialogs/CreateRoom.cpp index bd963229..038289e8 100644 --- a/src/dialogs/CreateRoom.cpp +++ b/src/dialogs/CreateRoom.cpp @@ -28,7 +28,7 @@ CreateRoom::CreateRoom(QWidget *parent) largeFont.setPointSizeF(largeFont.pointSizeF() * 1.5); setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - setMinimumHeight(conf::modals::MIN_WIDGET_HEIGHT); + setMinimumHeight(conf::window::minHeight); setMinimumWidth(conf::window::minModalWidth); auto layout = new QVBoxLayout(this);