mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge branch 'master' of https://github.com/cbhaley/calibre
This commit is contained in:
commit
d511b7c12b
@ -4,6 +4,8 @@ __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
|
|||||||
__docformat__ = 'restructuredtext en'
|
__docformat__ = 'restructuredtext en'
|
||||||
|
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
from PyQt5.Qt import (
|
from PyQt5.Qt import (
|
||||||
Qt, QDialog, QAbstractItemView, QTableWidgetItem, QIcon, QListWidgetItem,
|
Qt, QDialog, QAbstractItemView, QTableWidgetItem, QIcon, QListWidgetItem,
|
||||||
QCoreApplication, QEvent, QObject, QApplication, pyqtSignal, QByteArray)
|
QCoreApplication, QEvent, QObject, QApplication, pyqtSignal, QByteArray)
|
||||||
@ -27,8 +29,12 @@ class TableItem(QTableWidgetItem):
|
|||||||
self.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable)
|
self.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable)
|
||||||
|
|
||||||
def __ge__(self, other):
|
def __ge__(self, other):
|
||||||
|
if isinstance(self.sort, (str, unicode)):
|
||||||
l = sort_key(self.sort)
|
l = sort_key(self.sort)
|
||||||
r = sort_key(other.sort)
|
r = sort_key(other.sort)
|
||||||
|
else:
|
||||||
|
l = self.sort
|
||||||
|
r = other.sort
|
||||||
if l > r:
|
if l > r:
|
||||||
return 1
|
return 1
|
||||||
if l == r:
|
if l == r:
|
||||||
@ -36,8 +42,12 @@ class TableItem(QTableWidgetItem):
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
def __lt__(self, other):
|
def __lt__(self, other):
|
||||||
|
if isinstance(self.sort, (str, unicode)):
|
||||||
l = sort_key(self.sort)
|
l = sort_key(self.sort)
|
||||||
r = sort_key(other.sort)
|
r = sort_key(other.sort)
|
||||||
|
else:
|
||||||
|
l = self.sort
|
||||||
|
r = other.sort
|
||||||
if l < r:
|
if l < r:
|
||||||
return 1
|
return 1
|
||||||
if l == r:
|
if l == r:
|
||||||
@ -459,6 +469,7 @@ class Quickview(QDialog, Ui_Quickview):
|
|||||||
for row, b in enumerate(books):
|
for row, b in enumerate(books):
|
||||||
mi = self.db.get_metadata(b, index_is_id=True, get_user_categories=False)
|
mi = self.db.get_metadata(b, index_is_id=True, get_user_categories=False)
|
||||||
for col in self.column_order:
|
for col in self.column_order:
|
||||||
|
try:
|
||||||
if col == 'title':
|
if col == 'title':
|
||||||
a = TableItem(mi.title, mi.title_sort)
|
a = TableItem(mi.title, mi.title_sort)
|
||||||
if b == self.current_book_id:
|
if b == self.current_book_id:
|
||||||
@ -468,19 +479,31 @@ class Quickview(QDialog, Ui_Quickview):
|
|||||||
elif col == 'series':
|
elif col == 'series':
|
||||||
series = mi.format_field('series')[1]
|
series = mi.format_field('series')[1]
|
||||||
if series is None:
|
if series is None:
|
||||||
series = ''
|
a = TableItem('', '', 0)
|
||||||
|
else:
|
||||||
a = TableItem(series, mi.series, mi.series_index)
|
a = TableItem(series, mi.series, mi.series_index)
|
||||||
elif self.fm[col]['datatype'] == 'series':
|
elif self.fm[col]['datatype'] == 'series':
|
||||||
v = mi.format_field(col)[1]
|
v = mi.format_field(col)[1]
|
||||||
a = TableItem(v, mi.get(col), mi.get(col+'_index'))
|
a = TableItem(v, mi.get(col), mi.get(col+'_index'))
|
||||||
|
elif self.fm[col]['datatype'] == 'datetime':
|
||||||
|
v = mi.format_field(col)[1]
|
||||||
|
from calibre.utils.date import timestampfromdt
|
||||||
|
sv = timestampfromdt(mi.get(col))
|
||||||
|
a = TableItem(v, sv)
|
||||||
|
elif self.fm[col]['datatype'] in ('float', 'int'):
|
||||||
|
v = mi.format_field(col)[1]
|
||||||
|
sv = mi.get(col)
|
||||||
|
a = TableItem(v, sv)
|
||||||
else:
|
else:
|
||||||
v = mi.format_field(col)[1]
|
v = mi.format_field(col)[1]
|
||||||
a = TableItem(v, v)
|
a = TableItem(v, v)
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
a = TableItem(_('Something went wrong while filling in the table'), '')
|
||||||
a.setData(Qt.UserRole, b)
|
a.setData(Qt.UserRole, b)
|
||||||
a.setToolTip(tt)
|
a.setToolTip(tt)
|
||||||
self.books_table.setItem(row, self.key_to_table_widget_column(col), a)
|
self.books_table.setItem(row, self.key_to_table_widget_column(col), a)
|
||||||
self.books_table.setRowHeight(row, self.books_table_row_height)
|
self.books_table.setRowHeight(row, self.books_table_row_height)
|
||||||
|
|
||||||
self.books_table.blockSignals(False)
|
self.books_table.blockSignals(False)
|
||||||
self.books_table.setSortingEnabled(True)
|
self.books_table.setSortingEnabled(True)
|
||||||
if select_item is not None:
|
if select_item is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user