diff --git a/src/calibre/gui2/preferences/columns.py b/src/calibre/gui2/preferences/columns.py index 92aafccce0..e82b292ffe 100644 --- a/src/calibre/gui2/preferences/columns.py +++ b/src/calibre/gui2/preferences/columns.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' import copy, sys -from PyQt4.Qt import Qt, QVariant, QListWidgetItem +from PyQt4.Qt import Qt, QVariant, QListWidgetItem, QIcon from calibre.gui2.preferences import ConfigWidgetBase, test_widget from calibre.gui2.preferences.columns_ui import Ui_Form @@ -67,6 +67,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): for col in colmap: item = QListWidgetItem(model.headers[col], self.opt_columns) item.setData(Qt.UserRole, QVariant(col)) + if col.startswith('#'): + item.setData(Qt.DecorationRole, QVariant(QIcon(I('column.png')))) flags = Qt.ItemIsEnabled|Qt.ItemIsSelectable if col != 'ondevice': flags |= Qt.ItemIsUserCheckable diff --git a/src/calibre/gui2/preferences/create_custom_column.py b/src/calibre/gui2/preferences/create_custom_column.py index 4ecfb5979e..7896d85fe7 100644 --- a/src/calibre/gui2/preferences/create_custom_column.py +++ b/src/calibre/gui2/preferences/create_custom_column.py @@ -6,7 +6,7 @@ __copyright__ = '2010, Kovid Goyal ' import re from functools import partial -from PyQt4.Qt import QDialog, Qt, QListWidgetItem, QVariant, QColor +from PyQt4.Qt import QDialog, Qt, QListWidgetItem, QVariant, QColor, QIcon from calibre.gui2.preferences.create_custom_column_ui import Ui_QCreateCustomColumn from calibre.gui2 import error_dialog @@ -323,6 +323,7 @@ class CreateCustomColumn(QDialog, Ui_QCreateCustomColumn): } item = QListWidgetItem(col_heading, self.parent.opt_columns) item.setData(Qt.UserRole, QVariant(key)) + item.setData(Qt.DecorationRole, QVariant(QIcon(I('column.png')))) item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsUserCheckable|Qt.ItemIsSelectable) item.setCheckState(Qt.Checked) else: diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index b69d64ad4c..b3021cf446 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -53,6 +53,8 @@ class DisplayedFields(QAbstractListModel): # {{{ return name if role == Qt.CheckStateRole: return Qt.Checked if visible else Qt.Unchecked + if role == Qt.DecorationRole and field.startswith('#'): + return QIcon(I('column.png')) return NONE def flags(self, index):