From 0190459ebdc6d2d97a0cf35f8596a1f3aef7a9d7 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 22 Oct 2008 21:02:55 +0000 Subject: [PATCH] KBallonTipDelegate is not used at all in Dolphin. svn path=/trunk/KDE/kdebase/apps/; revision=874947 --- src/CMakeLists.txt | 1 - src/kballoontipdelegate.cpp | 164 ------------------------------------ src/kballoontipdelegate.h | 40 --------- 3 files changed, 205 deletions(-) delete mode 100644 src/kballoontipdelegate.cpp delete mode 100644 src/kballoontipdelegate.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5f676a4eb..e2f5a97bf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -37,7 +37,6 @@ set(dolphinprivate_LIB_SRCS draganddrophelper.cpp folderexpander.cpp ktooltip.cpp - kballoontipdelegate.cpp kformattedballoontipdelegate.cpp renamedialog.cpp selectiontoggle.cpp diff --git a/src/kballoontipdelegate.cpp b/src/kballoontipdelegate.cpp deleted file mode 100644 index 84e0a63e0..000000000 --- a/src/kballoontipdelegate.cpp +++ /dev/null @@ -1,164 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Fredrik Höglund * - * * - * 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 * - ***************************************************************************/ - -#include "kballoontipdelegate.h" -#include -#include -#include - -QSize KBalloonTipDelegate::sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const -{ - QSize size; - size.rwidth() = option->fontMetrics.width(item->text()); - size.rheight() = option->fontMetrics.lineSpacing(); - - QIcon icon = item->icon(); - if (!icon.isNull()) { - const QSize iconSize = icon.actualSize(option->decorationSize); - size.rwidth() += iconSize.width() + 4; - size.rheight() = qMax(size.height(), iconSize.height()); - } - - int margin = 2 * 10 + (option->activeCorner != KStyleOptionToolTip::NoCorner ? 10 : 0); - return size + QSize(margin, margin); -} - -static inline void arc(QPainterPath &path, qreal cx, qreal cy, qreal radius, qreal angle, qreal sweeplength) -{ - path.arcTo(cx-radius, cy-radius, radius * 2, radius * 2, angle, sweeplength); -} - -QPainterPath KBalloonTipDelegate::createPath(const KStyleOptionToolTip *option, QRect *contents) const -{ - QPainterPath path; - QRect rect = option->rect.adjusted(0, 0, -1, -1); - qreal radius = 10; - - switch (option->activeCorner) - { - case KStyleOptionToolTip::TopLeftCorner: - rect.adjust(10, 10, 0, 0); - path.moveTo(option->rect.topLeft()); - path.lineTo(rect.left() + radius, rect.top()); - arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); - arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); - arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); - path.lineTo(rect.left(), rect.top() + radius); - path.closeSubpath(); - break; - - case KStyleOptionToolTip::TopRightCorner: - rect.adjust(0, 10, -10, 0); - path.moveTo(option->rect.topRight()); - path.lineTo(rect.right(), rect.top() + radius); - arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); - arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); - arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); - path.lineTo(rect.right() - radius, rect.top()); - path.closeSubpath(); - break; - - case KStyleOptionToolTip::BottomLeftCorner: - rect.adjust(10, 0, 0, -10); - path.moveTo(option->rect.bottomLeft()); - path.lineTo(rect.left(), rect.bottom() - radius); - arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); - arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); - arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); - path.lineTo(rect.left() + radius, rect.bottom()); - path.closeSubpath(); - break; - - case KStyleOptionToolTip::BottomRightCorner: - rect.adjust(0, 0, -10, -10); - path.moveTo(option->rect.bottomRight()); - path.lineTo(rect.right() - radius, rect.bottom()); - arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); - arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); - arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); - path.lineTo(rect.right(), rect.bottom() - radius); - path.closeSubpath(); - break; - - default: - path.moveTo(rect.left(), rect.top() + radius); - arc(path, rect.left() + radius, rect.top() + radius, radius, 180, -90); - arc(path, rect.right() - radius, rect.top() + radius, radius, 90, -90); - arc(path, rect.right() - radius, rect.bottom() - radius, radius, 0, -90); - arc(path, rect.left() + radius, rect.bottom() - radius, radius, 270, -90); - path.closeSubpath(); - break; - } - - if (contents) - *contents = rect.adjusted(10, 10, -10, -10); - - return path; -} - -void KBalloonTipDelegate::paint(QPainter *painter, const KStyleOptionToolTip *option, const KToolTipItem *item) const -{ - QRect contents; - QPainterPath path = createPath(option, &contents); - bool alpha = haveAlphaChannel(); - - if (alpha) { - painter->setRenderHint(QPainter::Antialiasing); - painter->translate(.5, .5); - } - -#if QT_VERSION >= 0x040400 - painter->setBrush(option->palette.brush(QPalette::ToolTipBase)); -#else - painter->setBrush(option->palette.brush(QPalette::Base)); -#endif - painter->drawPath(path); - - if (alpha) - painter->translate(-.5, -.5); - - QIcon icon = item->icon(); - if (!icon.isNull()) { - const QSize iconSize = icon.actualSize(option->decorationSize); - painter->drawPixmap(contents.topLeft(), icon.pixmap(iconSize)); - contents.adjust(iconSize.width() + 4, 0, 0, 0); - } - - painter->drawText(contents, Qt::AlignLeft | Qt::AlignVCenter, item->text()); -} - - -QRegion KBalloonTipDelegate::inputShape(const KStyleOptionToolTip *option) const -{ - QBitmap bitmap(option->rect.size()); - bitmap.fill(Qt::color0); - - QPainter p(&bitmap); - p.setPen(QPen(Qt::color1, 1)); - p.setBrush(Qt::color1); - p.drawPath(createPath(option)); - - return QRegion(bitmap); -} - -QRegion KBalloonTipDelegate::shapeMask(const KStyleOptionToolTip *option) const -{ - return inputShape(option); -} - diff --git a/src/kballoontipdelegate.h b/src/kballoontipdelegate.h deleted file mode 100644 index 0baec17f4..000000000 --- a/src/kballoontipdelegate.h +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Fredrik Höglund * - * * - * 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 KBALLOONTIPDELEGATE_H -#define KBALLOONTIPDELEGATE_H - -#include "ktooltip.h" - -class KBalloonTipDelegate : public KToolTipDelegate -{ -public: - KBalloonTipDelegate() {} - ~KBalloonTipDelegate() {} - - QSize sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const; - void paint(QPainter *painter, const KStyleOptionToolTip *option, const KToolTipItem *item) const; - QRegion inputShape(const KStyleOptionToolTip *option) const; - QRegion shapeMask(const KStyleOptionToolTip *option) const; - -private: - QPainterPath createPath(const KStyleOptionToolTip *option, QRect *contentRect = 0) const; -}; - -#endif -- 2.47.3