This commit is contained in:
Kovid Goyal 2014-03-31 08:22:15 +05:30
parent 9ab2da5533
commit 45a9c57e0a

View File

@ -818,13 +818,14 @@ class PluginWidget(QWidget,Ui_Form):
open_url(QUrl('http://manual.calibre-ebook.com/catalogs.html')) open_url(QUrl('http://manual.calibre-ebook.com/catalogs.html'))
class CheckableTableWidgetItem(QTableWidgetItem): class CheckableTableWidgetItem(QTableWidgetItem):
''' '''
Borrowed from kiwidude Borrowed from kiwidude
''' '''
def __init__(self, checked=False, is_tristate=False): def __init__(self, checked=False, is_tristate=False):
QTableWidgetItem.__init__(self, '') QTableWidgetItem.__init__(self, '')
self.setFlags(Qt.ItemFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled )) self.setFlags(Qt.ItemFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled))
if is_tristate: if is_tristate:
self.setFlags(self.flags() | Qt.ItemIsTristate) self.setFlags(self.flags() | Qt.ItemIsTristate)
if checked: if checked:
@ -847,12 +848,13 @@ class CheckableTableWidgetItem(QTableWidgetItem):
class NoWheelComboBox(QComboBox): class NoWheelComboBox(QComboBox):
def wheelEvent (self, event): def wheelEvent(self, event):
# Disable the mouse wheel on top of the combo box changing selection as plays havoc in a grid # Disable the mouse wheel on top of the combo box changing selection as plays havoc in a grid
event.ignore() event.ignore()
class ComboBox(NoWheelComboBox): class ComboBox(NoWheelComboBox):
# Caller is responsible for providing the list in the preferred order # Caller is responsible for providing the list in the preferred order
def __init__(self, parent, items, selected_text,insert_blank=True): def __init__(self, parent, items, selected_text,insert_blank=True):
NoWheelComboBox.__init__(self, parent) NoWheelComboBox.__init__(self, parent)
self.populate_combo(items, selected_text, insert_blank) self.populate_combo(items, selected_text, insert_blank)
@ -868,6 +870,7 @@ class ComboBox(NoWheelComboBox):
self.setCurrentIndex(0) self.setCurrentIndex(0)
class GenericRulesTable(QTableWidget): class GenericRulesTable(QTableWidget):
''' '''
Generic methods for managing rows in a QTableWidget Generic methods for managing rows in a QTableWidget
''' '''
@ -888,7 +891,7 @@ class GenericRulesTable(QTableWidget):
sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
#sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) # sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
self.setSizePolicy(sizePolicy) self.setSizePolicy(sizePolicy)
self.setMaximumSize(QSize(16777215, self.MAXIMUM_TABLE_HEIGHT)) self.setMaximumSize(QSize(16777215, self.MAXIMUM_TABLE_HEIGHT))
@ -1163,7 +1166,7 @@ class GenericRulesTable(QTableWidget):
class ExclusionRules(GenericRulesTable): class ExclusionRules(GenericRulesTable):
COLUMNS = { 'ENABLED':{'ordinal': 0, 'name': ''}, COLUMNS = {'ENABLED':{'ordinal': 0, 'name': ''},
'NAME': {'ordinal': 1, 'name': _('Name')}, 'NAME': {'ordinal': 1, 'name': _('Name')},
'FIELD': {'ordinal': 2, 'name': _('Field')}, 'FIELD': {'ordinal': 2, 'name': _('Field')},
'PATTERN': {'ordinal': 3, 'name': _('Value')},} 'PATTERN': {'ordinal': 3, 'name': _('Value')},}
@ -1175,7 +1178,7 @@ class ExclusionRules(GenericRulesTable):
self._initialize() self._initialize()
def _init_table_widget(self): def _init_table_widget(self):
header_labels = [self.COLUMNS[index]['name'] \ header_labels = [self.COLUMNS[index]['name']
for index in sorted(self.COLUMNS.keys(), key=lambda c: self.COLUMNS[c]['ordinal'])] for index in sorted(self.COLUMNS.keys(), key=lambda c: self.COLUMNS[c]['ordinal'])]
self.setColumnCount(len(header_labels)) self.setColumnCount(len(header_labels))
self.setHorizontalHeaderLabels(header_labels) self.setHorizontalHeaderLabels(header_labels)
@ -1254,7 +1257,7 @@ class ExclusionRules(GenericRulesTable):
class PrefixRules(GenericRulesTable): class PrefixRules(GenericRulesTable):
COLUMNS = { 'ENABLED':{'ordinal': 0, 'name': ''}, COLUMNS = {'ENABLED':{'ordinal': 0, 'name': ''},
'NAME': {'ordinal': 1, 'name': _('Name')}, 'NAME': {'ordinal': 1, 'name': _('Name')},
'PREFIX': {'ordinal': 2, 'name': _('Prefix')}, 'PREFIX': {'ordinal': 2, 'name': _('Prefix')},
'FIELD': {'ordinal': 3, 'name': _('Field')}, 'FIELD': {'ordinal': 3, 'name': _('Field')},
@ -1267,7 +1270,7 @@ class PrefixRules(GenericRulesTable):
self._initialize() self._initialize()
def _init_table_widget(self): def _init_table_widget(self):
header_labels = [self.COLUMNS[index]['name'] \ header_labels = [self.COLUMNS[index]['name']
for index in sorted(self.COLUMNS.keys(), key=lambda c: self.COLUMNS[c]['ordinal'])] for index in sorted(self.COLUMNS.keys(), key=lambda c: self.COLUMNS[c]['ordinal'])]
self.setColumnCount(len(header_labels)) self.setColumnCount(len(header_labels))
self.setHorizontalHeaderLabels(header_labels) self.setHorizontalHeaderLabels(header_labels)