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.
master
jpark37 2020-03-25 17:13:10 -07:00
parent 3c78a8aa8d
commit 36e2a9fa33
2 changed files with 6 additions and 4 deletions

View File

@ -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<QLineEdit *>();
text->setText(index.data().toString());
QObject::connect(text, SIGNAL(textEdited(QString)), this,
SLOT(updateText()));
editor->setProperty(PATH_LIST_PROP, QVariant());
}

View File

@ -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<QLineEdit *>();
text->setText(index.data().toString());
QObject::connect(text, SIGNAL(textEdited(QString)), this,
SLOT(updateText()));
editor->setProperty(PATH_LIST_PROP, QVariant());
}