Sort-of fix for #1812560: editing datetimes with iso format doesn't work

This commit is contained in:
Charles Haley 2019-01-21 11:31:28 +00:00
parent 31ccd4f632
commit aa1bdda900
4 changed files with 12 additions and 2 deletions

View File

@ -308,6 +308,8 @@ class DateTime(Base):
format_ = cm['display'].get('date_format','') format_ = cm['display'].get('date_format','')
if not format_: if not format_:
format_ = 'dd MMM yyyy hh:mm' format_ = 'dd MMM yyyy hh:mm'
elif format_ == 'iso':
format_ = 'yyyy-MM-ddTHH:mm:ss'
w.setDisplayFormat(format_) w.setDisplayFormat(format_)
w.setCalendarPopup(True) w.setCalendarPopup(True)
w.setMinimumDateTime(UNDEFINED_QDATETIME) w.setMinimumDateTime(UNDEFINED_QDATETIME)
@ -1027,6 +1029,8 @@ class BulkDateTime(BulkBase):
format = cm['display'].get('date_format','') format = cm['display'].get('date_format','')
if not format: if not format:
format = 'dd MMM yyyy' format = 'dd MMM yyyy'
elif format == 'iso':
format = 'yyyy-MM-ddTHH:mm:ss'
w.setDisplayFormat(format) w.setDisplayFormat(format)
w.setCalendarPopup(True) w.setCalendarPopup(True)
w.setMinimumDateTime(UNDEFINED_QDATETIME) w.setMinimumDateTime(UNDEFINED_QDATETIME)

View File

@ -503,6 +503,8 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog):
self.pubdate_cw = CalendarWidget(self.pubdate) self.pubdate_cw = CalendarWidget(self.pubdate)
self.pubdate.setCalendarWidget(self.pubdate_cw) self.pubdate.setCalendarWidget(self.pubdate_cw)
pubdate_format = tweaks['gui_pubdate_display_format'] pubdate_format = tweaks['gui_pubdate_display_format']
if pubdate_format == 'iso':
pubdate_format = 'yyyy-MM-ddTHH:mm:ss'
if pubdate_format is not None: if pubdate_format is not None:
self.pubdate.setDisplayFormat(pubdate_format) self.pubdate.setDisplayFormat(pubdate_format)
self.pubdate.setSpecialValueText(_('Undefined')) self.pubdate.setSpecialValueText(_('Undefined'))

View File

@ -111,13 +111,15 @@ class UpdateEditorGeometry(object):
class DateTimeEdit(QDateTimeEdit): # {{{ class DateTimeEdit(QDateTimeEdit): # {{{
def __init__(self, parent, format): def __init__(self, parent, format_):
QDateTimeEdit.__init__(self, parent) QDateTimeEdit.__init__(self, parent)
self.setFrame(False) self.setFrame(False)
self.setMinimumDateTime(UNDEFINED_QDATETIME) self.setMinimumDateTime(UNDEFINED_QDATETIME)
self.setSpecialValueText(_('Undefined')) self.setSpecialValueText(_('Undefined'))
self.setCalendarPopup(True) self.setCalendarPopup(True)
self.setDisplayFormat(format) if format_ == 'iso':
format_ = 'yyyy-MM-ddTHH:mm:ss'
self.setDisplayFormat(format_)
def contextMenuEvent(self, ev): def contextMenuEvent(self, ev):
m = QMenu(self) m = QMenu(self)

View File

@ -1838,6 +1838,8 @@ class DateEdit(make_undoable(QDateTimeEdit), ToMetadataMixin):
fmt = tweaks[self.TWEAK] fmt = tweaks[self.TWEAK]
if fmt is None: if fmt is None:
fmt = self.FMT fmt = self.FMT
elif fmt == 'iso':
fmt = 'yyyy-MM-ddTHH:mm:ss'
self.setDisplayFormat(fmt) self.setDisplayFormat(fmt)
self.setCalendarPopup(True) self.setCalendarPopup(True)
self.cw = CalendarWidget(self) self.cw = CalendarWidget(self)