diff --git a/src/plugins/fakevim/handler.cpp b/src/plugins/fakevim/handler.cpp index 229df5a0395cf16c9a55594248b2ec6b42f7d993..1dfbb11bd615ecddd0cd5ee2db41d62249e67701 100644 --- a/src/plugins/fakevim/handler.cpp +++ b/src/plugins/fakevim/handler.cpp @@ -69,7 +69,6 @@ using namespace FakeVim::Internal; /////////////////////////////////////////////////////////////////////// #define EDITOR(s) (m_textedit ? m_textedit->s : m_plaintextedit->s) -#define THE_EDITOR (m_textedit ? (QWidget*)m_textedit : (QWidget*)m_plaintextedit) const int ParagraphSeparator = 0x00002029; @@ -173,6 +172,7 @@ public: bool m_fakeEnd; + QWidget *editor(); bool isSearchCommand() const { return m_commandCode == '?' || m_commandCode == '/'; } int m_commandCode; // ?, /, : ... @@ -823,7 +823,7 @@ void FakeVimHandler::Private::handleCommand(const QString &cmd0) m_tc.setPosition(positionForLine(beginLine)); showMessage(QString()); } else if (cmd == "q!" || cmd == "q") { // :q - q->quitRequested(THE_EDITOR); + q->quitRequested(editor()); showMessage(QString()); } else if (reDelete.indexIn(cmd) != -1) { // :d if (beginLine == -1) @@ -1092,6 +1092,12 @@ void FakeVimHandler::Private::leaveVisualLineMode() updateMiniBuffer(); } +QWidget *FakeVimHandler::Private::editor() +{ + return m_textedit + ? static_cast<QWidget *>(m_textedit) + : static_cast<QWidget *>(m_plaintextedit); +} /////////////////////////////////////////////////////////////////////// //