Edit Meta information dialog now displays dates in the local timezone, like the main book view. Fixes #3288 (Published Date issue)

This commit is contained in:
Kovid Goyal 2009-09-28 08:38:21 -06:00
parent a5bc1ad251
commit 91df0ad326
2 changed files with 12 additions and 4 deletions

View File

@ -10,7 +10,7 @@ import os
import re import re
import time import time
import traceback import traceback
from datetime import datetime from datetime import datetime, timedelta
from PyQt4.QtCore import SIGNAL, QObject, QCoreApplication, Qt, QTimer, QThread, QDate from PyQt4.QtCore import SIGNAL, QObject, QCoreApplication, Qt, QTimer, QThread, QDate
from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog from PyQt4.QtGui import QPixmap, QListWidgetItem, QErrorMessage, QDialog
@ -325,9 +325,12 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
self.comments.setPlainText(comments if comments else '') self.comments.setPlainText(comments if comments else '')
cover = self.db.cover(row) cover = self.db.cover(row)
pubdate = db.pubdate(self.id, index_is_id=True) pubdate = db.pubdate(self.id, index_is_id=True)
self.local_timezone_offset = timedelta(seconds=time.timezone) - timedelta(hours=time.daylight)
pubdate = pubdate - self.local_timezone_offset
self.pubdate.setDate(QDate(pubdate.year, pubdate.month, self.pubdate.setDate(QDate(pubdate.year, pubdate.month,
pubdate.day)) pubdate.day))
timestamp = db.timestamp(self.id, index_is_id=True) timestamp = db.timestamp(self.id, index_is_id=True)
timestamp = timestamp - self.local_timezone_offset
self.date.setDate(QDate(timestamp.year, timestamp.month, self.date.setDate(QDate(timestamp.year, timestamp.month,
timestamp.day)) timestamp.day))
@ -523,6 +526,7 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
if book.isbn: self.isbn.setText(book.isbn) if book.isbn: self.isbn.setText(book.isbn)
if book.pubdate: if book.pubdate:
d = book.pubdate d = book.pubdate
d = d - self.local_timezone_offset
self.pubdate.setDate(QDate(d.year, d.month, d.day)) self.pubdate.setDate(QDate(d.year, d.month, d.day))
summ = book.comments summ = book.comments
if summ: if summ:
@ -571,9 +575,13 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog):
self.db.set_series_index(self.id, self.series_index.value(), notify=False) self.db.set_series_index(self.id, self.series_index.value(), notify=False)
self.db.set_comment(self.id, qstring_to_unicode(self.comments.toPlainText()), notify=False) self.db.set_comment(self.id, qstring_to_unicode(self.comments.toPlainText()), notify=False)
d = self.pubdate.date() d = self.pubdate.date()
self.db.set_pubdate(self.id, datetime(d.year(), d.month(), d.day())) d = datetime(d.year(), d.month(), d.day())
d = d + self.local_timezone_offset
self.db.set_pubdate(self.id, d)
d = self.date.date() d = self.date.date()
self.db.set_timestamp(self.id, datetime(d.year(), d.month(), d.day())) d = datetime(d.year(), d.month(), d.day())
d = d + self.local_timezone_offset
self.db.set_timestamp(self.id, d)
if self.cover_changed and self.cover_data is not None: if self.cover_changed and self.cover_data is not None:
self.db.set_cover(self.id, self.cover_data) self.db.set_cover(self.id, self.cover_data)

View File

@ -378,7 +378,7 @@
<item row="9" column="1" colspan="2"> <item row="9" column="1" colspan="2">
<widget class="QDateEdit" name="date"> <widget class="QDateEdit" name="date">
<property name="displayFormat"> <property name="displayFormat">
<string>MMM yyyy</string> <string>dd MMM yyyy</string>
</property> </property>
<property name="calendarPopup"> <property name="calendarPopup">
<bool>true</bool> <bool>true</bool>