diff --git a/src/plugins/texteditor/completionwidget.cpp b/src/plugins/texteditor/completionwidget.cpp index b2b593d2cbac905541813cc9799129fe7fc38ef6..9b076e4a3391f7a25e9afb1edc6774902a95aa14 100644 --- a/src/plugins/texteditor/completionwidget.cpp +++ b/src/plugins/texteditor/completionwidget.cpp @@ -43,6 +43,7 @@ #include <QtGui/QLabel> #include <QtGui/QStylePainter> #include <QtGui/QToolTip> +#include <QtCore/QTimer> #include <limits.h> @@ -300,30 +301,24 @@ void CompletionListView::maybeShowInfoTip() QRect r = rectForIndex(current); m_infoFrame->move( (parentWidget()->mapToGlobal( - parentWidget()->rect().topRight() + QPoint(2, 0))).x(), + parentWidget()->rect().topRight() + QPoint(0, 0))).x(), mapToGlobal(r.topRight()).y() - verticalOffset() ); m_infoFrame->setText(infoTip); m_infoFrame->adjustSize(); m_infoFrame->show(); + m_infoFrame->raise(); } void CompletionListView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { QListView::currentChanged(current, previous); - if (isVisible()) - maybeShowInfoTip(); + QTimer::singleShot(0, this, SLOT(maybeShowInfoTip())); } bool CompletionListView::event(QEvent *e) { - if (e->type() == QEvent::Show) { - bool b = QListView::event(e); - maybeShowInfoTip(); - return b; - } - if (m_blockFocusOut) return QListView::event(e); diff --git a/src/plugins/texteditor/completionwidget.h b/src/plugins/texteditor/completionwidget.h index ef1087955e6a851c16f8cc90f184a9a99cb9038a..c16e01550768cbc46a7de914d6803aadbd5568b6 100644 --- a/src/plugins/texteditor/completionwidget.h +++ b/src/plugins/texteditor/completionwidget.h @@ -101,7 +101,9 @@ private: void setCompletionItems(const QList<TextEditor::CompletionItem> &completionitems); void keyboardSearch(const QString &search); void closeList(const QModelIndex &index); +private slots: void maybeShowInfoTip(); +private: bool m_blockFocusOut; bool m_quickFix;