Paul Olav Tvete <paul@trolltech.com>
authorhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Apr 2008 13:44:53 +0000 (13:44 +0000)
committerhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Apr 2008 13:44:53 +0000 (13:44 +0000)
Automatically wrap tooltip text and hide a shown tooltip when it is empty.

QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
Workaround as discussed with Matthias.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@32485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/qt/ChangeLog
WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

index 4f292c0..7dda0a3 100644 (file)
@@ -1,3 +1,15 @@
+2008-04-24  Paul Olav Tvete  <paul@trolltech.com>
+
+        Reviewed by Simon.
+
+        Automatically wrap tooltip text and hide a shown tooltip when it is empty.
+
+        QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
+        Workaround as discussed with Matthias.
+
+        * WebCoreSupport/ChromeClientQt.cpp:
+        (WebCore::ChromeClientQt::setToolTip):
+
 2008-04-24  Holger Hans Peter Freyther  <zecke@selfish.org>
 
         Reviewed by Simon.
index 3b122c1..de738bd 100644 (file)
@@ -42,6 +42,8 @@
 #include "qwebpage_p.h"
 #include "qwebframe_p.h"
 
+#include <qtooltip.h>
+
 namespace WebCore
 {
 
@@ -337,8 +339,14 @@ void ChromeClientQt::setToolTip(const String &tip)
 {
 #ifndef QT_NO_TOOLTIP
     QWidget* view = m_webPage->view();
-    if (view)
-        view->setToolTip(tip);
+    QString dtip = tip;
+    if (!tip.isEmpty())
+        dtip = QLatin1String("<p>") + tip + QLatin1String("</p>");
+    if (view) {
+        view->setToolTip(dtip);
+        if (tip.isEmpty())
+            QToolTip::hideText();
+    }
 #else
     Q_UNUSED(tip);
 #endif