diff options
| author | Peter Penz <[email protected]> | 2008-10-26 13:04:33 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-10-26 13:04:33 +0000 |
| commit | 22d22a9cd701b726366f6c6feaf31842cbb50ca4 (patch) | |
| tree | 17db9b4638fe78742abda630d03203941d9e9054 /src/iconsizegroupbox.cpp | |
| parent | d133875139fe10d8cad5b2f059fb47ab92e4637b (diff) | |
Show the iconsize of zoom sliders as tooltip (code shamelessly stolen from Rafael's patch in kfilewidget ;-))
svn path=/trunk/KDE/kdebase/apps/; revision=876081
Diffstat (limited to 'src/iconsizegroupbox.cpp')
| -rw-r--r-- | src/iconsizegroupbox.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/src/iconsizegroupbox.cpp b/src/iconsizegroupbox.cpp index d532f340f..7fa6790cf 100644 --- a/src/iconsizegroupbox.cpp +++ b/src/iconsizegroupbox.cpp @@ -21,10 +21,16 @@ #include <klocale.h> +#include <QApplication> #include <QGridLayout> +#include <QHelpEvent> #include <QLabel> +#include <QPoint> +#include <QRect> #include <QSlider> +#include "zoomlevelinfo.h" + IconSizeGroupBox::IconSizeGroupBox(QWidget* parent) : QGroupBox(i18nc("@title:group", "Icon Size"), parent), m_defaultSizeSlider(0), @@ -35,14 +41,14 @@ IconSizeGroupBox::IconSizeGroupBox(QWidget* parent) : m_defaultSizeSlider->setPageStep(1); m_defaultSizeSlider->setTickPosition(QSlider::TicksBelow); connect(m_defaultSizeSlider, SIGNAL(sliderMoved(int)), - this, SIGNAL(defaultSizeChanged(int))); + this, SLOT(slotDefaultSliderMoved(int))); QLabel* previewLabel = new QLabel(i18nc("@label:listbox", "Preview:"), this); m_previewSizeSlider = new QSlider(Qt::Horizontal, this); m_previewSizeSlider->setPageStep(1); m_previewSizeSlider->setTickPosition(QSlider::TicksBelow); connect(m_previewSizeSlider, SIGNAL(sliderMoved(int)), - this, SIGNAL(defaultSizeChanged(int))); + this, SLOT(slotPreviewSliderMoved(int))); QGridLayout* layout = new QGridLayout(this); layout->addWidget(defaultLabel, 0, 0, Qt::AlignRight); @@ -85,4 +91,26 @@ int IconSizeGroupBox::previewSizeValue() const return m_previewSizeSlider->value(); } +void IconSizeGroupBox::slotDefaultSliderMoved(int value) +{ + showToolTip(m_defaultSizeSlider, value); + emit defaultSizeChanged(value); +} + +void IconSizeGroupBox::slotPreviewSliderMoved(int value) +{ + showToolTip(m_previewSizeSlider, value); + emit previewSizeChanged(value); +} + +void IconSizeGroupBox::showToolTip(QSlider* slider, int value) +{ + const int size = ZoomLevelInfo::iconSizeForZoomLevel(value); + slider->setToolTip(i18nc("@info:tooltip", "Size: %1 pixels", size)); + QPoint global = slider->rect().topLeft(); + global.ry() += slider->height() / 2; + QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), slider->mapToGlobal(global)); + QApplication::sendEvent(slider, &toolTipEvent); +} + #include "iconsizegroupbox.moc" |
