diff --git a/src/plugins/fakevim/fakevimhandler.h b/src/plugins/fakevim/fakevimhandler.h index 153cf83d507..25ce463554b 100644 --- a/src/plugins/fakevim/fakevimhandler.h +++ b/src/plugins/fakevim/fakevimhandler.h @@ -158,7 +158,6 @@ public: Signal extraInformationChanged; Signal &selection)> selectionChanged; Signal highlightMatches; - Signal writeAllRequested; Signal moveToMatchingParenthesis; Signal checkForElectricCharacter; Signal indentRegion; diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 5c267e2b8b7..fae80d470a5 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -1921,14 +1921,16 @@ void FakeVimPluginPrivate::handleExCommand(FakeVimHandler *handler, bool *handle if (!saved) handler->showMessage(MessageError, Tr::tr("File not saved")); - } else if (cmd.matches("wa", "wall")) { - // :w[all] + } else if (cmd.matches("wa", "wall") || cmd.matches("wqa", "wqall")) { + // :wa[ll] :wqa[ll] triggerAction(Core::Constants::SAVEALL); const QList failed = DocumentManager::modifiedDocuments(); if (failed.isEmpty()) handler->showMessage(MessageInfo, Tr::tr("Saving succeeded")); else handler->showMessage(MessageError, Tr::tr("%n files not saved", 0, failed.size())); + if (cmd.matches("wqa", "wqall")) + emit delayedQuitAllRequested(cmd.hasBang); } else if (cmd.matches("q", "quit")) { // :q[uit] emit delayedQuitRequested(cmd.hasBang, m_editorToHandler.key(handler));