diff options
| author | Peter Penz <[email protected]> | 2009-11-03 21:48:27 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2009-11-03 21:48:27 +0000 |
| commit | 74c1d61aa3547c80e1c7ee05397c76ccd6260fa7 (patch) | |
| tree | d3965c7f2b391a5def8018f48e5fcfe578af2dd6 /src/tooltips/ktooltipdelegate.h | |
| parent | 48a9ecbf5bb5f3d4e2a548d5ce109ec1d459de6b (diff) | |
Since Qt 4.5 it is possible to have translucient windows. The tooltip approach having a delegate and custom drawing + animation code for transparent tooltips has now been replaced by a translucient window where any kind of (animated) widget can be embedded. Still a lot of finetuning has to be done, but maybe this code can be part of kdelibs in KDE 4.5 (systemsettings currently used the Dolphin tooltips code).
Additionally the tooltip uses now KMetaDataWidget instead of using KMetaInfo. This assures that no blocking of the application will occur even if there is a buggy Strigi analyzer that ignores the maximum size-setting and might block the retrieving of the meta data.
BUG: 182941
BUG: 195878
svn path=/trunk/KDE/kdebase/apps/; revision=1044485
Diffstat (limited to 'src/tooltips/ktooltipdelegate.h')
| -rw-r--r-- | src/tooltips/ktooltipdelegate.h | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/tooltips/ktooltipdelegate.h b/src/tooltips/ktooltipdelegate.h deleted file mode 100644 index a219ec5bf..000000000 --- a/src/tooltips/ktooltipdelegate.h +++ /dev/null @@ -1,110 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Fredrik Höglund <[email protected]> * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#ifndef KTOOLTIPDELEGATE_H -#define KTOOLTIPDELEGATE_H - -#include <QFontMetrics> -#include <QFont> -#include <QObject> -#include <QPalette> -#include <QRect> -#include <QStyle> -#include <QSize> - -class KStyleOptionToolTip; -class KToolTipItem; -class QPainter; -class QRegion; - -class KStyleOptionToolTip -{ -public: - KStyleOptionToolTip(); - enum Corner { TopLeftCorner, TopRightCorner, BottomLeftCorner, BottomRightCorner, NoCorner }; - - Qt::LayoutDirection direction; - QFontMetrics fontMetrics; - QPalette palette; - QRect rect; - QStyle::State state; - QFont font; - QSize decorationSize; - Corner activeCorner; -}; - -/** - * KToolTipDelegate is responsible for providing the size hint and - * painting the tooltips. - */ -class KToolTipDelegate : public QObject -{ - Q_OBJECT -public: - KToolTipDelegate(); - virtual ~KToolTipDelegate(); - - virtual QSize sizeHint(const KStyleOptionToolTip &option, const KToolTipItem &item) const; - - /** - * If haveAlphaChannel() returns true, the paint device will be filled with - * Qt::transparent when this function is called, otherwise the content is - * undefined. - */ - virtual void paint(QPainter *painter, - const KStyleOptionToolTip &option, - const KToolTipItem &item) const; - - /** - * Reimplement this function to specify the region of the tooltip - * that accepts input. Any mouse events that occur outside this - * region will be sent to the widget below the tooltip. - * - * The default implementation returns a region containing the - * bounding rect of the tooltip. - * - * This function will only be called if haveAlphaChannel() - * returns true. - */ - virtual QRegion inputShape(const KStyleOptionToolTip &option) const; - - /** - * Reimplement this function to specify a shape mask for the tooltip. - * - * The default implementation returns a region containing the - * bounding rect of the tooltip. - * - * This function will only be called if haveAlphaChannel() - * returns false. - */ - virtual QRegion shapeMask(const KStyleOptionToolTip &option) const; - -protected: - /** - * Returns true if the tooltip has an alpha channel, and false - * otherwise. - * - * Implementors should assume that this condition may change at - * any time during the runtime of the application, as compositing - * can be enabled or disabled in the window manager. - */ - bool haveAlphaChannel() const; -}; - -#endif |
