Revert thread check from Tag Browser since it doesn't prevent the crash

This commit is contained in:
Kovid Goyal 2011-06-27 12:53:40 -06:00
parent ef13b74d1a
commit cc0aee27f5

View File

@ -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)