Skip to content

Commit 4a0a97a

Browse files
committed
Fix non-datetime field handling of datetime with the date editor widget
1 parent 0b7bb25 commit 4a0a97a

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/qml/editorwidgets/DateTime.qml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,11 @@ EditorWidgetBase {
7171
return Qt.formatDateTime(value, displayFormat);
7272
}
7373
} else {
74-
const date = Date.fromLocaleString(Qt.locale(), value, !!config['field_iso_format'] ? 'yyyy-MM-dd HH:mm:ss+t' : config['field_format'] !== undefined ? config['field_format'] : '');
74+
let dateFormat = config['display_format'];
75+
if (!!config['field_format_overwrite']) {
76+
dateFormat = !!config['field_iso_format'] ? 'yyyy-MM-dd HH:mm:ss+t' : config['field_format'];
77+
}
78+
const date = Date.fromLocaleString(Qt.locale(), value, dateFormat);
7579
if (date.toString() === "Invalid Date") {
7680
try {
7781
return Qt.formatDateTime(value, displayFormat);
@@ -203,7 +207,11 @@ EditorWidgetBase {
203207
if (main.isDateTimeType) {
204208
valueChangeRequested(currentDate, false);
205209
} else {
206-
const textDate = Qt.formatDateTime(currentDate, !!config['field_iso_format'] ? Qt.ISODate : config['field_format']);
210+
let dateFormat = config['display_format'];
211+
if (!!config['field_format_overwrite']) {
212+
dateFormat = !!config['field_iso_format'] ? 'yyyy-MM-dd HH:mm:ss+t' : config['field_format'];
213+
}
214+
const textDate = Qt.formatDateTime(currentDate, dateFormat);
207215
valueChangeRequested(textDate, false);
208216
}
209217
displayToast(qsTr('Date value set to today.'));
@@ -225,7 +233,11 @@ EditorWidgetBase {
225233
if (main.isDateTimeType) {
226234
valueChangeRequested(date, date === undefined);
227235
} else {
228-
const textDate = Qt.formatDateTime(date, !!config['field_iso_format'] ? Qt.ISODate : config['field_format']);
236+
let dateFormat = config['display_format'];
237+
if (!!config['field_format_overwrite']) {
238+
dateFormat = !!config['field_iso_format'] ? 'yyyy-MM-dd HH:mm:ss+t' : config['field_format'];
239+
}
240+
const textDate = Qt.formatDateTime(date, dateFormat);
229241
valueChangeRequested(textDate, date === undefined);
230242
}
231243
}

0 commit comments

Comments
 (0)