mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-03 00:04:47 -04:00
Use registered shortcuts for code editor comment/reformat actions
This commit is contained in:
parent
579a818ce7
commit
1c53ab415b
@ -25,6 +25,7 @@
|
||||
#include "qgsstringutils.h"
|
||||
#include "qgsfontutils.h"
|
||||
#include "qgssettingsentryimpl.h"
|
||||
#include "qgsshortcutsmanager.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QWidget>
|
||||
@ -252,25 +253,30 @@ void QgsCodeEditor::keyPressEvent( QKeyEvent *event )
|
||||
}
|
||||
}
|
||||
|
||||
const bool ctrlModifier = event->modifiers() & Qt::ControlModifier;
|
||||
const bool altModifier = event->modifiers() & Qt::AltModifier;
|
||||
|
||||
// Ctrl+Alt+F: reformat code
|
||||
// check for reformat code sequence
|
||||
const bool canReformat = languageCapabilities() & Qgis::ScriptLanguageCapability::Reformat;
|
||||
if ( !isReadOnly() && canReformat && ctrlModifier && altModifier && event->key() == Qt::Key_F )
|
||||
if ( !isReadOnly() && canReformat )
|
||||
{
|
||||
event->accept();
|
||||
reformatCode();
|
||||
return;
|
||||
const QKeySequence reformatCodeSequence = QgsGui::shortcutsManager()->sequenceForCommonAction( QgsShortcutsManager::CommonAction::CodeReformat );
|
||||
if ( !reformatCodeSequence.isEmpty() && reformatCodeSequence.matches( event->key() | event->modifiers() ) )
|
||||
{
|
||||
event->accept();
|
||||
reformatCode();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Toggle comment when user presses Ctrl+:
|
||||
// Check for toggle comment sequence
|
||||
const bool canToggle = languageCapabilities() & Qgis::ScriptLanguageCapability::ToggleComment;
|
||||
if ( !isReadOnly() && canToggle && ctrlModifier && event->key() == Qt::Key_Colon )
|
||||
if ( !isReadOnly() && canToggle )
|
||||
{
|
||||
event->accept();
|
||||
toggleComment();
|
||||
return;
|
||||
const QKeySequence toggleCommentCodeSequence = QgsGui::shortcutsManager()->sequenceForCommonAction( QgsShortcutsManager::CommonAction::CodeToggleComment );
|
||||
if ( !toggleCommentCodeSequence.isEmpty() && toggleCommentCodeSequence.matches( event->key() | event->modifiers() ) )
|
||||
{
|
||||
event->accept();
|
||||
toggleComment();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
QsciScintilla::keyPressEvent( event );
|
||||
@ -299,7 +305,7 @@ void QgsCodeEditor::contextMenuEvent( QContextMenuEvent *event )
|
||||
if ( languageCapabilities() & Qgis::ScriptLanguageCapability::Reformat )
|
||||
{
|
||||
QAction *reformatAction = new QAction( tr( "Reformat Code" ), menu );
|
||||
reformatAction->setShortcut( QStringLiteral( "Ctrl+Alt+F" ) );
|
||||
reformatAction->setShortcut( QgsGui::shortcutsManager()->sequenceForCommonAction( QgsShortcutsManager::CommonAction::CodeReformat ) );
|
||||
reformatAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "console/iconFormatCode.svg" ) ) );
|
||||
reformatAction->setEnabled( !isReadOnly() );
|
||||
connect( reformatAction, &QAction::triggered, this, &QgsCodeEditor::reformatCode );
|
||||
@ -317,7 +323,7 @@ void QgsCodeEditor::contextMenuEvent( QContextMenuEvent *event )
|
||||
if ( languageCapabilities() & Qgis::ScriptLanguageCapability::ToggleComment )
|
||||
{
|
||||
QAction *toggleCommentAction = new QAction( tr( "Toggle Comment" ), menu );
|
||||
toggleCommentAction->setShortcut( QStringLiteral( "Ctrl+:" ) );
|
||||
toggleCommentAction->setShortcut( QgsGui::shortcutsManager()->sequenceForCommonAction( QgsShortcutsManager::CommonAction::CodeToggleComment ) );
|
||||
toggleCommentAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "console/iconCommentEditorConsole.svg" ), palette().color( QPalette::ColorRole::WindowText ) ) );
|
||||
toggleCommentAction->setEnabled( !isReadOnly() );
|
||||
connect( toggleCommentAction, &QAction::triggered, this, &QgsCodeEditor::toggleComment );
|
||||
|
Loading…
x
Reference in New Issue
Block a user