mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Revert thread check from Tag Browser since it doesn't prevent the crash
This commit is contained in:
parent
ef13b74d1a
commit
cc0aee27f5
@ -16,10 +16,9 @@ from PyQt4.Qt import (QItemDelegate, Qt, QTreeView, pyqtSignal, QSize, QIcon,
|
|||||||
|
|
||||||
from calibre.gui2.tag_browser.model import (TagTreeItem, TAG_SEARCH_STATES,
|
from calibre.gui2.tag_browser.model import (TagTreeItem, TAG_SEARCH_STATES,
|
||||||
TagsModel)
|
TagsModel)
|
||||||
from calibre.gui2 import config, gprefs, is_gui_thread
|
from calibre.gui2 import config, gprefs
|
||||||
from calibre.utils.search_query_parser import saved_searches
|
from calibre.utils.search_query_parser import saved_searches
|
||||||
from calibre.utils.icu import sort_key
|
from calibre.utils.icu import sort_key
|
||||||
from calibre.constants import DEBUG
|
|
||||||
|
|
||||||
class TagDelegate(QItemDelegate): # {{{
|
class TagDelegate(QItemDelegate): # {{{
|
||||||
|
|
||||||
@ -126,8 +125,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
self.recount()
|
self.recount()
|
||||||
|
|
||||||
def get_state(self):
|
def get_state(self):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
state_map = {}
|
state_map = {}
|
||||||
expanded_categories = []
|
expanded_categories = []
|
||||||
for row, category in enumerate(self._model.category_nodes):
|
for row, category in enumerate(self._model.category_nodes):
|
||||||
@ -139,13 +136,9 @@ class TagsView(QTreeView): # {{{
|
|||||||
return expanded_categories, state_map
|
return expanded_categories, state_map
|
||||||
|
|
||||||
def reread_collapse_parameters(self):
|
def reread_collapse_parameters(self):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
self._model.reread_collapse_parameters(self.get_state()[1])
|
self._model.reread_collapse_parameters(self.get_state()[1])
|
||||||
|
|
||||||
def set_database(self, db, tag_match, sort_by):
|
def set_database(self, db, tag_match, sort_by):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
self._model.set_database(db)
|
self._model.set_database(db)
|
||||||
|
|
||||||
self.pane_is_visible = True # because TagsModel.set_database did a recount
|
self.pane_is_visible = True # because TagsModel.set_database did a recount
|
||||||
@ -172,8 +165,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
self.expanded.connect(self.item_expanded)
|
self.expanded.connect(self.item_expanded)
|
||||||
|
|
||||||
def database_changed(self, event, ids):
|
def database_changed(self, event, ids):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
if self.refresh_signal_processed:
|
if self.refresh_signal_processed:
|
||||||
self.refresh_signal_processed = False
|
self.refresh_signal_processed = False
|
||||||
self.refresh_required.emit()
|
self.refresh_required.emit()
|
||||||
@ -200,8 +191,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def set_search_restriction(self, s):
|
def set_search_restriction(self, s):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
s = s if s else None
|
s = s if s else None
|
||||||
self._model.set_search_restriction(s)
|
self._model.set_search_restriction(s)
|
||||||
|
|
||||||
@ -228,8 +217,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
set_to: if None, advance the state. Otherwise must be one of the values
|
set_to: if None, advance the state. Otherwise must be one of the values
|
||||||
in TAG_SEARCH_STATES
|
in TAG_SEARCH_STATES
|
||||||
'''
|
'''
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
modifiers = int(QApplication.keyboardModifiers())
|
modifiers = int(QApplication.keyboardModifiers())
|
||||||
exclusive = modifiers not in (Qt.CTRL, Qt.SHIFT)
|
exclusive = modifiers not in (Qt.CTRL, Qt.SHIFT)
|
||||||
if self._model.toggle(index, exclusive, set_to=set_to):
|
if self._model.toggle(index, exclusive, set_to=set_to):
|
||||||
@ -542,21 +529,11 @@ class TagsView(QTreeView): # {{{
|
|||||||
fm_src['display'].get('make_category', False)))):
|
fm_src['display'].get('make_category', False)))):
|
||||||
self.setDropIndicatorShown(True)
|
self.setDropIndicatorShown(True)
|
||||||
|
|
||||||
def debug_threading(self):
|
|
||||||
if DEBUG:
|
|
||||||
import traceback
|
|
||||||
print ('Attempt to use Tab Browser in non GUI thread')
|
|
||||||
traceback.print_stack()
|
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
if self.model():
|
if self.model():
|
||||||
self.model().clear_state()
|
self.model().clear_state()
|
||||||
|
|
||||||
def is_visible(self, idx):
|
def is_visible(self, idx):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
item = idx.data(Qt.UserRole).toPyObject()
|
item = idx.data(Qt.UserRole).toPyObject()
|
||||||
if getattr(item, 'type', None) == TagTreeItem.TAG:
|
if getattr(item, 'type', None) == TagTreeItem.TAG:
|
||||||
idx = idx.parent()
|
idx = idx.parent()
|
||||||
@ -567,9 +544,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
Rebuild the category tree, expand any categories that were expanded,
|
Rebuild the category tree, expand any categories that were expanded,
|
||||||
reset the search states, and reselect the current node.
|
reset the search states, and reselect the current node.
|
||||||
'''
|
'''
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
|
|
||||||
if self.disable_recounting or not self.pane_is_visible:
|
if self.disable_recounting or not self.pane_is_visible:
|
||||||
return
|
return
|
||||||
self.refresh_signal_processed = True
|
self.refresh_signal_processed = True
|
||||||
@ -596,8 +570,6 @@ class TagsView(QTreeView): # {{{
|
|||||||
|
|
||||||
def show_item_at_index(self, idx, box=False,
|
def show_item_at_index(self, idx, box=False,
|
||||||
position=QTreeView.PositionAtCenter):
|
position=QTreeView.PositionAtCenter):
|
||||||
if not is_gui_thread():
|
|
||||||
return self.debug_threading()
|
|
||||||
if idx.isValid() and idx.data(Qt.UserRole).toPyObject() is not self._model.root_item:
|
if idx.isValid() and idx.data(Qt.UserRole).toPyObject() is not self._model.root_item:
|
||||||
self.setCurrentIndex(idx)
|
self.setCurrentIndex(idx)
|
||||||
self.scrollTo(idx, position)
|
self.scrollTo(idx, position)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user