UI: Dynamically set widget index when renaming sources

This commit is contained in:
Matt Gajownik 2020-03-04 19:22:30 +11:00
parent cb970d0cb9
commit c50f488085

View File

@ -318,12 +318,13 @@ bool SourceTreeItem::IsEditing()
void SourceTreeItem::EnterEditMode()
{
setFocusPolicy(Qt::StrongFocus);
int index = boxLayout->indexOf(label);
boxLayout->removeWidget(label);
editor = new QLineEdit(label->text());
editor->setStyleSheet("background: none");
editor->selectAll();
editor->installEventFilter(this);
boxLayout->insertWidget(2, editor);
boxLayout->insertWidget(index, editor);
setFocusProxy(editor);
}
@ -338,11 +339,12 @@ void SourceTreeItem::ExitEditMode(bool save)
std::string newName = QT_TO_UTF8(editor->text());
setFocusProxy(nullptr);
int index = boxLayout->indexOf(editor);
boxLayout->removeWidget(editor);
delete editor;
editor = nullptr;
setFocusPolicy(Qt::NoFocus);
boxLayout->insertWidget(2, label);
boxLayout->insertWidget(index, label);
/* ----------------------------------------- */
/* check for empty string */