]> cloud.milkyroute.net Git - dolphin.git/commit
Fix inline renaming multiple files when renaming changes sorting order
authorIlia Kats <ilia-kats@gmx.net>
Mon, 9 Dec 2024 11:31:44 +0000 (11:31 +0000)
committerFelix Ernst <felixernst@kde.org>
Mon, 9 Dec 2024 11:31:44 +0000 (11:31 +0000)
commita6b4348ddbc8fdf64ddb2c454e7fa2179e82c61b
tree3a5145b54b697a564d430ad45c8621e1f90bbb41
parent8aa952fa950e9c91a28371abfd8f86df5bf350c3
Fix inline renaming multiple files when renaming changes sorting order

Suppose we are renaming file i and the new name will be sorted after
file i+1. We are now pressing ArrowDown to immediately start renaming
file i+1. However, because of the sorting we would not actually end up
renaming what used to be file i+1. What would happen is that editing
would be started in dolphinview.cpp:2065. However, after 100 ms the
timer in KFileItemModel would fire, resulting in the model emitting
itemsMoved(). This would trigger doLayout() in
KItemListView::slotItemsMoved(). doLayout() resizes the
KItemListWidgets, wich causes the renaming to be canceled in
KStandardItemListWidget::resizeEvent().

Now, we start a new renaming operation for the correct widget after the
relayouting is complete.
src/kitemviews/kitemlistview.cpp
src/kitemviews/kitemlistview.h
src/kitemviews/kstandarditemlistwidget.cpp
src/tests/dolphinmainwindowtest.cpp