diff --git a/src/calibre/gui2/library/delegates.py b/src/calibre/gui2/library/delegates.py index 4c26bf9ded..f715ae6580 100644 --- a/src/calibre/gui2/library/delegates.py +++ b/src/calibre/gui2/library/delegates.py @@ -9,7 +9,7 @@ import sys from PyQt4.Qt import (Qt, QApplication, QStyle, QIcon, QDoubleSpinBox, QVariant, QSpinBox, QStyledItemDelegate, QComboBox, QTextDocument, - QAbstractTextDocumentLayout, QFont, QFontInfo) + QAbstractTextDocumentLayout, QFont, QFontInfo, QDate) from calibre.gui2 import UNDEFINED_QDATETIME, error_dialog, rating_font from calibre.constants import iswindows @@ -83,6 +83,7 @@ class DateDelegate(QStyledItemDelegate): # {{{ qde.setSpecialValueText(_('Undefined')) qde.setCalendarPopup(True) return qde + # }}} class PubDateDelegate(QStyledItemDelegate): # {{{ @@ -104,6 +105,12 @@ class PubDateDelegate(QStyledItemDelegate): # {{{ qde.setCalendarPopup(True) return qde + def setEditorData(self, editor, index): + val = index.data(Qt.EditRole).toDate() + if val == UNDEFINED_QDATETIME.date(): + val = QDate(2000, 1, 1) + editor.setDate(val) + # }}} class TextDelegate(QStyledItemDelegate): # {{{