┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tooltips/dolphintooltip.cpp14
-rw-r--r--src/tooltips/dolphintooltip.h4
-rw-r--r--src/tooltips/kformattedballoontipdelegate.cpp35
-rw-r--r--src/tooltips/kformattedballoontipdelegate.h8
-rw-r--r--src/tooltips/ktooltip.cpp75
-rw-r--r--src/tooltips/ktooltip.h11
-rw-r--r--src/tooltips/ktooltip_p.h4
-rw-r--r--src/tooltips/tooltipmanager.cpp10
8 files changed, 81 insertions, 80 deletions
diff --git a/src/tooltips/dolphintooltip.cpp b/src/tooltips/dolphintooltip.cpp
index bc3be33aa..63e1c4041 100644
--- a/src/tooltips/dolphintooltip.cpp
+++ b/src/tooltips/dolphintooltip.cpp
@@ -35,16 +35,18 @@ DolphinBalloonTooltipDelegate::~DolphinBalloonTooltipDelegate()
// Delegate everything to the base class, after re-setting the decorationSize
// to the preview size.
-QSize DolphinBalloonTooltipDelegate::sizeHint(const KStyleOptionToolTip* option, const KToolTipItem* item) const
+QSize DolphinBalloonTooltipDelegate::sizeHint(const KStyleOptionToolTip& option, const KToolTipItem& item) const
{
- KStyleOptionToolTip updatedStyleOption = *option;
+ KStyleOptionToolTip updatedStyleOption = option;
updatedStyleOption.decorationSize = QSize(PREVIEW_WIDTH, PREVIEW_HEIGHT);
- return KFormattedBalloonTipDelegate::sizeHint(&updatedStyleOption, item);
+ return KFormattedBalloonTipDelegate::sizeHint(updatedStyleOption, item);
}
-void DolphinBalloonTooltipDelegate::paint(QPainter* painter, const KStyleOptionToolTip* option, const KToolTipItem* item) const
+void DolphinBalloonTooltipDelegate::paint(QPainter* painter,
+ const KStyleOptionToolTip& option,
+ const KToolTipItem& item) const
{
- KStyleOptionToolTip updatedStyleOption = *option;
+ KStyleOptionToolTip updatedStyleOption = option;
updatedStyleOption.decorationSize = QSize(PREVIEW_WIDTH, PREVIEW_HEIGHT);
- return KFormattedBalloonTipDelegate::paint(painter, &updatedStyleOption, item);
+ return KFormattedBalloonTipDelegate::paint(painter, updatedStyleOption, item);
}
diff --git a/src/tooltips/dolphintooltip.h b/src/tooltips/dolphintooltip.h
index 5c0682171..34b53b0f8 100644
--- a/src/tooltips/dolphintooltip.h
+++ b/src/tooltips/dolphintooltip.h
@@ -41,7 +41,7 @@ public:
DolphinBalloonTooltipDelegate();
virtual ~DolphinBalloonTooltipDelegate();
- virtual QSize sizeHint(const KStyleOptionToolTip* option, const KToolTipItem* item) const;
- virtual void paint(QPainter* painter, const KStyleOptionToolTip* option, const KToolTipItem* item) const;
+ virtual QSize sizeHint(const KStyleOptionToolTip& option, const KToolTipItem& item) const;
+ virtual void paint(QPainter* painter, const KStyleOptionToolTip& option, const KToolTipItem& item) const;
};
#endif
diff --git a/src/tooltips/kformattedballoontipdelegate.cpp b/src/tooltips/kformattedballoontipdelegate.cpp
index a897d8312..2659ccd97 100644
--- a/src/tooltips/kformattedballoontipdelegate.cpp
+++ b/src/tooltips/kformattedballoontipdelegate.cpp
@@ -32,13 +32,13 @@ KFormattedBalloonTipDelegate::~KFormattedBalloonTipDelegate()
{
}
-QSize KFormattedBalloonTipDelegate::sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const
+QSize KFormattedBalloonTipDelegate::sizeHint(const KStyleOptionToolTip &option, const KToolTipItem &item) const
{
QTextDocument doc;
- doc.setHtml(item->text());
- const QIcon icon = item->icon();
+ doc.setHtml(item.text());
+ const QIcon icon = item.icon();
- const QSize iconSize = icon.isNull() ? QSize(0, 0) : icon.actualSize(option->decorationSize);
+ const QSize iconSize = icon.isNull() ? QSize(0, 0) : icon.actualSize(option.decorationSize);
const QSize docSize = doc.size().toSize();
QSize contentSize = iconSize + docSize;
@@ -48,13 +48,13 @@ QSize KFormattedBalloonTipDelegate::sizeHint(const KStyleOptionToolTip *option,
}
void KFormattedBalloonTipDelegate::paint(QPainter *painter,
- const KStyleOptionToolTip *option,
- const KToolTipItem *item) const
+ const KStyleOptionToolTip &option,
+ const KToolTipItem &item) const
{
- QColor toColor = option->palette.brush(QPalette::ToolTipBase).color();
+ QColor toColor = option.palette.brush(QPalette::ToolTipBase).color();
QColor fromColor = KColorScheme::shade(toColor, KColorScheme::LightShade, 0.2);
- QPainterPath path = createPath(*option);
+ QPainterPath path = createPath(option);
if (haveAlphaChannel()) {
painter->setRenderHint(QPainter::Antialiasing);
painter->translate(.5, .5);
@@ -62,8 +62,7 @@ void KFormattedBalloonTipDelegate::paint(QPainter *painter,
fromColor.setAlpha(220);
}
-
- QLinearGradient gradient(option->rect.topLeft(), option->rect.bottomLeft());
+ QLinearGradient gradient(option.rect.topLeft(), option.rect.bottomLeft());
gradient.setColorAt(0.0, fromColor);
gradient.setColorAt(1.0, toColor);
painter->setPen(Qt::NoPen);
@@ -71,18 +70,18 @@ void KFormattedBalloonTipDelegate::paint(QPainter *painter,
painter->drawPath(path);
- const QIcon icon = item->icon();
+ const QIcon icon = item.icon();
int x = Border;
const int y = Border;
if (!icon.isNull()) {
- const QSize iconSize = icon.actualSize(option->decorationSize);
- const QPoint pos(x + option->rect.x(), y + option->rect.y());
+ const QSize iconSize = icon.actualSize(option.decorationSize);
+ const QPoint pos(x + option.rect.x(), y + option.rect.y());
painter->drawPixmap(pos, icon.pixmap(iconSize));
x += iconSize.width() + Border;
}
QTextDocument doc;
- doc.setHtml(item->text());
+ doc.setHtml(item.text());
QPixmap bitmap(doc.size().toSize());
bitmap.fill(Qt::transparent);
QPainter p(&bitmap);
@@ -92,20 +91,20 @@ void KFormattedBalloonTipDelegate::paint(QPainter *painter,
painter->drawPixmap(docRect, bitmap);
}
-QRegion KFormattedBalloonTipDelegate::inputShape(const KStyleOptionToolTip *option) const
+QRegion KFormattedBalloonTipDelegate::inputShape(const KStyleOptionToolTip &option) const
{
- QBitmap bitmap(option->rect.size());
+ 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));
+ p.drawPath(createPath(option));
return QRegion(bitmap);
}
-QRegion KFormattedBalloonTipDelegate::shapeMask(const KStyleOptionToolTip *option) const
+QRegion KFormattedBalloonTipDelegate::shapeMask(const KStyleOptionToolTip &option) const
{
return inputShape(option);
}
diff --git a/src/tooltips/kformattedballoontipdelegate.h b/src/tooltips/kformattedballoontipdelegate.h
index 117d6eec7..4dc9f8bbb 100644
--- a/src/tooltips/kformattedballoontipdelegate.h
+++ b/src/tooltips/kformattedballoontipdelegate.h
@@ -30,10 +30,10 @@ public:
KFormattedBalloonTipDelegate();
virtual ~KFormattedBalloonTipDelegate();
- virtual QSize sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const;
- virtual void paint(QPainter *painter, const KStyleOptionToolTip *option, const KToolTipItem *item) const;
- virtual QRegion inputShape(const KStyleOptionToolTip *option) const;
- virtual QRegion shapeMask(const KStyleOptionToolTip *option) const;
+ virtual QSize sizeHint(const KStyleOptionToolTip &option, const KToolTipItem &item) const;
+ virtual void paint(QPainter *painter, const KStyleOptionToolTip &option, const KToolTipItem &item) const;
+ virtual QRegion inputShape(const KStyleOptionToolTip &option) const;
+ virtual QRegion shapeMask(const KStyleOptionToolTip &option) const;
private:
QPainterPath createPath(const KStyleOptionToolTip& option) const;
diff --git a/src/tooltips/ktooltip.cpp b/src/tooltips/ktooltip.cpp
index b0b044674..e33cd197c 100644
--- a/src/tooltips/ktooltip.cpp
+++ b/src/tooltips/ktooltip.cpp
@@ -118,15 +118,15 @@ KToolTipDelegate::~KToolTipDelegate()
{
}
-QSize KToolTipDelegate::sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const
+QSize KToolTipDelegate::sizeHint(const KStyleOptionToolTip &option, const KToolTipItem &item) const
{
QSize size;
- size.rwidth() = option->fontMetrics.width(item->text());
- size.rheight() = option->fontMetrics.lineSpacing();
+ size.rwidth() = option.fontMetrics.width(item.text());
+ size.rheight() = option.fontMetrics.lineSpacing();
- QIcon icon = item->icon();
+ QIcon icon = item.icon();
if (!icon.isNull()) {
- const QSize iconSize = icon.actualSize(option->decorationSize);
+ const QSize iconSize = icon.actualSize(option.decorationSize);
size.rwidth() += iconSize.width() + 4;
size.rheight() = qMax(size.height(), iconSize.height());
}
@@ -135,19 +135,20 @@ QSize KToolTipDelegate::sizeHint(const KStyleOptionToolTip *option, const KToolT
}
-void KToolTipDelegate::paint(QPainter *painter, const KStyleOptionToolTip *option,
- const KToolTipItem *item) const
+void KToolTipDelegate::paint(QPainter *painter,
+ const KStyleOptionToolTip &option,
+ const KToolTipItem &item) const
{
bool haveAlpha = haveAlphaChannel();
painter->setRenderHint(QPainter::Antialiasing);
QPainterPath path;
if (haveAlpha)
- path.addRoundRect(option->rect.adjusted(0, 0, -1, -1), 25);
+ path.addRoundRect(option.rect.adjusted(0, 0, -1, -1), 25);
else
- path.addRect(option->rect.adjusted(0, 0, -1, -1));
+ path.addRect(option.rect.adjusted(0, 0, -1, -1));
- QColor color = option->palette.color(QPalette::ToolTipBase);
+ QColor color = option.palette.color(QPalette::ToolTipBase);
QColor from = color.lighter(105);
QColor to = color.darker(120);
@@ -168,29 +169,29 @@ void KToolTipDelegate::paint(QPainter *painter, const KStyleOptionToolTip *optio
gradient.setColorAt(0, QColor(0, 0, 0, 192));
gradient.setColorAt(1, QColor(0, 0, 0, 72));
painter->setCompositionMode(QPainter::CompositionMode_DestinationIn);
- painter->fillRect(option->rect, gradient);
+ painter->fillRect(option.rect, gradient);
painter->setCompositionMode(QPainter::CompositionMode_SourceOver);
}
- QRect textRect = option->rect.adjusted(10, 10, -10, -10);
+ QRect textRect = option.rect.adjusted(10, 10, -10, -10);
- QIcon icon = item->icon();
+ QIcon icon = item.icon();
if (!icon.isNull()) {
- const QSize iconSize = icon.actualSize(option->decorationSize);
+ const QSize iconSize = icon.actualSize(option.decorationSize);
painter->drawPixmap(textRect.topLeft(), icon.pixmap(iconSize));
textRect.adjust(iconSize.width() + 4, 0, 0, 0);
}
- painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, item->text());
+ painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, item.text());
}
-QRegion KToolTipDelegate::inputShape(const KStyleOptionToolTip *option) const
+QRegion KToolTipDelegate::inputShape(const KStyleOptionToolTip &option) const
{
- return QRegion(option->rect);
+ return QRegion(option.rect);
}
-QRegion KToolTipDelegate::shapeMask(const KStyleOptionToolTip *option) const
+QRegion KToolTipDelegate::shapeMask(const KStyleOptionToolTip &option) const
{
- return QRegion(option->rect);
+ return QRegion(option.rect);
}
bool KToolTipDelegate::haveAlphaChannel() const
@@ -223,7 +224,7 @@ private:
KToolTipDelegate *delegate() const;
private:
- const KToolTipItem *currentItem;
+ const KToolTipItem *m_currentItem;
};
KTipLabel::KTipLabel() : QWidget(0, Qt::ToolTip)
@@ -237,7 +238,7 @@ KTipLabel::KTipLabel() : QWidget(0, Qt::ToolTip)
void KTipLabel::showTip(const QPoint &pos, const KToolTipItem *item)
{
- currentItem = item;
+ m_currentItem = item;
move(pos);
show();
}
@@ -245,7 +246,7 @@ void KTipLabel::showTip(const QPoint &pos, const KToolTipItem *item)
void KTipLabel::hideTip()
{
hide();
- currentItem = 0;
+ m_currentItem = 0;
}
void KTipLabel::moveTip(const QPoint &pos)
@@ -261,24 +262,24 @@ void KTipLabel::paintEvent(QPaintEvent*)
#ifdef Q_WS_X11
if (QX11Info::isCompositingManagerRunning())
XShapeCombineRegion(x11Info().display(), winId(), ShapeInput, 0, 0,
- delegate()->inputShape(&option).handle(), ShapeSet);
+ delegate()->inputShape(option).handle(), ShapeSet);
else
#endif
- setMask(delegate()->shapeMask(&option));
+ setMask(delegate()->shapeMask(option));
QPainter p(this);
p.setFont(option.font);
p.setPen(QPen(option.palette.brush(QPalette::Text), 0));
- delegate()->paint(&p, &option, currentItem);
+ delegate()->paint(&p, option, *m_currentItem);
}
QSize KTipLabel::sizeHint() const
{
- if (!currentItem)
+ if (!m_currentItem)
return QSize();
KStyleOptionToolTip option = styleOption();
- return delegate()->sizeHint(&option, currentItem);
+ return delegate()->sizeHint(option, *m_currentItem);
}
KStyleOptionToolTip KTipLabel::styleOption() const
@@ -304,29 +305,29 @@ KToolTipDelegate *KTipLabel::delegate() const
KToolTipManager *KToolTipManager::s_instance = 0;
KToolTipManager::KToolTipManager()
- : label(new KTipLabel), currentItem(0), m_delegate(0)
+ : m_label(new KTipLabel), m_currentItem(0), m_delegate(0)
{
}
KToolTipManager::~KToolTipManager()
{
- delete label;
- delete currentItem;
+ delete m_label;
+ delete m_currentItem;
}
void KToolTipManager::showTip(const QPoint &pos, KToolTipItem *item)
{
hideTip();
- label->showTip(pos, item);
- currentItem = item;
+ m_label->showTip(pos, item);
+ m_currentItem = item;
m_tooltipPos = pos;
}
void KToolTipManager::hideTip()
{
- label->hideTip();
- delete currentItem;
- currentItem = 0;
+ m_label->hideTip();
+ delete m_currentItem;
+ m_currentItem = 0;
}
void KToolTipManager::initStyleOption(KStyleOptionToolTip *option) const
@@ -348,9 +349,9 @@ void KToolTipManager::setDelegate(KToolTipDelegate *delegate)
void KToolTipManager::update()
{
- if (currentItem == 0)
+ if (m_currentItem == 0)
return;
- label->showTip(m_tooltipPos, currentItem);
+ m_label->showTip(m_tooltipPos, m_currentItem);
}
KToolTipDelegate *KToolTipManager::delegate() const
diff --git a/src/tooltips/ktooltip.h b/src/tooltips/ktooltip.h
index d59f1bf17..31589c690 100644
--- a/src/tooltips/ktooltip.h
+++ b/src/tooltips/ktooltip.h
@@ -114,15 +114,16 @@ public:
KToolTipDelegate();
virtual ~KToolTipDelegate();
- virtual QSize sizeHint(const KStyleOptionToolTip *option, const KToolTipItem *item) const;
+ 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;
+ virtual void paint(QPainter *painter,
+ const KStyleOptionToolTip &option,
+ const KToolTipItem &item) const;
/**
* Reimplement this function to specify the region of the tooltip
@@ -135,7 +136,7 @@ public:
* This function will only be called if haveAlphaChannel()
* returns true.
*/
- virtual QRegion inputShape(const KStyleOptionToolTip *option) const;
+ virtual QRegion inputShape(const KStyleOptionToolTip &option) const;
/**
* Reimplement this function to specify a shape mask for the tooltip.
@@ -146,7 +147,7 @@ public:
* This function will only be called if haveAlphaChannel()
* returns false.
*/
- virtual QRegion shapeMask(const KStyleOptionToolTip *option) const;
+ virtual QRegion shapeMask(const KStyleOptionToolTip &option) const;
protected:
/**
diff --git a/src/tooltips/ktooltip_p.h b/src/tooltips/ktooltip_p.h
index 8299bf045..5aa5326cf 100644
--- a/src/tooltips/ktooltip_p.h
+++ b/src/tooltips/ktooltip_p.h
@@ -49,8 +49,8 @@ public:
private:
KToolTipManager();
- KTipLabel *label;
- KToolTipItem *currentItem;
+ KTipLabel *m_label;
+ KToolTipItem *m_currentItem;
KToolTipDelegate *m_delegate;
QPoint m_tooltipPos;
diff --git a/src/tooltips/tooltipmanager.cpp b/src/tooltips/tooltipmanager.cpp
index c5558eef1..489c6c2b6 100644
--- a/src/tooltips/tooltipmanager.cpp
+++ b/src/tooltips/tooltipmanager.cpp
@@ -214,13 +214,11 @@ void ToolTipManager::showToolTip(KToolTipItem* tip)
QSize size;
if (m_previewIsLate) {
QPixmap paddedImage(QSize(PREVIEW_WIDTH, PREVIEW_HEIGHT));
- KToolTipItem* maxiTip = new KToolTipItem(paddedImage, m_item.getToolTipText());
- size = g_delegate->sizeHint(&option, maxiTip);
- delete maxiTip;
- maxiTip = 0;
+ KToolTipItem maxiTip(paddedImage, m_item.getToolTipText());
+ size = g_delegate->sizeHint(option, maxiTip);
}
- else {
- size = g_delegate->sizeHint(&option, tip);
+ else if (tip != 0) {
+ size = g_delegate->sizeHint(option, *tip);
}
const QRect desktop = QApplication::desktop()->screenGeometry(m_itemRect.bottomRight());