mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-27 01:29:58 +01:00
[code] Fixed Script edition cursor bugs.
The scroll is now reloaded when text is inserted or a new line is entered. When opening a script, the cursor moves to the end of the script. Change-Id: I027ea80db485916fc3fc962cfa9e032ca0bbc81e
This commit is contained in:
@@ -29,6 +29,10 @@ void EditorController::didBecomeFirstResponder() {
|
||||
app()->setFirstResponder(&m_textArea);
|
||||
}
|
||||
|
||||
void EditorController::viewWillAppear() {
|
||||
m_textArea.moveCursor(strlen(m_textArea.text() - m_textArea.cursorLocation()));
|
||||
}
|
||||
|
||||
void EditorController::viewDidDisappear() {
|
||||
m_scriptParameterController->scriptContentEditionDidFinish();
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ public:
|
||||
View * view() override { return &m_textArea; }
|
||||
bool handleEvent(Ion::Events::Event event) override;
|
||||
void didBecomeFirstResponder() override;
|
||||
void viewWillAppear() override;
|
||||
void viewDidDisappear() override;
|
||||
ViewController::DisplayParameter displayParameter() override { return ViewController::DisplayParameter::WantsMaximumSpace; }
|
||||
|
||||
|
||||
@@ -334,7 +334,6 @@ Toolbox * TextArea::toolbox() {
|
||||
|
||||
bool TextArea::handleEvent(Ion::Events::Event event) {
|
||||
if (m_delegate != nullptr && m_delegate->textAreaDidReceiveEvent(this, event)) {
|
||||
return true;
|
||||
} else if (Responder::handleEvent(event)) {
|
||||
// The only event Responder handles is 'Toolbox' displaying.
|
||||
return true;
|
||||
@@ -386,4 +385,5 @@ void TextArea::moveCursor(int deltaX) {
|
||||
for (int i = 0; i < numberSteps; i++) {
|
||||
m_contentView.moveCursorIndex(sign);
|
||||
}
|
||||
scrollToContentRect(m_contentView.cursorRect(), true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user