From 36e2a9fa33776029d5a369ae1bc43c3dfb9fb2c9 Mon Sep 17 00:00:00 2001 From: jpark37 Date: Wed, 25 Mar 2020 17:13:10 -0700 Subject: [PATCH] UI: Fix text handling for dialogs Signal only needs to be connected once, not every keystroke. Also commit data only when text widget focus is lost to fix cursor moving to the end of the string after every keystroke. --- UI/window-importer.cpp | 5 +++-- UI/window-remux.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/UI/window-importer.cpp b/UI/window-importer.cpp index e55027987..3e21ad523 100644 --- a/UI/window-importer.cpp +++ b/UI/window-importer.cpp @@ -92,6 +92,9 @@ QWidget *ImporterEntryPathItemDelegate::createEditor( QSizePolicy::ControlType::LineEdit)); layout->addWidget(text); + QObject::connect(text, SIGNAL(editingFinished()), this, + SLOT(updateText())); + QToolButton *browseButton = new QToolButton(); browseButton->setText("..."); browseButton->setSizePolicy(buttonSizePolicy); @@ -121,8 +124,6 @@ void ImporterEntryPathItemDelegate::setEditorData( { QLineEdit *text = editor->findChild(); text->setText(index.data().toString()); - QObject::connect(text, SIGNAL(textEdited(QString)), this, - SLOT(updateText())); editor->setProperty(PATH_LIST_PROP, QVariant()); } diff --git a/UI/window-remux.cpp b/UI/window-remux.cpp index 6a94ed5e3..9fa62631a 100644 --- a/UI/window-remux.cpp +++ b/UI/window-remux.cpp @@ -112,6 +112,9 @@ QWidget *RemuxEntryPathItemDelegate::createEditor( QSizePolicy::ControlType::LineEdit)); layout->addWidget(text); + QObject::connect(text, SIGNAL(editingFinished()), this, + SLOT(updateText())); + QToolButton *browseButton = new QToolButton(); browseButton->setText("..."); browseButton->setSizePolicy(buttonSizePolicy); @@ -143,8 +146,6 @@ void RemuxEntryPathItemDelegate::setEditorData(QWidget *editor, { QLineEdit *text = editor->findChild(); text->setText(index.data().toString()); - QObject::connect(text, SIGNAL(textEdited(QString)), this, - SLOT(updateText())); editor->setProperty(PATH_LIST_PROP, QVariant()); }