mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Preserve current after rename
This commit is contained in:
parent
c52b3175c8
commit
984f6582c5
@ -98,6 +98,12 @@ class Files(QAbstractListModel):
|
|||||||
def item_at(self, rownum):
|
def item_at(self, rownum):
|
||||||
return self.files[rownum]
|
return self.files[rownum]
|
||||||
|
|
||||||
|
def rownum_for_relpath(self, relpath):
|
||||||
|
for i, e in enumerate(self.files):
|
||||||
|
if e.relpath == relpath:
|
||||||
|
return i
|
||||||
|
return -1
|
||||||
|
|
||||||
def data(self, index, role):
|
def data(self, index, role):
|
||||||
row = index.row()
|
row = index.row()
|
||||||
if row >= len(self.files):
|
if row >= len(self.files):
|
||||||
@ -277,6 +283,12 @@ class DataFilesManager(Dialog):
|
|||||||
self.db.rename_extra_files(self.book_id, {e.relpath: newrelpath}, replace=True)
|
self.db.rename_extra_files(self.book_id, {e.relpath: newrelpath}, replace=True)
|
||||||
with self.preserve_state():
|
with self.preserve_state():
|
||||||
self.files.refresh()
|
self.files.refresh()
|
||||||
|
row = self.files.rownum_for_relpath(newrelpath)
|
||||||
|
if row > -1:
|
||||||
|
idx = self.files.index(row)
|
||||||
|
self.fview.setCurrentIndex(idx)
|
||||||
|
self.fview.selectionModel().select(idx, QItemSelectionModel.SelectionFlag.SelectCurrent)
|
||||||
|
self.fview.scrollTo(idx)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user