mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Add context menu to grid view
This commit is contained in:
parent
d97ca53593
commit
0b70899dfd
@ -96,6 +96,11 @@ class AlternateViews(object):
|
|||||||
rows = {r.row() for r in self.main_view.selectionModel().selectedIndexes()}
|
rows = {r.row() for r in self.main_view.selectionModel().selectedIndexes()}
|
||||||
self.current_view.select_rows(rows)
|
self.current_view.select_rows(rows)
|
||||||
|
|
||||||
|
def set_context_menu(self, menu):
|
||||||
|
for view in self.views.itervalues():
|
||||||
|
if view is not self.main_view:
|
||||||
|
view.set_context_menu(menu)
|
||||||
|
|
||||||
|
|
||||||
class CoverCache(dict):
|
class CoverCache(dict):
|
||||||
|
|
||||||
@ -210,6 +215,7 @@ class GridView(QListView):
|
|||||||
self.ignore_render_requests = Event()
|
self.ignore_render_requests = Event()
|
||||||
self.render_thread = None
|
self.render_thread = None
|
||||||
self.update_item.connect(self.re_render, type=Qt.QueuedConnection)
|
self.update_item.connect(self.re_render, type=Qt.QueuedConnection)
|
||||||
|
self.context_menu = None
|
||||||
|
|
||||||
def shown(self):
|
def shown(self):
|
||||||
if self.render_thread is None:
|
if self.render_thread is None:
|
||||||
@ -301,3 +307,10 @@ class GridView(QListView):
|
|||||||
sm = self.selectionModel()
|
sm = self.selectionModel()
|
||||||
sm.setCurrentIndex(self.model().index(row, 0), sm.NoUpdate)
|
sm.setCurrentIndex(self.model().index(row, 0), sm.NoUpdate)
|
||||||
|
|
||||||
|
def set_context_menu(self, menu):
|
||||||
|
self.context_menu = menu
|
||||||
|
|
||||||
|
def contextMenuEvent(self, event):
|
||||||
|
if self.context_menu is not None:
|
||||||
|
self.context_menu.popup(event.globalPos())
|
||||||
|
event.accept()
|
||||||
|
@ -696,6 +696,7 @@ class BooksView(QTableView): # {{{
|
|||||||
def set_context_menu(self, menu, edit_collections_action):
|
def set_context_menu(self, menu, edit_collections_action):
|
||||||
self.setContextMenuPolicy(Qt.DefaultContextMenu)
|
self.setContextMenuPolicy(Qt.DefaultContextMenu)
|
||||||
self.context_menu = menu
|
self.context_menu = menu
|
||||||
|
self.alternate_views.set_context_menu(menu)
|
||||||
self.edit_collections_action = edit_collections_action
|
self.edit_collections_action = edit_collections_action
|
||||||
|
|
||||||
def contextMenuEvent(self, event):
|
def contextMenuEvent(self, event):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user