mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Ensure the book info dialog is deleted when closed
This commit is contained in:
parent
840f316703
commit
9f7637778a
@ -43,4 +43,8 @@ class ShowBookDetailsAction(InterfaceAction):
|
||||
self.memory.remove(d)
|
||||
except ValueError:
|
||||
pass
|
||||
else:
|
||||
import sip
|
||||
sip.delete(d)
|
||||
del d
|
||||
|
||||
|
@ -63,6 +63,8 @@ class BookInfo(QDialog, Ui_BookInfo):
|
||||
|
||||
def done(self, r):
|
||||
ret = QDialog.done(self, r)
|
||||
self.view.selectionModel().currentChanged.disconnect(self.slave)
|
||||
self.view = self.link_delegate = self.gui = None
|
||||
self.closed.emit(self)
|
||||
return ret
|
||||
|
||||
@ -96,14 +98,19 @@ class BookInfo(QDialog, Ui_BookInfo):
|
||||
self.refresh(row)
|
||||
|
||||
def move(self, delta=1):
|
||||
idx = self.view.currentIndex()
|
||||
if idx.isValid():
|
||||
m = self.view.model()
|
||||
ni = m.index(idx.row() + delta, idx.column())
|
||||
if ni.isValid():
|
||||
self.view.setCurrentIndex(ni)
|
||||
if self.view.isVisible():
|
||||
self.view.scrollTo(ni)
|
||||
self.view.selectionModel().currentChanged.disconnect(self.slave)
|
||||
try:
|
||||
idx = self.view.currentIndex()
|
||||
if idx.isValid():
|
||||
m = self.view.model()
|
||||
ni = m.index(idx.row() + delta, idx.column())
|
||||
if ni.isValid():
|
||||
self.view.setCurrentIndex(ni)
|
||||
self.refresh(ni.row())
|
||||
if self.view.isVisible():
|
||||
self.view.scrollTo(ni)
|
||||
finally:
|
||||
self.view.selectionModel().currentChanged.connect(self.slave)
|
||||
|
||||
def next(self):
|
||||
self.move()
|
||||
|
Loading…
x
Reference in New Issue
Block a user