mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix threading related crash when using the ChooseFormatDialog
This commit is contained in:
parent
e0320e0765
commit
81f58b185a
@ -115,6 +115,9 @@
|
|||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>200.000000000000000</double>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
@ -135,6 +138,9 @@
|
|||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>200.000000000000000</double>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
@ -155,6 +161,9 @@
|
|||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>200.000000000000000</double>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
@ -175,6 +184,9 @@
|
|||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>200.000000000000000</double>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -12,7 +12,8 @@ class ChooseFormatDialog(QDialog, Ui_ChooseFormatDialog):
|
|||||||
QDialog.__init__(self, window)
|
QDialog.__init__(self, window)
|
||||||
Ui_ChooseFormatDialog.__init__(self)
|
Ui_ChooseFormatDialog.__init__(self)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.connect(self.formats, SIGNAL('activated(QModelIndex)'), lambda i: self.accept())
|
self.connect(self.formats, SIGNAL('activated(QModelIndex)'),
|
||||||
|
self.activated_slot)
|
||||||
|
|
||||||
self.msg.setText(msg)
|
self.msg.setText(msg)
|
||||||
for format in formats:
|
for format in formats:
|
||||||
@ -20,6 +21,15 @@ class ChooseFormatDialog(QDialog, Ui_ChooseFormatDialog):
|
|||||||
format.upper()))
|
format.upper()))
|
||||||
self._formats = formats
|
self._formats = formats
|
||||||
self.formats.setCurrentRow(0)
|
self.formats.setCurrentRow(0)
|
||||||
|
self._format = None
|
||||||
|
|
||||||
|
def activated_slot(self, *args):
|
||||||
|
self.accept()
|
||||||
|
|
||||||
def format(self):
|
def format(self):
|
||||||
return self._formats[self.formats.currentRow()]
|
return self._format
|
||||||
|
|
||||||
|
def accept(self):
|
||||||
|
self._format = self._formats[self.formats.currentRow()]
|
||||||
|
return QDialog.accept(self)
|
||||||
|
|
||||||
|
@ -337,7 +337,8 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
|
|||||||
QObject.connect(self.view_menu.actions()[0],
|
QObject.connect(self.view_menu.actions()[0],
|
||||||
SIGNAL("triggered(bool)"), self.view_book)
|
SIGNAL("triggered(bool)"), self.view_book)
|
||||||
QObject.connect(self.view_menu.actions()[1],
|
QObject.connect(self.view_menu.actions()[1],
|
||||||
SIGNAL("triggered(bool)"), self.view_specific_format)
|
SIGNAL("triggered(bool)"), self.view_specific_format,
|
||||||
|
Qt.QueuedConnection)
|
||||||
self.connect(self.action_open_containing_folder,
|
self.connect(self.action_open_containing_folder,
|
||||||
SIGNAL('triggered(bool)'), self.view_folder)
|
SIGNAL('triggered(bool)'), self.view_folder)
|
||||||
self.delete_menu.actions()[0].triggered.connect(self.delete_books)
|
self.delete_menu.actions()[0].triggered.connect(self.delete_books)
|
||||||
@ -1642,12 +1643,9 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
|
|||||||
row = rows[0].row()
|
row = rows[0].row()
|
||||||
formats = self.library_view.model().db.formats(row).upper().split(',')
|
formats = self.library_view.model().db.formats(row).upper().split(',')
|
||||||
d = ChooseFormatDialog(self, _('Choose the format to view'), formats)
|
d = ChooseFormatDialog(self, _('Choose the format to view'), formats)
|
||||||
d.exec_()
|
if d.exec_() == QDialog.Accepted:
|
||||||
if d.result() == QDialog.Accepted:
|
|
||||||
format = d.format()
|
format = d.format()
|
||||||
self.view_format(row, format)
|
self.view_format(row, format)
|
||||||
else:
|
|
||||||
return
|
|
||||||
|
|
||||||
def view_folder(self, *args):
|
def view_folder(self, *args):
|
||||||
rows = self.current_view().selectionModel().selectedRows()
|
rows = self.current_view().selectionModel().selectedRows()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user