From 54b5c9c862f735eab18487aa776fadb8469d823e Mon Sep 17 00:00:00 2001 From: Peter Surda Date: Wed, 16 Mar 2016 18:42:08 +0100 Subject: [PATCH] Keyboard modifiers with quick navigation The quick navigation key disrupted keybindings with keyboard modifiers, like Ctrl-C for copy. This restricts the quick navigation only where no keyboard modifiers are active. Fixes #184 --- src/bitmessageqt/__init__.py | 59 ++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index a6024fbf..4d518be3 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -1510,35 +1510,36 @@ class MyForm(settingsmixin.SMainWindow): else: self.on_action_InboxTrash() event.ignore() - elif event.key() == QtCore.Qt.Key_N: - currentRow = messagelist.currentRow() - if currentRow < messagelist.rowCount() - 1: - messagelist.selectRow(currentRow + 1) - event.ignore() - elif event.key() == QtCore.Qt.Key_P: - currentRow = messagelist.currentRow() - if currentRow > 0: - messagelist.selectRow(currentRow - 1) - event.ignore() - elif event.key() == QtCore.Qt.Key_R: - if messagelist == self.ui.tableWidgetInboxChans: - self.on_action_InboxReplyChan() - else: - self.on_action_InboxReply() - event.ignore() - elif event.key() == QtCore.Qt.Key_C: - currentAddress = self.getCurrentAccount() - if currentAddress: - self.setSendFromComboBox(currentAddress) - self.ui.tabWidgetSend.setCurrentIndex(0) - self.ui.tabWidget.setCurrentIndex(1) - self.ui.lineEditTo.setFocus() - event.ignore() - elif event.key() == QtCore.Qt.Key_F: - searchline = self.getCurrentSearchLine(retObj = True) - if searchline: - searchline.setFocus() - event.ignore() + elif QtGui.QApplication.queryKeyboardModifiers() == QtCore.Qt.NoModifier: + if event.key() == QtCore.Qt.Key_N: + currentRow = messagelist.currentRow() + if currentRow < messagelist.rowCount() - 1: + messagelist.selectRow(currentRow + 1) + event.ignore() + elif event.key() == QtCore.Qt.Key_P: + currentRow = messagelist.currentRow() + if currentRow > 0: + messagelist.selectRow(currentRow - 1) + event.ignore() + elif event.key() == QtCore.Qt.Key_R: + if messagelist == self.ui.tableWidgetInboxChans: + self.on_action_InboxReplyChan() + else: + self.on_action_InboxReply() + event.ignore() + elif event.key() == QtCore.Qt.Key_C: + currentAddress = self.getCurrentAccount() + if currentAddress: + self.setSendFromComboBox(currentAddress) + self.ui.tabWidgetSend.setCurrentIndex(0) + self.ui.tabWidget.setCurrentIndex(1) + self.ui.lineEditTo.setFocus() + event.ignore() + elif event.key() == QtCore.Qt.Key_F: + searchline = self.getCurrentSearchLine(retObj = True) + if searchline: + searchline.setFocus() + event.ignore() if not event.isAccepted(): return if isinstance (focus, MessageView):