From 82a946152b7f1da177344937acbc9d3cb5b0ccbf Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Sun, 16 Nov 2014 23:28:48 -0200 Subject: [PATCH] 727 fixed --047d7b8737f87ede8e050803e6b2 Content-Type: text/plain; charset=UTF-8

From 3db4a422485374801ca2f6233ec23b8671a8656d Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Sun, 16 Nov 2014 23:22:58 -0200 Subject: [PATCH] fix 727 - position correctly the popup. When the user entered a tag and that made the message box display the popup with the possible choices was still in the old position hidding the line edit. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/kmessagewidget.cpp | 6 ++++++ qt-ui/kmessagewidget.h | 1 + qt-ui/maintab.cpp | 3 +++ qt-ui/tagwidget.cpp | 8 ++++++++ qt-ui/tagwidget.h | 2 +- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/qt-ui/kmessagewidget.cpp b/qt-ui/kmessagewidget.cpp index fc733c02d..6059d707e 100644 --- a/qt-ui/kmessagewidget.cpp +++ b/qt-ui/kmessagewidget.cpp @@ -206,6 +206,12 @@ void KMessageWidget::setText(const QString &text) updateGeometry(); } +int KMessageWidget::bestContentHeight() const +{ + return d->bestContentHeight(); +} + + KMessageWidget::MessageType KMessageWidget::messageType() const { return d->messageType; diff --git a/qt-ui/kmessagewidget.h b/qt-ui/kmessagewidget.h index 90492b3cb..dbc694afa 100644 --- a/qt-ui/kmessagewidget.h +++ b/qt-ui/kmessagewidget.h @@ -165,6 +165,7 @@ Q_SLOTS: */ void setIcon(const QIcon &icon); + int bestContentHeight() const; Q_SIGNALS: /** * This signal is emitted when the user clicks a link in the text label. diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index c20eddbe1..514d9567e 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -250,6 +250,9 @@ void MainTab::displayMessage(QString str) ui.diveStatisticsMessage->setText(str); ui.diveStatisticsMessage->animatedShow(); updateTextLabels(); + ui.tagWidget->fixPopupPosition(ui.diveNotesMessage->bestContentHeight()); + ui.buddy->fixPopupPosition(ui.diveNotesMessage->bestContentHeight()); + ui.divemaster->fixPopupPosition(ui.diveNotesMessage->bestContentHeight()); } void MainTab::updateTextLabels(bool showUnits) diff --git a/qt-ui/tagwidget.cpp b/qt-ui/tagwidget.cpp index 4045502aa..54b488aa0 100644 --- a/qt-ui/tagwidget.cpp +++ b/qt-ui/tagwidget.cpp @@ -195,3 +195,11 @@ void TagWidget::wheelEvent(QWheelEvent *event) GroupedLineEdit::wheelEvent(event); } } + +void TagWidget::fixPopupPosition(int delta) +{ + if(m_completer->popup()->isVisible()){ + QRect toGlobal = m_completer->popup()->geometry(); + m_completer->popup()->setGeometry(toGlobal.x(), toGlobal.y() + delta +10, toGlobal.width(), toGlobal.height()); + } +} diff --git a/qt-ui/tagwidget.h b/qt-ui/tagwidget.h index a3f5007fb..6a16129f3 100644 --- a/qt-ui/tagwidget.h +++ b/qt-ui/tagwidget.h @@ -17,6 +17,7 @@ public: void clear(); void setCursorPosition(int position); void wheelEvent(QWheelEvent *event); + void fixPopupPosition(int delta); public slots: void reparse(); @@ -25,7 +26,6 @@ slots: protected: void keyPressEvent(QKeyEvent *e); - private: QCompleter *m_completer; bool lastFinishedTag;