727 fixed

--047d7b8737f87ede8e050803e6b2
Content-Type: text/plain; charset=UTF-8

<div dir="ltr"><br></div>

From 3db4a422485374801ca2f6233ec23b8671a8656d Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <tomaz.canabrava@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.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-11-16 23:28:48 -02:00 committed by Dirk Hohndel
parent 50ad3f8af9
commit 82a946152b
5 changed files with 19 additions and 1 deletions

View file

@ -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;

View file

@ -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.

View file

@ -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)

View file

@ -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());
}
}

View file

@ -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;