[TabBox] Remember current model index on SwitcherItem model set
In case we need to set the SwitcherItem model in `TabBoxHandlerPrivate::show()`, remember the current index row, otherwise it gets reset to the first item. Reviewers: #kwin, graesslin Tags: #kwin Differential Revision: https://phabricator.kde.org/D4162 BUG: 333511
This commit is contained in:
parent
4d3809f8e3
commit
e019c9f61e
1 changed files with 4 additions and 1 deletions
|
@ -323,6 +323,9 @@ void TabBoxHandlerPrivate::show()
|
|||
}
|
||||
}
|
||||
if (SwitcherItem *item = switcherItem()) {
|
||||
// In case the model isn't yet set (see below), index will be reset and therefore we
|
||||
// need to save the current index row (https://bugs.kde.org/show_bug.cgi?id=333511).
|
||||
int indexRow = index.row();
|
||||
if (!item->model()) {
|
||||
QAbstractItemModel *model = nullptr;
|
||||
if (desktopMode) {
|
||||
|
@ -333,7 +336,7 @@ void TabBoxHandlerPrivate::show()
|
|||
item->setModel(model);
|
||||
}
|
||||
item->setAllDesktops(config.clientDesktopMode() == TabBoxConfig::AllDesktopsClients);
|
||||
item->setCurrentIndex(index.row());
|
||||
item->setCurrentIndex(indexRow);
|
||||
// everything is prepared, so let's make the whole thing visible
|
||||
item->setVisible(true);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue