mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-29 06:08:48 +03:00
parent
3022178334
commit
eaa91b4e56
1 changed files with 16 additions and 6 deletions
|
@ -105,6 +105,14 @@ Rectangle {
|
||||||
popup.completer.setSearchString(messageInput.getText(completerTriggeredAt, cursorPosition));
|
popup.completer.setSearchString(messageInput.getText(completerTriggeredAt, cursorPosition));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function positionCursorAtEnd() {
|
||||||
|
cursorPosition = messageInput.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
function positionCursorAtStart() {
|
||||||
|
cursorPosition = 0;
|
||||||
|
}
|
||||||
|
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
placeholderText: qsTr("Write a message...")
|
placeholderText: qsTr("Write a message...")
|
||||||
placeholderTextColor: colors.buttonText
|
placeholderTextColor: colors.buttonText
|
||||||
|
@ -220,29 +228,31 @@ Rectangle {
|
||||||
if (!id || TimelineManager.timeline.getDump(id, "").isEditable) {
|
if (!id || TimelineManager.timeline.getDump(id, "").isEditable) {
|
||||||
TimelineManager.timeline.edit = id;
|
TimelineManager.timeline.edit = id;
|
||||||
cursorPosition = 0;
|
cursorPosition = 0;
|
||||||
|
Qt.callLater(positionCursorAtEnd);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
idx++;
|
idx++;
|
||||||
}
|
}
|
||||||
} else if (cursorPosition == messageInput.length) {
|
} else if (positionAt(0, cursorRectangle.y) === 0) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
cursorPosition = 0;
|
positionCursorAtStart();
|
||||||
}
|
}
|
||||||
} else if (event.key == Qt.Key_Down && event.modifiers == Qt.NoModifier) {
|
} else if (event.key == Qt.Key_Down && event.modifiers == Qt.NoModifier) {
|
||||||
if (cursorPosition == 0) {
|
if (cursorPosition == messageInput.length && TimelineManager.timeline.edit) {
|
||||||
event.accepted = true;
|
|
||||||
cursorPosition = messageInput.length;
|
|
||||||
} else if (cursorPosition == messageInput.length && TimelineManager.timeline.edit) {
|
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
var idx = TimelineManager.timeline.idToIndex(TimelineManager.timeline.edit) - 1;
|
var idx = TimelineManager.timeline.idToIndex(TimelineManager.timeline.edit) - 1;
|
||||||
while (true) {
|
while (true) {
|
||||||
var id = TimelineManager.timeline.indexToId(idx);
|
var id = TimelineManager.timeline.indexToId(idx);
|
||||||
if (!id || TimelineManager.timeline.getDump(id, "").isEditable) {
|
if (!id || TimelineManager.timeline.getDump(id, "").isEditable) {
|
||||||
TimelineManager.timeline.edit = id;
|
TimelineManager.timeline.edit = id;
|
||||||
|
Qt.callLater(positionCursorAtStart);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
idx--;
|
idx--;
|
||||||
}
|
}
|
||||||
|
} else if (positionAt(width, cursorRectangle.y + 2) === messageInput.length) {
|
||||||
|
event.accepted = true;
|
||||||
|
positionCursorAtEnd();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue