mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
A couple more places with dt -> qdt conversion needed
This commit is contained in:
parent
f3b37944c4
commit
292e4c9da8
@ -5,28 +5,38 @@ __license__ = 'GPL v3'
|
|||||||
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
|
||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
import os, sys
|
import os
|
||||||
|
import sys
|
||||||
|
from datetime import datetime
|
||||||
|
from qt.core import (
|
||||||
|
QAbstractTextDocumentLayout, QApplication, QComboBox, QDate, QDateTime,
|
||||||
|
QDateTimeEdit, QDialog, QDoubleSpinBox, QEvent, QFont, QFontInfo, QIcon,
|
||||||
|
QKeySequence, QLineEdit, QLocale, QMenu, QPalette, QSize, QSpinBox, QStyle,
|
||||||
|
QStyledItemDelegate, QStyleOptionComboBox, QStyleOptionSpinBox,
|
||||||
|
QStyleOptionViewItem, Qt, QTextDocument, QUrl,
|
||||||
|
)
|
||||||
|
|
||||||
from qt.core import (Qt, QApplication, QStyle, QIcon, QDoubleSpinBox, QStyleOptionViewItem,
|
|
||||||
QSpinBox, QStyledItemDelegate, QComboBox, QTextDocument, QMenu, QKeySequence, QUrl,
|
|
||||||
QAbstractTextDocumentLayout, QFont, QFontInfo, QDate, QDateTimeEdit, QDateTime, QEvent,
|
|
||||||
QStyleOptionComboBox, QStyleOptionSpinBox, QLocale, QSize, QLineEdit, QDialog, QPalette)
|
|
||||||
|
|
||||||
from calibre.ebooks.metadata import rating_to_stars, title_sort
|
|
||||||
from calibre.gui2 import UNDEFINED_QDATETIME, rating_font, gprefs
|
|
||||||
from calibre.constants import iswindows
|
from calibre.constants import iswindows
|
||||||
from calibre.gui2.markdown_editor import MarkdownEditDialog
|
from calibre.ebooks.metadata import rating_to_stars, title_sort
|
||||||
from calibre.gui2.widgets import EnLineEdit
|
from calibre.gui2 import UNDEFINED_QDATETIME, gprefs, rating_font
|
||||||
from calibre.gui2.widgets2 import populate_standard_spinbox_context_menu, RatingEditor, DateTimeEdit as DateTimeEditBase
|
|
||||||
from calibre.gui2.complete2 import EditWithComplete
|
from calibre.gui2.complete2 import EditWithComplete
|
||||||
from calibre.utils.date import now, format_date, qt_to_dt, is_date_undefined, internal_iso_format_string
|
|
||||||
|
|
||||||
from calibre.utils.config import tweaks
|
|
||||||
from calibre.utils.icu import sort_key
|
|
||||||
from calibre.gui2.dialogs.comments_dialog import CommentsDialog, PlainTextDialog
|
from calibre.gui2.dialogs.comments_dialog import CommentsDialog, PlainTextDialog
|
||||||
from calibre.gui2.dialogs.tag_editor import TagEditor
|
from calibre.gui2.dialogs.tag_editor import TagEditor
|
||||||
from calibre.gui2.languages import LanguagesEdit
|
from calibre.gui2.languages import LanguagesEdit
|
||||||
|
from calibre.gui2.markdown_editor import MarkdownEditDialog
|
||||||
|
from calibre.gui2.widgets import EnLineEdit
|
||||||
|
from calibre.gui2.widgets2 import (
|
||||||
|
DateTimeEdit as DateTimeEditBase, RatingEditor,
|
||||||
|
populate_standard_spinbox_context_menu,
|
||||||
|
)
|
||||||
from calibre.library.comments import markdown
|
from calibre.library.comments import markdown
|
||||||
|
from calibre.utils.config import tweaks
|
||||||
|
from calibre.utils.date import (
|
||||||
|
format_date, internal_iso_format_string, is_date_undefined, now, qt_from_dt,
|
||||||
|
qt_to_dt,
|
||||||
|
)
|
||||||
|
from calibre.utils.icu import sort_key
|
||||||
|
|
||||||
|
|
||||||
class UpdateEditorGeometry:
|
class UpdateEditorGeometry:
|
||||||
|
|
||||||
@ -252,6 +262,8 @@ class DateDelegate(QStyledItemDelegate, UpdateEditorGeometry): # {{{
|
|||||||
val = index.data(Qt.ItemDataRole.EditRole)
|
val = index.data(Qt.ItemDataRole.EditRole)
|
||||||
if is_date_undefined(val):
|
if is_date_undefined(val):
|
||||||
val = now()
|
val = now()
|
||||||
|
if isinstance(val, datetime):
|
||||||
|
val = qt_from_dt(val)
|
||||||
editor.setDateTime(val)
|
editor.setDateTime(val)
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
@ -450,6 +462,8 @@ class CcDateDelegate(QStyledItemDelegate, UpdateEditorGeometry): # {{{
|
|||||||
val = index.data(Qt.ItemDataRole.EditRole)
|
val = index.data(Qt.ItemDataRole.EditRole)
|
||||||
if is_date_undefined(val):
|
if is_date_undefined(val):
|
||||||
val = now()
|
val = now()
|
||||||
|
if isinstance(val, datetime):
|
||||||
|
val = qt_from_dt(val)
|
||||||
editor.setDateTime(val)
|
editor.setDateTime(val)
|
||||||
|
|
||||||
def setModelData(self, editor, model, index):
|
def setModelData(self, editor, model, index):
|
||||||
|
@ -136,6 +136,8 @@ def make_undoable(spinbox):
|
|||||||
self.undo_val = widget.value()
|
self.undo_val = widget.value()
|
||||||
if isinstance(val, date) and not isinstance(val, datetime):
|
if isinstance(val, date) and not isinstance(val, datetime):
|
||||||
val = parse_only_date(val.isoformat(), assume_utc=False, as_utc=False)
|
val = parse_only_date(val.isoformat(), assume_utc=False, as_utc=False)
|
||||||
|
if isinstance(val, datetime):
|
||||||
|
val = qt_from_dt(val)
|
||||||
self.redo_val = val
|
self.redo_val = val
|
||||||
|
|
||||||
def undo(self):
|
def undo(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user