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)
|
self.memory.remove(d)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
|
else:
|
||||||
|
import sip
|
||||||
|
sip.delete(d)
|
||||||
|
del d
|
||||||
|
|
||||||
|
@ -63,6 +63,8 @@ class BookInfo(QDialog, Ui_BookInfo):
|
|||||||
|
|
||||||
def done(self, r):
|
def done(self, r):
|
||||||
ret = QDialog.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)
|
self.closed.emit(self)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@ -96,14 +98,19 @@ class BookInfo(QDialog, Ui_BookInfo):
|
|||||||
self.refresh(row)
|
self.refresh(row)
|
||||||
|
|
||||||
def move(self, delta=1):
|
def move(self, delta=1):
|
||||||
idx = self.view.currentIndex()
|
self.view.selectionModel().currentChanged.disconnect(self.slave)
|
||||||
if idx.isValid():
|
try:
|
||||||
m = self.view.model()
|
idx = self.view.currentIndex()
|
||||||
ni = m.index(idx.row() + delta, idx.column())
|
if idx.isValid():
|
||||||
if ni.isValid():
|
m = self.view.model()
|
||||||
self.view.setCurrentIndex(ni)
|
ni = m.index(idx.row() + delta, idx.column())
|
||||||
if self.view.isVisible():
|
if ni.isValid():
|
||||||
self.view.scrollTo(ni)
|
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):
|
def next(self):
|
||||||
self.move()
|
self.move()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user