From af4e174d99ddb2905add4f8ea51c2845e92096ee Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 1 Apr 2022 16:50:18 +0200 Subject: [PATCH] Separate text updates for timeline and other consumers --- resources/qml/Root.qml | 2 +- src/timeline/InputBar.cpp | 3 ++- src/timeline/InputBar.h | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml index 1171d919..590ccfc4 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml @@ -24,7 +24,7 @@ Pane { palette: Nheko.colors background: null padding: 0 - rotation: Rooms.currentRoom ? Rooms.currentRoom.input.text.length : 0 + rotation: Rooms.currentRoom ? Rooms.currentRoom.input.liveText.length : 0 layer.smooth: true layer.mipmap: true antialiasing: true diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 1de7a141..bb2e4acd 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -229,6 +229,7 @@ InputBar::setText(const QString &newText) updateAtRoom(QLatin1String("")); emit textChanged(newText); + emit liveTextChanged(newText); } void InputBar::updateState(int selectionStart_, @@ -250,7 +251,7 @@ InputBar::updateState(int selectionStart_, updateAtRoom(text_); // disabled, as it moves the cursor to the end - // emit textChanged(text_); + emit liveTextChanged(text_); } selectionStart = selectionStart_; diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index 28a4bcf6..62202bce 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -164,6 +164,7 @@ class InputBar : public QObject Q_PROPERTY(bool uploading READ uploading NOTIFY uploadingChanged) Q_PROPERTY(bool containsAtRoom READ containsAtRoom NOTIFY containsAtRoomChanged) Q_PROPERTY(QString text READ text NOTIFY textChanged) + Q_PROPERTY(QString liveText READ text NOTIFY liveTextChanged) Q_PROPERTY(QVariantList uploads READ uploads NOTIFY uploadsChanged) public: @@ -214,6 +215,7 @@ private slots: signals: void insertText(QString text); void textChanged(QString newText); + void liveTextChanged(QString newText); void uploadingChanged(bool value); void containsAtRoomChanged(); void uploadsChanged();