UI: Dynamically set widget index when renaming sources
This commit is contained in:
parent
cb970d0cb9
commit
c50f488085
@ -318,12 +318,13 @@ bool SourceTreeItem::IsEditing()
|
|||||||
void SourceTreeItem::EnterEditMode()
|
void SourceTreeItem::EnterEditMode()
|
||||||
{
|
{
|
||||||
setFocusPolicy(Qt::StrongFocus);
|
setFocusPolicy(Qt::StrongFocus);
|
||||||
|
int index = boxLayout->indexOf(label);
|
||||||
boxLayout->removeWidget(label);
|
boxLayout->removeWidget(label);
|
||||||
editor = new QLineEdit(label->text());
|
editor = new QLineEdit(label->text());
|
||||||
editor->setStyleSheet("background: none");
|
editor->setStyleSheet("background: none");
|
||||||
editor->selectAll();
|
editor->selectAll();
|
||||||
editor->installEventFilter(this);
|
editor->installEventFilter(this);
|
||||||
boxLayout->insertWidget(2, editor);
|
boxLayout->insertWidget(index, editor);
|
||||||
setFocusProxy(editor);
|
setFocusProxy(editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,11 +339,12 @@ void SourceTreeItem::ExitEditMode(bool save)
|
|||||||
std::string newName = QT_TO_UTF8(editor->text());
|
std::string newName = QT_TO_UTF8(editor->text());
|
||||||
|
|
||||||
setFocusProxy(nullptr);
|
setFocusProxy(nullptr);
|
||||||
|
int index = boxLayout->indexOf(editor);
|
||||||
boxLayout->removeWidget(editor);
|
boxLayout->removeWidget(editor);
|
||||||
delete editor;
|
delete editor;
|
||||||
editor = nullptr;
|
editor = nullptr;
|
||||||
setFocusPolicy(Qt::NoFocus);
|
setFocusPolicy(Qt::NoFocus);
|
||||||
boxLayout->insertWidget(2, label);
|
boxLayout->insertWidget(index, label);
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
/* check for empty string */
|
/* check for empty string */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user