From 3db4a422485374801ca2f6233ec23b8671a8656d Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava tomaz.canabr...@intel.com
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 tomaz.canabr...@intel.com
---
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 fc733c0..6059d70 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 90492b3..dbc694a 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 c20eddb..514d956 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 4045502..54b488a 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 a3f5007..6a16129 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;
--
2.1.3
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface