Skip to content

Commit 345088c

Browse files
authored
Merge pull request #6192 from slarosa/fix_shortcut_macos
Fix displaying keyboard shortcut under macos
2 parents 231dae3 + abeef25 commit 345088c

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

python/plugins/processing/ProcessingPlugin.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
QgsCustomDropHandler)
4141
from qgis.PyQt.QtCore import Qt, QCoreApplication, QDir, QFileInfo
4242
from qgis.PyQt.QtWidgets import QMenu, QAction
43-
from qgis.PyQt.QtGui import QIcon
43+
from qgis.PyQt.QtGui import QIcon, QKeySequence
4444

4545
from processing.core.Processing import Processing
4646
from processing.gui.AlgorithmDialog import AlgorithmDialog
@@ -189,7 +189,8 @@ def initGui(self):
189189
self.toolboxAction.setObjectName('toolboxAction')
190190
self.toolboxAction.setIcon(
191191
QgsApplication.getThemeIcon("/processingAlgorithm.svg"))
192-
self.iface.registerMainWindowAction(self.toolboxAction, 'Ctrl+Alt+T')
192+
self.iface.registerMainWindowAction(self.toolboxAction,
193+
QKeySequence('Ctrl+Alt+T').toString(QKeySequence.NativeText))
193194
self.toolboxAction.toggled.connect(self.openToolbox)
194195
self.iface.attributesToolBar().insertAction(self.iface.actionOpenStatisticalSummary(), self.toolboxAction)
195196
self.menu.addAction(self.toolboxAction)
@@ -199,23 +200,27 @@ def initGui(self):
199200
self.tr('Graphical &Modeler...'), self.iface.mainWindow())
200201
self.modelerAction.setObjectName('modelerAction')
201202
self.modelerAction.triggered.connect(self.openModeler)
202-
self.iface.registerMainWindowAction(self.modelerAction, 'Ctrl+Alt+M')
203+
self.iface.registerMainWindowAction(self.modelerAction,
204+
QKeySequence('Ctrl+Alt+M').toString(QKeySequence.NativeText))
203205
self.menu.addAction(self.modelerAction)
204206

205207
self.historyAction = QAction(
206208
QIcon(os.path.join(pluginPath, 'images', 'history.svg')),
207209
self.tr('&History...'), self.iface.mainWindow())
208210
self.historyAction.setObjectName('historyAction')
209211
self.historyAction.triggered.connect(self.openHistory)
210-
self.iface.registerMainWindowAction(self.historyAction, 'Ctrl+Alt+H')
212+
self.iface.registerMainWindowAction(self.historyAction,
213+
QKeySequence('Ctrl+Alt+H').toString(QKeySequence.NativeText))
211214
self.menu.addAction(self.historyAction)
212215
self.toolbox.processingToolbar.addAction(self.historyAction)
213216

214217
self.resultsAction = QAction(
215218
QgsApplication.getThemeIcon("/processingResult.svg"),
216219
self.tr('&Results Viewer'), self.iface.mainWindow())
217220
self.resultsAction.setCheckable(True)
218-
self.iface.registerMainWindowAction(self.resultsAction, 'Ctrl+Alt+R')
221+
self.iface.registerMainWindowAction(self.resultsAction,
222+
QKeySequence('Ctrl+Alt+R').toString(QKeySequence.NativeText))
223+
219224
self.menu.addAction(self.resultsAction)
220225
self.toolbox.processingToolbar.addAction(self.resultsAction)
221226
self.resultsDock.visibilityChanged.connect(self.resultsAction.setChecked)

src/gui/qgsconfigureshortcutsdialog.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@ void QgsConfigureShortcutsDialog::populateActions()
6969
{
7070
actionText = action->text();
7171
actionText.remove( '&' ); // remove the accelerator
72-
sequence = action->shortcut().toString();
72+
sequence = action->shortcut().toString( QKeySequence::NativeText );
7373
icon = action->icon();
7474
}
7575
else if ( QShortcut *shortcut = qobject_cast< QShortcut * >( obj ) )
7676
{
7777
actionText = shortcut->whatsThis();
78-
sequence = shortcut->key().toString();
78+
sequence = shortcut->key().toString( QKeySequence::NativeText );
7979
icon = shortcut->property( "Icon" ).value<QIcon>();
8080
}
8181
else
@@ -391,7 +391,7 @@ void QgsConfigureShortcutsDialog::updateShortcutText()
391391
{
392392
// update text of the button so that user can see what has typed already
393393
QKeySequence s( mModifiers + mKey );
394-
btnChangeShortcut->setText( tr( "Input: " ) + s.toString() );
394+
btnChangeShortcut->setText( tr( "Input: " ) + s.toString( QKeySequence::NativeText ) );
395395
}
396396

397397
void QgsConfigureShortcutsDialog::setGettingShortcut( bool getting )
@@ -449,10 +449,10 @@ void QgsConfigureShortcutsDialog::setCurrentActionShortcut( const QKeySequence &
449449
}
450450

451451
// update manager
452-
mManager->setObjectKeySequence( object, s.toString() );
452+
mManager->setObjectKeySequence( object, s.toString( QKeySequence::NativeText ) );
453453

454454
// update gui
455-
treeActions->currentItem()->setText( 1, s.toString() );
455+
treeActions->currentItem()->setText( 1, s.toString( QKeySequence::NativeText ) );
456456

457457
actionChanged( treeActions->currentItem(), nullptr );
458458
}

src/gui/qgsshortcutsmanager.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void QgsShortcutsManager::registerAllChildActions( QObject *object, bool recursi
3838
QList< QAction * > actions = object->findChildren< QAction * >();
3939
Q_FOREACH ( QAction *a, actions )
4040
{
41-
registerAction( a, a->shortcut().toString() );
41+
registerAction( a, a->shortcut().toString( QKeySequence::NativeText ) );
4242
}
4343
}
4444
else
@@ -47,7 +47,7 @@ void QgsShortcutsManager::registerAllChildActions( QObject *object, bool recursi
4747
{
4848
if ( QAction *a = qobject_cast<QAction *>( child ) )
4949
{
50-
registerAction( a, a->shortcut().toString() );
50+
registerAction( a, a->shortcut().toString( QKeySequence::NativeText ) );
5151
}
5252
}
5353
}
@@ -60,7 +60,7 @@ void QgsShortcutsManager::registerAllChildShortcuts( QObject *object, bool recur
6060
QList< QShortcut * > shortcuts = object->findChildren< QShortcut * >();
6161
Q_FOREACH ( QShortcut *s, shortcuts )
6262
{
63-
registerShortcut( s, s->key().toString() );
63+
registerShortcut( s, s->key().toString( QKeySequence::NativeText ) );
6464
}
6565
}
6666
else
@@ -69,7 +69,7 @@ void QgsShortcutsManager::registerAllChildShortcuts( QObject *object, bool recur
6969
{
7070
if ( QShortcut *s = qobject_cast<QShortcut *>( child ) )
7171
{
72-
registerShortcut( s, s->key().toString() );
72+
registerShortcut( s, s->key().toString( QKeySequence::NativeText ) );
7373
}
7474
}
7575
}

0 commit comments

Comments
 (0)