forked from qt-creator/qt-creator
Editor: Allow setting the optional action mask per editor
Instead of just enable actions that were disabled from the beginning you can no disable optional actions. Change-Id: I986b8a72523a8aeec9f4ccf76cd4921018ffc003 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -7828,17 +7828,24 @@ void TextEditorWidget::appendStandardContextMenuActions(QMenu *menu)
|
||||
}
|
||||
}
|
||||
|
||||
uint TextEditorWidget::optionalActionMask()
|
||||
uint TextEditorWidget::optionalActions()
|
||||
{
|
||||
return d->m_optionalActionMask;
|
||||
}
|
||||
|
||||
void TextEditorWidget::addOptionalActions(uint optionalActionMask)
|
||||
void TextEditorWidget::setOptionalActions(uint optionalActionMask)
|
||||
{
|
||||
d->m_optionalActionMask |= optionalActionMask;
|
||||
if (d->m_optionalActionMask == optionalActionMask)
|
||||
return;
|
||||
d->m_optionalActionMask = optionalActionMask;
|
||||
emit optionalActionMaskChanged();
|
||||
}
|
||||
|
||||
void TextEditorWidget::addOptionalActions( uint optionalActionMask)
|
||||
{
|
||||
setOptionalActions(d->m_optionalActionMask | optionalActionMask);
|
||||
}
|
||||
|
||||
BaseTextEditor::BaseTextEditor()
|
||||
: d(new BaseTextEditorPrivate)
|
||||
{
|
||||
@@ -8734,6 +8741,7 @@ BaseTextEditor *TextEditorFactoryPrivate::createEditorHelper(const TextDocumentP
|
||||
textEditorWidget->setMarksVisible(m_marksVisible);
|
||||
textEditorWidget->setParenthesesMatchingEnabled(m_paranthesesMatchinEnabled);
|
||||
textEditorWidget->setCodeFoldingSupported(m_codeFoldingSupported);
|
||||
textEditorWidget->setOptionalActions(m_textEditorActionHandler->optionalActions());
|
||||
|
||||
BaseTextEditor *editor = m_editorCreator();
|
||||
editor->setDuplicateSupported(m_duplicatedSupported);
|
||||
|
@@ -204,8 +204,9 @@ public:
|
||||
|
||||
void appendStandardContextMenuActions(QMenu *menu);
|
||||
|
||||
uint optionalActionMask();
|
||||
void addOptionalActions(uint optionalActionMask);
|
||||
uint optionalActions();
|
||||
void setOptionalActions(uint optionalActions);
|
||||
void addOptionalActions(uint optionalActions);
|
||||
|
||||
void setAutoCompleter(AutoCompleter *autoCompleter);
|
||||
AutoCompleter *autoCompleter() const;
|
||||
|
@@ -543,9 +543,8 @@ void TextEditorActionHandlerPrivate::updateActions()
|
||||
|
||||
void TextEditorActionHandlerPrivate::updateOptionalActions()
|
||||
{
|
||||
uint optionalActions = m_optionalActions;
|
||||
if (m_currentEditorWidget)
|
||||
optionalActions |= m_currentEditorWidget->optionalActionMask();
|
||||
const uint optionalActions = m_currentEditorWidget ? m_currentEditorWidget->optionalActions()
|
||||
: m_optionalActions;
|
||||
m_followSymbolAction->setEnabled(
|
||||
optionalActions & TextEditorActionHandler::FollowSymbolUnderCursor);
|
||||
m_followSymbolInNextSplitAction->setEnabled(
|
||||
@@ -622,6 +621,11 @@ TextEditorActionHandler::TextEditorActionHandler(Core::Id editorId,
|
||||
d->m_findTextWidget = TextEditorWidget::fromEditor;
|
||||
}
|
||||
|
||||
uint TextEditorActionHandler::optionalActions() const
|
||||
{
|
||||
return d->m_optionalActions;
|
||||
}
|
||||
|
||||
TextEditorActionHandler::~TextEditorActionHandler()
|
||||
{
|
||||
delete d;
|
||||
|
@@ -65,6 +65,7 @@ public:
|
||||
uint optionalActions = None,
|
||||
const TextEditorWidgetResolver &resolver = {});
|
||||
|
||||
uint optionalActions() const;
|
||||
~TextEditorActionHandler();
|
||||
|
||||
private:
|
||||
|
Reference in New Issue
Block a user