def eventFilter(self, source: 'QObject', e: 'QEvent') -> bool: if (e.type() == QtCore.QEvent.ContextMenu and source is self.ui.listWidgetResults): contextMenu = QMenu(self) actCopyAuthordate = contextMenu.addAction(u"Copy author(s) and year") actCopyDOI = contextMenu.addAction(u"Copy DOI") actCopyTitle = contextMenu.addAction(u"Copy title") actCopyAbs = contextMenu.addAction(u"Copy abstract") actCopyRef = contextMenu.addAction(u"Copy Reference") action = contextMenu.exec_(self.mapToGlobal(e.pos())) item = source.itemAt(e.pos()) if (action is None) or (item is None): return True clipboard = QtGui.QApplication.clipboard() clipboard.clear(mode=clipboard.Clipboard) if action is actCopyAuthordate: clipboard.setText(item.zoteroItem.author_date_format(), mode=clipboard.Clipboard) return True elif action is actCopyDOI: if item.zoteroItem.doi is not None: clipboard.setText(item.zoteroItem.doi, mode=clipboard.Clipboard) return True elif action is actCopyTitle: title = item.zoteroItem.format_title() if title is not None: clipboard.setText(title, mode=clipboard.Clipboard) return True elif action is actCopyAbs: if item.zoteroItem.abstract is not None: clipboard.setText(item.zoteroItem.abstract, mode=clipboard.Clipboard) return True elif action is actCopyRef: clipboard.setText(item.zoteroItem.full_format(), mode=clipboard.Clipboard) return True return QMainWindow.eventFilter(self, source, e)
def __init__(self, qnotero): """ Constructor Arguments: qnotero -- a Qnotero instance """ QSystemTrayIcon.__init__(self, qnotero) self.qnotero = qnotero self.menu = QMenu() self.re_init() self.activated.connect(self.activate)
def __init__(self, qnotero): """ Constructor Arguments: qnotero -- a Qnotero instance """ QSystemTrayIcon.__init__(self, qnotero) self.qnotero = qnotero self.updateIcon() self.menu = QMenu() self.menu.addAction(self.qnotero.theme.icon("qnotero"), "Show", self.qnotero.popUp) self.menu.addAction(self.qnotero.theme.icon("preferences"), "Preferences", self.qnotero.preferences) self.menu.addAction(self.qnotero.theme.icon("close"), "Close", self.qnotero.close) self.setContextMenu(self.menu) self.activated.connect(self.activate) self.listenerActivated.connect(self.activate)