From 61cca902ad91b2a47f18fd6953cb8fa450964166 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 18 Feb 2015 17:22:18 +0100 Subject: [PATCH] FakeVim: Modernize plugin connections. Change-Id: Ia704aa975e64cc8942b4e5717f812b7c1a788096 Reviewed-by: Lukas Holecek Reviewed-by: hjk --- src/plugins/fakevim/fakevimplugin.cpp | 213 +++++++++++++------------- 1 file changed, 104 insertions(+), 109 deletions(-) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 453d8da4656..ec35a3f197b 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -57,6 +57,7 @@ #include +#include #include #include #include @@ -126,9 +127,9 @@ public: , m_eventFilter(0) , m_lastMessageLevel(MessageMode) { - connect(m_edit, SIGNAL(textEdited(QString)), SLOT(changed())); - connect(m_edit, SIGNAL(cursorPositionChanged(int,int)), SLOT(changed())); - connect(m_edit, SIGNAL(selectionChanged()), SLOT(changed())); + connect(m_edit, &QLineEdit::textEdited, this, &MiniBuffer::changed); + connect(m_edit, &QLineEdit::cursorPositionChanged, this, &MiniBuffer::changed); + connect(m_edit, &QLineEdit::selectionChanged, this, &MiniBuffer::changed); m_label->setTextInteractionFlags(Qt::TextSelectableByMouse); addWidget(m_label); @@ -136,7 +137,7 @@ public: m_hideTimer.setSingleShot(true); m_hideTimer.setInterval(8000); - connect(&m_hideTimer, SIGNAL(timeout()), SLOT(hide())); + connect(&m_hideTimer, &QTimer::timeout, this, &QWidget::hide); } void setContents(const QString &contents, int cursorPos, int anchorPos, @@ -212,7 +213,7 @@ public: signals: void edited(const QString &text, int cursorPos, int anchorPos); -private slots: +private: void changed() { const int cursorPos = m_edit->cursorPosition(); @@ -222,7 +223,6 @@ private slots: emit edited(m_edit->text(), cursorPos, anchorPos); } -private: QLabel *m_label; QLineEdit *m_edit; QObject *m_eventFilter; @@ -245,12 +245,18 @@ public: m_timerUpdate.setSingleShot(true); m_timerUpdate.setInterval(0); - connect(&m_timerUpdate, SIGNAL(timeout()), SLOT(followEditorLayout())); - updateOnSignal(m_editor, SIGNAL(cursorPositionChanged())); - updateOnSignal(m_editor->verticalScrollBar(), SIGNAL(valueChanged(int))); - updateOnSignal(m_editor->document(), SIGNAL(contentsChanged())); - updateOnSignal(TextEditorSettings::instance(), - SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings))); + connect(&m_timerUpdate, &QTimer::timeout, + this, &RelativeNumbersColumn::followEditorLayout); + + auto start = static_cast(&QTimer::start); + connect(m_editor, &QPlainTextEdit::cursorPositionChanged, + &m_timerUpdate, start); + connect(m_editor->verticalScrollBar(), &QAbstractSlider::valueChanged, + &m_timerUpdate, start); + connect(m_editor->document(), &QTextDocument::contentsChanged, + &m_timerUpdate, start); + connect(TextEditorSettings::instance(), &TextEditorSettings::displaySettingsChanged, + &m_timerUpdate, start); m_editor->installEventFilter(this); @@ -339,11 +345,6 @@ private slots: update(); } - void updateOnSignal(QObject *object, const char *signal) - { - connect(object, signal, &m_timerUpdate, SLOT(start())); - } - private: int m_currentPos; int m_lineSpacing; @@ -458,14 +459,14 @@ QWidget *FakeVimOptionPage::widget() m_group.insert(theFakeVimSetting(ConfigRelativeNumber), m_ui.checkBoxRelativeNumber); - connect(m_ui.pushButtonCopyTextEditorSettings, SIGNAL(clicked()), - SLOT(copyTextEditorSettings())); - connect(m_ui.pushButtonSetQtStyle, SIGNAL(clicked()), - SLOT(setQtStyle())); - connect(m_ui.pushButtonSetPlainStyle, SIGNAL(clicked()), - SLOT(setPlainStyle())); - connect(m_ui.checkBoxReadVimRc, SIGNAL(stateChanged(int)), - SLOT(updateVimRcWidgets())); + connect(m_ui.pushButtonCopyTextEditorSettings, &QAbstractButton::clicked, + this, &FakeVimOptionPage::copyTextEditorSettings); + connect(m_ui.pushButtonSetQtStyle, &QAbstractButton::clicked, + this, &FakeVimOptionPage::setQtStyle); + connect(m_ui.pushButtonSetPlainStyle, &QAbstractButton::clicked, + this, &FakeVimOptionPage::setPlainStyle); + connect(m_ui.checkBoxReadVimRc, &QCheckBox::stateChanged, + this, &FakeVimOptionPage::updateVimRcWidgets); updateVimRcWidgets(); } @@ -1039,7 +1040,7 @@ private slots: void handleDelayedQuitAll(bool forced); void handleDelayedQuit(bool forced, Core::IEditor *editor); - void userActionTriggered(); + void userActionTriggered(int key); void switchToFile(int n); int currentFile() const; @@ -1157,8 +1158,8 @@ FakeVimPluginPrivate::~FakeVimPluginPrivate() void FakeVimPluginPrivate::onCoreAboutToClose() { // Don't attach to editors anymore. - disconnect(EditorManager::instance(), SIGNAL(editorOpened(Core::IEditor*)), - this, SLOT(editorOpened(Core::IEditor*))); + disconnect(EditorManager::instance(), &EditorManager::editorOpened, + this, &FakeVimPluginPrivate::editorOpened); } void FakeVimPluginPrivate::aboutToShutdown() @@ -1205,41 +1206,41 @@ bool FakeVimPluginPrivate::initialize() const Id base = "FakeVim.UserAction"; for (int i = 1; i < 10; ++i) { - QAction *act = new QAction(this); + auto act = new QAction(this); act->setText(Tr::tr("Execute User Action #%1").arg(i)); - act->setData(i); cmd = ActionManager::registerAction(act, base.withSuffix(i), globalcontext); cmd->setDefaultKeySequence(QKeySequence((UseMacShortcuts ? Tr::tr("Meta+V,%1") : Tr::tr("Alt+V,%1")).arg(i))); - connect(act, SIGNAL(triggered()), SLOT(userActionTriggered())); + connect(act, &QAction::triggered, this, [this, i] { userActionTriggered(i); }); } - connect(ICore::instance(), SIGNAL(coreAboutToClose()), this, SLOT(onCoreAboutToClose())); + connect(ICore::instance(), &ICore::coreAboutToClose, + this, &FakeVimPluginPrivate::onCoreAboutToClose); // EditorManager - connect(EditorManager::instance(), SIGNAL(editorAboutToClose(Core::IEditor*)), - this, SLOT(editorAboutToClose(Core::IEditor*))); - connect(EditorManager::instance(), SIGNAL(editorOpened(Core::IEditor*)), - this, SLOT(editorOpened(Core::IEditor*))); + connect(EditorManager::instance(), &EditorManager::editorAboutToClose, + this, &FakeVimPluginPrivate::editorAboutToClose); + connect(EditorManager::instance(), &EditorManager::editorOpened, + this, &FakeVimPluginPrivate::editorOpened); - connect(DocumentManager::instance(), SIGNAL(allDocumentsRenamed(QString,QString)), - this, SLOT(allDocumentsRenamed(QString,QString))); - connect(DocumentManager::instance(), SIGNAL(documentRenamed(Core::IDocument*,QString,QString)), - this, SLOT(documentRenamed(Core::IDocument*,QString,QString))); + connect(DocumentManager::instance(), &DocumentManager::allDocumentsRenamed, + this, &FakeVimPluginPrivate::allDocumentsRenamed); + connect(DocumentManager::instance(), &DocumentManager::documentRenamed, + this, &FakeVimPluginPrivate::documentRenamed); - connect(theFakeVimSetting(ConfigUseFakeVim), SIGNAL(valueChanged(QVariant)), - this, SLOT(setUseFakeVim(QVariant))); - connect(theFakeVimSetting(ConfigReadVimRc), SIGNAL(valueChanged(QVariant)), - this, SLOT(maybeReadVimRc())); - connect(theFakeVimSetting(ConfigVimRcPath), SIGNAL(valueChanged(QVariant)), - this, SLOT(maybeReadVimRc())); - connect(theFakeVimSetting(ConfigRelativeNumber), SIGNAL(valueChanged(QVariant)), - this, SLOT(setShowRelativeLineNumbers(QVariant))); + connect(theFakeVimSetting(ConfigUseFakeVim), &Utils::SavedAction::valueChanged, + this, &FakeVimPluginPrivate::setUseFakeVim); + connect(theFakeVimSetting(ConfigReadVimRc), &Utils::SavedAction::valueChanged, + this, &FakeVimPluginPrivate::maybeReadVimRc); + connect(theFakeVimSetting(ConfigVimRcPath), &Utils::SavedAction::valueChanged, + this, &FakeVimPluginPrivate::maybeReadVimRc); + connect(theFakeVimSetting(ConfigRelativeNumber), &Utils::SavedAction::valueChanged, + this, &FakeVimPluginPrivate::setShowRelativeLineNumbers); // Delayed operations. - connect(this, SIGNAL(delayedQuitRequested(bool,Core::IEditor*)), - this, SLOT(handleDelayedQuit(bool,Core::IEditor*)), Qt::QueuedConnection); - connect(this, SIGNAL(delayedQuitAllRequested(bool)), - this, SLOT(handleDelayedQuitAll(bool)), Qt::QueuedConnection); + connect(this, &FakeVimPluginPrivate::delayedQuitRequested, + this, &FakeVimPluginPrivate::handleDelayedQuit, Qt::QueuedConnection); + connect(this, &FakeVimPluginPrivate::delayedQuitAllRequested, + this, &FakeVimPluginPrivate::handleDelayedQuitAll, Qt::QueuedConnection); // Vimrc can break test so don't source it if running tests. if (!ExtensionSystem::PluginManager::testRunRequested()) @@ -1249,14 +1250,8 @@ bool FakeVimPluginPrivate::initialize() return true; } -void FakeVimPluginPrivate::userActionTriggered() +void FakeVimPluginPrivate::userActionTriggered(int key) { - QAction *act = qobject_cast(sender()); - if (!act) - return; - const int key = act->data().toInt(); - if (!key) - return; IEditor *editor = EditorManager::currentEditor(); FakeVimHandler *handler = m_editorToHandler[editor]; if (handler) { @@ -1277,10 +1272,10 @@ void FakeVimPluginPrivate::createRelativeNumberWidget(IEditor *editor) { if (TextEditorWidget *textEditor = qobject_cast(editor->widget())) { RelativeNumbersColumn *relativeNumbers = new RelativeNumbersColumn(textEditor); - connect(theFakeVimSetting(ConfigRelativeNumber), SIGNAL(valueChanged(QVariant)), - relativeNumbers, SLOT(deleteLater())); - connect(theFakeVimSetting(ConfigUseFakeVim), SIGNAL(valueChanged(QVariant)), - relativeNumbers, SLOT(deleteLater())); + connect(theFakeVimSetting(ConfigRelativeNumber), &Utils::SavedAction::valueChanged, + relativeNumbers, &QObject::deleteLater); + connect(theFakeVimSetting(ConfigUseFakeVim), &Utils::SavedAction::valueChanged, + relativeNumbers, &QObject::deleteLater); relativeNumbers->show(); } } @@ -1761,54 +1756,54 @@ void FakeVimPluginPrivate::editorOpened(IEditor *editor) new DeferredDeleter(widget, handler); m_editorToHandler[editor] = handler; - connect(handler, SIGNAL(extraInformationChanged(QString)), - SLOT(showExtraInformation(QString))); - connect(handler, SIGNAL(commandBufferChanged(QString,int,int,int,QObject*)), - SLOT(showCommandBuffer(QString,int,int,int,QObject*))); - connect(handler, SIGNAL(selectionChanged(QList)), - SLOT(changeSelection(QList))); - connect(handler, SIGNAL(highlightMatches(QString)), - SLOT(highlightMatches(QString))); - connect(handler, SIGNAL(moveToMatchingParenthesis(bool*,bool*,QTextCursor*)), - SLOT(moveToMatchingParenthesis(bool*,bool*,QTextCursor*)), Qt::DirectConnection); - connect(handler, SIGNAL(indentRegion(int,int,QChar)), - SLOT(indentRegion(int,int,QChar))); - connect(handler, SIGNAL(checkForElectricCharacter(bool*,QChar)), - SLOT(checkForElectricCharacter(bool*,QChar)), Qt::DirectConnection); - connect(handler, SIGNAL(requestDisableBlockSelection()), - SLOT(disableBlockSelection())); - connect(handler, SIGNAL(requestSetBlockSelection(QTextCursor)), - SLOT(setBlockSelection(QTextCursor))); - connect(handler, SIGNAL(requestBlockSelection(QTextCursor*)), - SLOT(blockSelection(QTextCursor*)), Qt::DirectConnection); - connect(handler, SIGNAL(requestHasBlockSelection(bool*)), - SLOT(hasBlockSelection(bool*)), Qt::DirectConnection); - connect(handler, SIGNAL(completionRequested()), - SLOT(triggerCompletions())); - connect(handler, SIGNAL(simpleCompletionRequested(QString,bool)), - SLOT(triggerSimpleCompletions(QString,bool))); - connect(handler, SIGNAL(windowCommandRequested(QString,int)), - SLOT(windowCommand(QString,int))); - connect(handler, SIGNAL(findRequested(bool)), - SLOT(find(bool))); - connect(handler, SIGNAL(findNextRequested(bool)), - SLOT(findNext(bool))); - connect(handler, SIGNAL(foldToggle(int)), - SLOT(foldToggle(int))); - connect(handler, SIGNAL(foldAll(bool)), - SLOT(foldAll(bool))); - connect(handler, SIGNAL(fold(int,bool)), - SLOT(fold(int,bool))); - connect(handler, SIGNAL(foldGoTo(int,bool)), - SLOT(foldGoTo(int,bool))); - connect(handler, SIGNAL(jumpToGlobalMark(QChar,bool,QString)), - SLOT(jumpToGlobalMark(QChar,bool,QString))); + connect(handler, &FakeVimHandler::extraInformationChanged, + this, &FakeVimPluginPrivate::showExtraInformation); + connect(handler, &FakeVimHandler::commandBufferChanged, + this, &FakeVimPluginPrivate::showCommandBuffer); + connect(handler, &FakeVimHandler::selectionChanged, + this, &FakeVimPluginPrivate::changeSelection); + connect(handler, &FakeVimHandler::highlightMatches, + this, &FakeVimPluginPrivate::highlightMatches); + connect(handler, &FakeVimHandler::moveToMatchingParenthesis, + this, &FakeVimPluginPrivate::moveToMatchingParenthesis, Qt::DirectConnection); + connect(handler, &FakeVimHandler::indentRegion, + this, &FakeVimPluginPrivate::indentRegion); + connect(handler, &FakeVimHandler::checkForElectricCharacter, + this, &FakeVimPluginPrivate::checkForElectricCharacter, Qt::DirectConnection); + connect(handler, &FakeVimHandler::requestDisableBlockSelection, + this, &FakeVimPluginPrivate::disableBlockSelection); + connect(handler, &FakeVimHandler::requestSetBlockSelection, + this, &FakeVimPluginPrivate::setBlockSelection); + connect(handler, &FakeVimHandler::requestBlockSelection, + this, &FakeVimPluginPrivate::blockSelection, Qt::DirectConnection); + connect(handler, &FakeVimHandler::requestHasBlockSelection, + this, &FakeVimPluginPrivate::hasBlockSelection, Qt::DirectConnection); + connect(handler, &FakeVimHandler::completionRequested, + this, &FakeVimPluginPrivate::triggerCompletions); + connect(handler, &FakeVimHandler::simpleCompletionRequested, + this, &FakeVimPluginPrivate::triggerSimpleCompletions); + connect(handler, &FakeVimHandler::windowCommandRequested, + this, &FakeVimPluginPrivate::windowCommand); + connect(handler, &FakeVimHandler::findRequested, + this, &FakeVimPluginPrivate::find); + connect(handler, &FakeVimHandler::findNextRequested, + this, &FakeVimPluginPrivate::findNext); + connect(handler, &FakeVimHandler::foldToggle, + this, &FakeVimPluginPrivate::foldToggle); + connect(handler, &FakeVimHandler::foldAll, + this, &FakeVimPluginPrivate::foldAll); + connect(handler, &FakeVimHandler::fold, + this, &FakeVimPluginPrivate::fold); + connect(handler, &FakeVimHandler::foldGoTo, + this, &FakeVimPluginPrivate::foldGoTo); + connect(handler, &FakeVimHandler::jumpToGlobalMark, + this, &FakeVimPluginPrivate::jumpToGlobalMark); - connect(handler, SIGNAL(handleExCommandRequested(bool*,ExCommand)), - SLOT(handleExCommand(bool*,ExCommand)), Qt::DirectConnection); + connect(handler, &FakeVimHandler::handleExCommandRequested, + this, &FakeVimPluginPrivate::handleExCommand, Qt::DirectConnection); - connect(ICore::instance(), SIGNAL(saveSettingsRequested()), - SLOT(writeSettings())); + connect(ICore::instance(), &ICore::saveSettingsRequested, + this, &FakeVimPluginPrivate::writeSettings); handler->setCurrentFileName(editor->document()->filePath().toString()); handler->installEventFilter();