CppEditor: Jump directly to single virtual function

Assumption: model never has 1 entry for immediate result
(there is always the natural result + "Searching for overrides"

Change-Id: I5de7e7933b1309f995a6111a2ab1c7aed31c086e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Orgad Shaneh
2014-02-16 22:05:23 +02:00
committed by Orgad Shaneh
parent 0357531796
commit d087d0b66e
3 changed files with 18 additions and 0 deletions

View File

@@ -88,6 +88,17 @@ protected:
return GenericProposalWidget::eventFilter(o, e); return GenericProposalWidget::eventFilter(o, e);
} }
void showProposal(const QString &prefix)
{
IGenericProposalModel *proposalModel = model();
if (proposalModel && proposalModel->size() == 1) {
emit proposalItemActivated(proposalModel->proposalItem(0));
deleteLater();
return;
}
GenericProposalWidget::showProposal(prefix);
}
private: private:
QKeySequence m_sequence; QKeySequence m_sequence;
}; };

View File

@@ -666,6 +666,11 @@ bool GenericProposalWidget::activateCurrentProposalItem()
return false; return false;
} }
IGenericProposalModel *GenericProposalWidget::model()
{
return d->m_model;
}
#include "genericproposalwidget.moc" #include "genericproposalwidget.moc"
} // TextEditor } // TextEditor

View File

@@ -37,6 +37,7 @@
namespace TextEditor { namespace TextEditor {
class GenericProposalWidgetPrivate; class GenericProposalWidgetPrivate;
class IGenericProposalModel;
class TEXTEDITOR_EXPORT GenericProposalWidget : public IAssistProposalWidget class TEXTEDITOR_EXPORT GenericProposalWidget : public IAssistProposalWidget
{ {
@@ -72,6 +73,7 @@ private slots:
protected: protected:
bool eventFilter(QObject *o, QEvent *e); bool eventFilter(QObject *o, QEvent *e);
bool activateCurrentProposalItem(); bool activateCurrentProposalItem();
IGenericProposalModel *model();
private: private:
GenericProposalWidgetPrivate *d; GenericProposalWidgetPrivate *d;