From a3c461890f8fb19c29e1967ccc05e5af5e434b04 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 13 Jun 2011 11:03:59 +0100 Subject: [PATCH] Make updating the device view respect previous searches and sorts. Make using double-click to edit on the device view not attempt to open the library's edit metadata dialog box. --- src/calibre/gui2/library/models.py | 6 ++++-- src/calibre/gui2/library/views.py | 13 +++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/library/models.py b/src/calibre/gui2/library/models.py index 72655afd12..f49c6db59a 100644 --- a/src/calibre/gui2/library/models.py +++ b/src/calibre/gui2/library/models.py @@ -1110,6 +1110,8 @@ class DeviceBooksModel(BooksModel): # {{{ if self.last_search: self.searched.emit(True) + def research(self, reset=True): + self.search(self.last_search, reset) def sort(self, col, order, reset=True): descending = order != Qt.AscendingOrder @@ -1171,6 +1173,8 @@ class DeviceBooksModel(BooksModel): # {{{ self.custom_columns = {} self.db = db self.map = list(range(0, len(db))) + self.research(reset=False) + self.resort() def cover(self, row): item = self.db[self.map[row]] @@ -1319,8 +1323,6 @@ class DeviceBooksModel(BooksModel): # {{{ ans = Qt.AlignVCenter | ALIGNMENT_MAP[self.alignment_map.get(cname, 'left')] return QVariant(ans) - - return NONE def headerData(self, section, orientation, role): diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index f59473851f..3ca898d15a 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -48,7 +48,7 @@ class BooksView(QTableView): # {{{ files_dropped = pyqtSignal(object) add_column_signal = pyqtSignal() - def __init__(self, parent, modelcls=BooksModel): + def __init__(self, parent, modelcls=BooksModel, use_edit_metadata_dialog=True): QTableView.__init__(self, parent) self.setEditTriggers(self.EditKeyPressed) @@ -60,8 +60,12 @@ class BooksView(QTableView): # {{{ elif tweaks['doubleclick_on_library_view'] == 'edit_metadata': # Must not enable single-click to edit, or the field will remain # open in edit mode underneath the edit metadata dialog - self.doubleClicked.connect( - partial(parent.iactions['Edit Metadata'].edit_metadata, checked=False)) + if use_edit_metadata_dialog: + self.doubleClicked.connect( + partial(parent.iactions['Edit Metadata'].edit_metadata, + checked=False)) + else: + self.setEditTriggers(self.DoubleClicked|self.editTriggers()) self.drag_allowed = True self.setDragEnabled(True) @@ -792,7 +796,8 @@ class BooksView(QTableView): # {{{ class DeviceBooksView(BooksView): # {{{ def __init__(self, parent): - BooksView.__init__(self, parent, DeviceBooksModel) + BooksView.__init__(self, parent, DeviceBooksModel, + use_edit_metadata_dialog=False) self.can_add_columns = False self.columns_resized = False self.resize_on_select = False