Commit da8d9116 authored by Jens Bache-Wiig's avatar Jens Bache-Wiig
Browse files

Move tooltip functionality into TooltipArea

parent 098b7ac1
6.2 5.10 5.11 5.12 5.12.1 5.12.10 5.12.11 5.12.12 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13 5.13.0 5.13.1 5.13.2 5.14 5.14.0 5.14.1 5.14.2 5.15 5.15.0 5.15.1 5.15.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.9.8 dev old/5.1 old/5.2 old/qt4 wip/calendar wip/qt5-nativetext wip/tizen v5.15.0-alpha1 v5.14.1 v5.14.0 v5.14.0-rc2 v5.14.0-rc1 v5.14.0-beta3 v5.14.0-beta2 v5.14.0-beta1 v5.14.0-alpha1 v5.13.2 v5.13.1 v5.13.0 v5.13.0-rc3 v5.13.0-rc2 v5.13.0-rc1 v5.13.0-beta4 v5.13.0-beta3 v5.13.0-beta2 v5.13.0-beta1 v5.13.0-alpha1 v5.12.7 v5.12.6 v5.12.5 v5.12.4 v5.12.3 v5.12.2 v5.12.1 v5.12.0 v5.12.0-rc2 v5.12.0-rc1 v5.12.0-beta4 v5.12.0-beta3 v5.12.0-beta2 v5.12.0-beta1 v5.12.0-alpha1 v5.11.3 v5.11.2 v5.11.1 v5.11.0 v5.11.0-rc2 v5.11.0-rc1 v5.11.0-beta4 v5.11.0-beta3 v5.11.0-beta2 v5.11.0-beta1 v5.11.0-alpha1 v5.10.1 v5.10.0 v5.10.0-rc3 v5.10.0-rc2 v5.10.0-rc1 v5.10.0-beta4 v5.10.0-beta3 v5.10.0-beta2 v5.10.0-beta1 v5.10.0-alpha1 v5.9.9 v5.9.8 v5.9.7 v5.9.6 v5.9.5 v5.9.4 v5.9.3 v5.9.2 v5.9.1 v5.9.0 v5.9.0-rc2 v5.9.0-rc1 v5.9.0-beta4 v5.9.0-beta3 v5.9.0-beta2 v5.9.0-beta1 v5.9.0-alpha1 v5.8.0 v5.8.0-rc1 v5.8.0-beta1 v5.8.0-alpha1 v5.7.1 v5.7.0 v5.7.0-rc1 v5.7.0-beta1 v5.7.0-alpha1 v5.6.3 v5.6.2 v5.6.1 v5.6.1-1 v5.6.0 v5.6.0-rc1 v5.6.0-beta1 v5.6.0-alpha1 v5.5.1 v5.5.0 v5.5.0-rc1 v5.5.0-beta1 v5.5.0-alpha1 v5.4.2 v5.4.1 v5.4.0 v5.4.0-rc1 v5.4.0-beta1 v5.4.0-alpha1 v5.3.2 v5.3.1 v5.3.0 v5.3.0-rc1 v5.3.0-beta1 v5.3.0-alpha1 v5.2.1 v5.2.0 v5.2.0-rc1 v5.2.0-beta1 v5.2.0-alpha1 v5.1.1 v5.1.0 v5.1.0-rc2 v5.1.0-rc1 v5.1.0-beta1 v5.1.0-alpha1
No related merge requests found
Showing with 86 additions and 28 deletions
......@@ -2,7 +2,7 @@ import QtQuick 1.0
import "custom" as Components
Components.Button {
id:button
id: button
width: Math.max(80, sizehint.width)
height: Math.max(22, sizehint.height)
......@@ -11,6 +11,10 @@ Components.Button {
property bool defaultbutton
property string hint
TooltipArea {
anchors.fill: parent
text: button.tooltip
}
background: StyleItem {
id: styleitem
......@@ -25,13 +29,6 @@ Components.Button {
// If no icon, let the style do the drawing
activeControl: focus ? "default" : ""
Connections{
target: button
onToolTipTriggered: styleitem.showTip()
}
function showTip(){
showToolTip(tooltip);
}
}
label: Item {
......
......@@ -831,23 +831,6 @@ bool QStyleItem::eventFilter(QObject *o, QEvent *e) {
return QObject::eventFilter(o, e);
}
void QStyleItem::showToolTip(const QString &str)
{
QPoint global;
QPointF scenePos = mapToScene(width() - 20, 0);
QGraphicsScene *scene = QGraphicsItem::scene();
QObject *parent = scene->parent();
if (parent) {
QGraphicsView *view = qobject_cast<QGraphicsView*>(parent);
if (view) {
QPoint p = view->mapFromScene(scenePos);
global = view->mapToGlobal(p);
}
}
QToolTip::showText(QPoint(global.x(),global.y()), str);
}
QRect QStyleItem::subControlRect(const QString &subcontrolString)
{
QStyle::SubControl subcontrol = QStyle::SC_None;
......
......@@ -174,7 +174,6 @@ public Q_SLOTS:
void updateItem(){update();}
QString hitTest(int x, int y);
QRect subControlRect(const QString &subcontrolString);
void showToolTip(const QString &str);
int textWidth(const QString &);
Q_SIGNALS:
......
......@@ -47,6 +47,7 @@
#include "qdesktopitem.h"
#include "qwheelarea.h"
#include "qcursorarea.h"
#include "qtooltiparea.h"
#include <qdeclarativeextensionplugin.h>
#include <qdeclarativeengine.h>
......@@ -82,6 +83,7 @@ void StylePlugin::registerTypes(const char *uri)
{
qmlRegisterType<QStyleItem>(uri, 0, 1, "StyleItem");
qmlRegisterType<QCursorArea>(uri, 0, 1, "CursorArea");
qmlRegisterType<QTooltipArea>(uri, 0, 1, "TooltipArea");
qmlRegisterType<QRangeModel>(uri, 0, 1, "RangeModel");
qmlRegisterType<QGraphicsDropShadowEffect>(uri, 0, 1, "DropShadow");
qmlRegisterType<QDeclarativeFolderListModel>(uri, 0, 1, "FileSystemModel");
......
#include "qtooltiparea.h"
#include <QGraphicsView>
#include <QToolTip>
#include <QApplication>
QTooltipArea::QTooltipArea(QDeclarativeItem *parent) :
QDeclarativeItem(parent)
{
setAcceptHoverEvents(true);
connect(&m_tiptimer, SIGNAL(timeout()), this, SLOT(timeout()));
}
void QTooltipArea::setText(const QString &t)
{
if (t != m_text) {
m_text = t;
emit textChanged();
}
}
void QTooltipArea::showToolTip(const QString &str) const
{
QToolTip::showText(cursor().pos(), str);
}
void QTooltipArea::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
m_tiptimer.start(1000);
return QDeclarativeItem::hoverEnterEvent(event);
}
void QTooltipArea::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{
m_tiptimer.stop();
return QDeclarativeItem::hoverLeaveEvent(event);
}
void QTooltipArea::timeout()
{
showToolTip(m_text);
}
#ifndef QTOOLTIPAREA_H
#define QTOOLTIPAREA_H
#include <QDeclarativeItem>
#include <QTimer>
class QTooltipArea : public QDeclarativeItem
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
public:
QTooltipArea(QDeclarativeItem *parent = 0);
void setText(const QString &t);
QString text() const {return m_text;}
void showToolTip(const QString &str) const;
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
public slots:
void timeout();
signals:
void textChanged();
private:
QTimer m_tiptimer;
QString m_text;
};
#endif // QTOOLTIPAREA_H
......@@ -21,7 +21,8 @@ HEADERS += qtmenu.h \
qwindowitem.h \
qdesktopitem.h \
qtoplevelwindow.h \
qcursorarea.h
qcursorarea.h \
qtooltiparea.h
SOURCES += qtmenu.cpp \
qtmenubar.cpp \
......@@ -34,7 +35,8 @@ SOURCES += qtmenu.cpp \
qwindowitem.cpp \
qdesktopitem.cpp \
qtoplevelwindow.cpp \
qcursorarea.cpp
qcursorarea.cpp \
qtooltiparea.cpp
TARGETPATH = QtDesktop/plugin
......@@ -57,3 +59,5 @@ symbian {
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment