Possible fix for conversion box being too wide

This commit is contained in:
Kovid Goyal 2010-07-11 09:47:10 -06:00
commit 8444a56c4c
6 changed files with 22 additions and 11 deletions

View File

@ -28,7 +28,11 @@
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QComboBox" name="opt_chapter_mark"/> <widget class="QComboBox" name="opt_chapter_mark">
<property name="minimumContentsLength">
<number>30</number>
</property>
</widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QCheckBox" name="opt_remove_first_image"> <widget class="QCheckBox" name="opt_remove_first_image">

View File

@ -132,9 +132,11 @@ class DateEdit(QDateEdit):
def focusInEvent(self, x): def focusInEvent(self, x):
self.setSpecialValueText('') self.setSpecialValueText('')
QDateEdit.focusInEvent(self, x)
def focusOutEvent(self, x): def focusOutEvent(self, x):
self.setSpecialValueText(_('Undefined')) self.setSpecialValueText(_('Undefined'))
QDateEdit.focusOutEvent(self, x)
class DateTime(Base): class DateTime(Base):
@ -142,7 +144,10 @@ class DateTime(Base):
self.widgets = [QLabel('&'+self.col_metadata['name']+':', parent), self.widgets = [QLabel('&'+self.col_metadata['name']+':', parent),
DateEdit(parent)] DateEdit(parent)]
w = self.widgets[1] w = self.widgets[1]
w.setDisplayFormat('dd MMM yyyy') format = self.col_metadata['display'].get('date_format','')
if not format:
format = 'dd MMM yyyy'
w.setDisplayFormat(format)
w.setCalendarPopup(True) w.setCalendarPopup(True)
w.setMinimumDate(UNDEFINED_QDATE) w.setMinimumDate(UNDEFINED_QDATE)
w.setSpecialValueText(_('Undefined')) w.setSpecialValueText(_('Undefined'))
@ -156,7 +161,7 @@ class DateTime(Base):
def getter(self): def getter(self):
val = self.widgets[1].date() val = self.widgets[1].date()
if val == UNDEFINED_QDATE: if val <= UNDEFINED_QDATE:
val = None val = None
else: else:
val = qt_to_dt(val) val = qt_to_dt(val)

View File

@ -96,7 +96,7 @@ class DateDelegate(QStyledItemDelegate): # {{{
def displayText(self, val, locale): def displayText(self, val, locale):
d = val.toDate() d = val.toDate()
if d == UNDEFINED_QDATE: if d <= UNDEFINED_QDATE:
return '' return ''
return format_date(d.toPyDate(), 'dd MMM yyyy') return format_date(d.toPyDate(), 'dd MMM yyyy')
@ -116,7 +116,7 @@ class PubDateDelegate(QStyledItemDelegate): # {{{
def displayText(self, val, locale): def displayText(self, val, locale):
d = val.toDate() d = val.toDate()
if d == UNDEFINED_QDATE: if d <= UNDEFINED_QDATE:
return '' return ''
format = tweaks['gui_pubdate_display_format'] format = tweaks['gui_pubdate_display_format']
if format is None: if format is None:
@ -194,7 +194,7 @@ class CcDateDelegate(QStyledItemDelegate): # {{{
def displayText(self, val, locale): def displayText(self, val, locale):
d = val.toDate() d = val.toDate()
if d == UNDEFINED_QDATE: if d <= UNDEFINED_QDATE:
return '' return ''
return format_date(d.toPyDate(), self.format) return format_date(d.toPyDate(), self.format)
@ -217,7 +217,7 @@ class CcDateDelegate(QStyledItemDelegate): # {{{
def setModelData(self, editor, model, index): def setModelData(self, editor, model, index):
val = editor.date() val = editor.date()
if val == UNDEFINED_QDATE: if val <= UNDEFINED_QDATE:
val = None val = None
model.setData(index, QVariant(val), Qt.EditRole) model.setData(index, QVariant(val), Qt.EditRole)

View File

@ -1216,7 +1216,9 @@ class DeviceBooksModel(BooksModel): # {{{
return done return done
def set_editable(self, editable): def set_editable(self, editable):
self.editable = editable # Cannot edit if metadata is sent on connect. Reason: changes will
# revert to what is in the library on next connect.
self.editable = editable and prefs['manage_device_metadata']!='on_connect'
def set_search_restriction(self, s): def set_search_restriction(self, s):
pass pass

View File

@ -209,13 +209,13 @@ class ResultCache(SearchQueryParser):
if query == 'false': if query == 'false':
for item in self._data: for item in self._data:
if item is None: continue if item is None: continue
if item[loc] is None or item[loc] == UNDEFINED_DATE: if item[loc] is None or item[loc] <= UNDEFINED_DATE:
matches.add(item[0]) matches.add(item[0])
return matches return matches
if query == 'true': if query == 'true':
for item in self._data: for item in self._data:
if item is None: continue if item is None: continue
if item[loc] is not None and item[loc] != UNDEFINED_DATE: if item[loc] is not None and item[loc] > UNDEFINED_DATE:
matches.add(item[0]) matches.add(item[0])
return matches return matches

View File

@ -44,7 +44,7 @@ parse_date_day_first = compute_locale_info_for_parse_date()
utc_tz = _utc_tz = tzutc() utc_tz = _utc_tz = tzutc()
local_tz = _local_tz = SafeLocalTimeZone() local_tz = _local_tz = SafeLocalTimeZone()
UNDEFINED_DATE = datetime(101,1,1, tzinfo=utc_tz) UNDEFINED_DATE = datetime(1000,1,1, tzinfo=utc_tz)
def parse_date(date_string, assume_utc=False, as_utc=True, default=None): def parse_date(date_string, assume_utc=False, as_utc=True, default=None):
''' '''