mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix regression that broke the On Device/In Library column
This commit is contained in:
commit
99ed3e4477
@ -200,13 +200,6 @@ class SearchBar(QWidget): # {{{
|
|||||||
x.setIcon(QIcon(I('arrow-down.png')))
|
x.setIcon(QIcon(I('arrow-down.png')))
|
||||||
l.addWidget(x)
|
l.addWidget(x)
|
||||||
|
|
||||||
x = parent.search_options_button = QToolButton(self)
|
|
||||||
x.setIcon(QIcon(I('config.png')))
|
|
||||||
x.setObjectName("search_option_button")
|
|
||||||
l.addWidget(x)
|
|
||||||
x.setToolTip(_("Change the way searching for books works"))
|
|
||||||
x.setVisible(False)
|
|
||||||
|
|
||||||
x = parent.saved_search = SavedSearchBox(self)
|
x = parent.saved_search = SavedSearchBox(self)
|
||||||
x.setMaximumSize(QSize(150, 16777215))
|
x.setMaximumSize(QSize(150, 16777215))
|
||||||
x.setMinimumContentsLength(15)
|
x.setMinimumContentsLength(15)
|
||||||
|
@ -743,6 +743,8 @@ class BooksView(QTableView): # {{{
|
|||||||
id_to_select = self._model.get_current_highlighted_id()
|
id_to_select = self._model.get_current_highlighted_id()
|
||||||
if id_to_select is not None:
|
if id_to_select is not None:
|
||||||
self.select_rows([id_to_select], using_ids=True)
|
self.select_rows([id_to_select], using_ids=True)
|
||||||
|
elif self._model.highlight_only:
|
||||||
|
self.clearSelection()
|
||||||
self.setFocus(Qt.OtherFocusReason)
|
self.setFocus(Qt.OtherFocusReason)
|
||||||
|
|
||||||
def connect_to_search_box(self, sb, search_done):
|
def connect_to_search_box(self, sb, search_done):
|
||||||
|
@ -364,7 +364,6 @@ class SearchBoxMixin(object): # {{{
|
|||||||
unicode(self.search.toolTip())))
|
unicode(self.search.toolTip())))
|
||||||
self.advanced_search_button.setStatusTip(self.advanced_search_button.toolTip())
|
self.advanced_search_button.setStatusTip(self.advanced_search_button.toolTip())
|
||||||
self.clear_button.setStatusTip(self.clear_button.toolTip())
|
self.clear_button.setStatusTip(self.clear_button.toolTip())
|
||||||
self.search_options_button.clicked.connect(self.search_options_button_clicked)
|
|
||||||
self.set_highlight_only_button_icon()
|
self.set_highlight_only_button_icon()
|
||||||
self.highlight_only_button.clicked.connect(self.highlight_only_clicked)
|
self.highlight_only_button.clicked.connect(self.highlight_only_clicked)
|
||||||
tt = _('Enable or disable search highlighting.') + '<br><br>'
|
tt = _('Enable or disable search highlighting.') + '<br><br>'
|
||||||
@ -374,6 +373,8 @@ class SearchBoxMixin(object): # {{{
|
|||||||
def highlight_only_clicked(self, state):
|
def highlight_only_clicked(self, state):
|
||||||
config['highlight_search_matches'] = not config['highlight_search_matches']
|
config['highlight_search_matches'] = not config['highlight_search_matches']
|
||||||
self.set_highlight_only_button_icon()
|
self.set_highlight_only_button_icon()
|
||||||
|
self.search.do_search()
|
||||||
|
self.focus_to_library()
|
||||||
|
|
||||||
def set_highlight_only_button_icon(self):
|
def set_highlight_only_button_icon(self):
|
||||||
if config['highlight_search_matches']:
|
if config['highlight_search_matches']:
|
||||||
@ -404,10 +405,6 @@ class SearchBoxMixin(object): # {{{
|
|||||||
self.search.do_search()
|
self.search.do_search()
|
||||||
self.focus_to_library()
|
self.focus_to_library()
|
||||||
|
|
||||||
def search_options_button_clicked(self):
|
|
||||||
self.iactions['Preferences'].do_config(initial_plugin=('Interface',
|
|
||||||
'Search'), close_after_initial=True)
|
|
||||||
|
|
||||||
def focus_to_library(self):
|
def focus_to_library(self):
|
||||||
self.current_view().setFocus(Qt.OtherFocusReason)
|
self.current_view().setFocus(Qt.OtherFocusReason)
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ from functools import partial
|
|||||||
from PyQt4.Qt import (Qt, QTreeView, QApplication, pyqtSignal, QFont, QSize,
|
from PyQt4.Qt import (Qt, QTreeView, QApplication, pyqtSignal, QFont, QSize,
|
||||||
QIcon, QPoint, QVBoxLayout, QHBoxLayout, QComboBox, QTimer,
|
QIcon, QPoint, QVBoxLayout, QHBoxLayout, QComboBox, QTimer,
|
||||||
QAbstractItemModel, QVariant, QModelIndex, QMenu, QFrame,
|
QAbstractItemModel, QVariant, QModelIndex, QMenu, QFrame,
|
||||||
QWidget, QItemDelegate, QString, QLabel,
|
QWidget, QItemDelegate, QString, QLabel, QPushButton,
|
||||||
QShortcut, QKeySequence, SIGNAL, QMimeData, QToolButton)
|
QShortcut, QKeySequence, SIGNAL, QMimeData, QToolButton)
|
||||||
|
|
||||||
from calibre.ebooks.metadata import title_sort
|
from calibre.ebooks.metadata import title_sort
|
||||||
@ -1809,9 +1809,6 @@ class TagsModel(QAbstractItemModel): # {{{
|
|||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
category_managers = (
|
|
||||||
)
|
|
||||||
|
|
||||||
class TagBrowserMixin(object): # {{{
|
class TagBrowserMixin(object): # {{{
|
||||||
|
|
||||||
def __init__(self, db):
|
def __init__(self, db):
|
||||||
@ -1833,20 +1830,23 @@ class TagBrowserMixin(object): # {{{
|
|||||||
self.tags_view.restriction_error.connect(self.do_restriction_error,
|
self.tags_view.restriction_error.connect(self.do_restriction_error,
|
||||||
type=Qt.QueuedConnection)
|
type=Qt.QueuedConnection)
|
||||||
|
|
||||||
for text, func, args in (
|
for text, func, args, cat_name in (
|
||||||
(_('Manage Authors'), self.do_author_sort_edit, (self,
|
(_('Manage Authors'),
|
||||||
None)),
|
self.do_author_sort_edit, (self, None), 'authors'),
|
||||||
(_('Manage Series'), self.do_tags_list_edit, (None,
|
(_('Manage Series'),
|
||||||
'series')),
|
self.do_tags_list_edit, (None, 'series'), 'series'),
|
||||||
(_('Manage Publishers'), self.do_tags_list_edit, (None,
|
(_('Manage Publishers'),
|
||||||
'publisher')),
|
self.do_tags_list_edit, (None, 'publisher'), 'publisher'),
|
||||||
(_('Manage Tags'), self.do_tags_list_edit, (None, 'tags')),
|
(_('Manage Tags'),
|
||||||
|
self.do_tags_list_edit, (None, 'tags'), 'tags'),
|
||||||
(_('Manage User Categories'),
|
(_('Manage User Categories'),
|
||||||
self.do_edit_user_categories, (None,)),
|
self.do_edit_user_categories, (None,), 'user:'),
|
||||||
(_('Manage Saved Searches'), self.do_saved_search_edit,
|
(_('Manage Saved Searches'),
|
||||||
(None,))
|
self.do_saved_search_edit, (None,), 'search')
|
||||||
):
|
):
|
||||||
self.manage_items_button.menu().addAction(text, partial(func, *args))
|
self.manage_items_button.menu().addAction(
|
||||||
|
QIcon(I(category_icon_map[cat_name])),
|
||||||
|
text, partial(func, *args))
|
||||||
|
|
||||||
def do_restriction_error(self):
|
def do_restriction_error(self):
|
||||||
error_dialog(self.tags_view, _('Invalid search restriction'),
|
error_dialog(self.tags_view, _('Invalid search restriction'),
|
||||||
@ -2166,11 +2166,9 @@ class TagBrowserWidget(QWidget): # {{{
|
|||||||
parent.tag_match.setStatusTip(parent.tag_match.toolTip())
|
parent.tag_match.setStatusTip(parent.tag_match.toolTip())
|
||||||
|
|
||||||
|
|
||||||
l = parent.manage_items_button = QToolButton(self)
|
l = parent.manage_items_button = QPushButton(self)
|
||||||
l.setIcon(QIcon(I('tags.png')))
|
l.setStyleSheet('QPushButton {text-align: left; }')
|
||||||
l.setText(_('Manage authors, tags, etc'))
|
l.setText(_('Manage authors, tags, etc'))
|
||||||
l.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
|
|
||||||
l.setPopupMode(l.InstantPopup)
|
|
||||||
l.setToolTip(_('All of these category_managers are available by right-clicking '
|
l.setToolTip(_('All of these category_managers are available by right-clicking '
|
||||||
'on items in the tag browser above'))
|
'on items in the tag browser above'))
|
||||||
l.m = QMenu()
|
l.m = QMenu()
|
||||||
|
@ -529,10 +529,10 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
action.location_selected(location)
|
action.location_selected(location)
|
||||||
if location == 'library':
|
if location == 'library':
|
||||||
self.search_restriction.setEnabled(True)
|
self.search_restriction.setEnabled(True)
|
||||||
self.search_options_button.setEnabled(True)
|
self.highlight_only_button.setEnabled(True)
|
||||||
else:
|
else:
|
||||||
self.search_restriction.setEnabled(False)
|
self.search_restriction.setEnabled(False)
|
||||||
self.search_options_button.setEnabled(False)
|
self.highlight_only_button.setEnabled(False)
|
||||||
# Reset the view in case something changed while it was invisible
|
# Reset the view in case something changed while it was invisible
|
||||||
self.current_view().reset()
|
self.current_view().reset()
|
||||||
self.set_number_of_books_shown()
|
self.set_number_of_books_shown()
|
||||||
|
@ -854,7 +854,6 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
|
|||||||
mi.uuid = row[fm['uuid']]
|
mi.uuid = row[fm['uuid']]
|
||||||
mi.title_sort = row[fm['sort']]
|
mi.title_sort = row[fm['sort']]
|
||||||
mi.last_modified = row[fm['last_modified']]
|
mi.last_modified = row[fm['last_modified']]
|
||||||
mi.size = row[fm['size']]
|
|
||||||
formats = row[fm['formats']]
|
formats = row[fm['formats']]
|
||||||
if not formats:
|
if not formats:
|
||||||
formats = None
|
formats = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user