From 1441bce41c71f87ee9a9c2bf818a7322e79c5ffd Mon Sep 17 00:00:00 2001
From: Charles Haley <>
Date: Mon, 27 Jun 2011 17:19:31 +0100
Subject: [PATCH] Remove spacer that shouldn't be there. Add 2-criteria sorting
for series.
---
src/calibre/gui2/dialogs/quickview.py | 21 +++++++++++++++++----
src/calibre/gui2/dialogs/quickview.ui | 13 -------------
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/src/calibre/gui2/dialogs/quickview.py b/src/calibre/gui2/dialogs/quickview.py
index 3a69368730..ec8e6b6bc7 100644
--- a/src/calibre/gui2/dialogs/quickview.py
+++ b/src/calibre/gui2/dialogs/quickview.py
@@ -18,16 +18,29 @@ class TableItem(QTableWidgetItem):
A QTableWidgetItem that sorts on a separate string and uses ICU rules
'''
- def __init__(self, val, sort):
+ def __init__(self, val, sort, idx=0):
self.sort = sort
+ self.sort_idx = idx
QTableWidgetItem.__init__(self, val)
self.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable)
def __ge__(self, other):
- return sort_key(self.sort) >= sort_key(other.sort)
+ l = sort_key(self.sort)
+ r = sort_key(other.sort)
+ if l > r:
+ return 1
+ if l == r:
+ return self.sort_idx >= other.sort_idx
+ return 0
def __lt__(self, other):
- return sort_key(self.sort) < sort_key(other.sort)
+ l = sort_key(self.sort)
+ r = sort_key(other.sort)
+ if l < r:
+ return 1
+ if l == r:
+ return self.sort_idx < other.sort_idx
+ return 0
class Quickview(QDialog, Ui_Quickview):
@@ -185,7 +198,7 @@ class Quickview(QDialog, Ui_Quickview):
series = mi.format_field('series')[1]
if series is None:
series = ''
- a = TableItem(series, series)
+ a = TableItem(series, mi.series, mi.series_index)
a.setToolTip(tt)
self.books_table.setItem(row, 2, a)
self.books_table.setRowHeight(row, self.books_table_row_height)
diff --git a/src/calibre/gui2/dialogs/quickview.ui b/src/calibre/gui2/dialogs/quickview.ui
index 2cdc7b7379..4b040e34d3 100644
--- a/src/calibre/gui2/dialogs/quickview.ui
+++ b/src/calibre/gui2/dialogs/quickview.ui
@@ -57,19 +57,6 @@
- -
-
-
- Qt::Vertical
-
-
-
- 0
- 0
-
-
-
-
-
-