X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/60b868108151463a702e8c10933b0ceb99f11bbe..e242d9548d11d92568a648efece5ff6c280b36cd:/src/settings/viewmodes/viewsettingstab.cpp diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index fe043a788..6f442099f 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include @@ -59,12 +61,16 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : m_defaultSizeSlider->setPageStep(1); m_defaultSizeSlider->setTickPosition(QSlider::TicksBelow); m_defaultSizeSlider->setRange(minRange, maxRange); + connect(m_defaultSizeSlider, &QSlider::valueChanged, + this, &ViewSettingsTab::slotDefaultSliderMoved); 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); m_previewSizeSlider->setRange(minRange, maxRange); + connect(m_previewSizeSlider, &QSlider::valueChanged, + this, &ViewSettingsTab::slotPreviewSliderMoved); QGridLayout* layout = new QGridLayout(iconSizeGroup); layout->addWidget(defaultLabel, 0, 0, Qt::AlignRight); @@ -132,20 +138,20 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) : loadSettings(); - connect(m_defaultSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed())); - connect(m_previewSizeSlider, SIGNAL(valueChanged(int)), this, SIGNAL(changed())); - connect(m_fontRequester, SIGNAL(changed()), this, SIGNAL(changed())); + connect(m_defaultSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); + connect(m_previewSizeSlider, &QSlider::valueChanged, this, &ViewSettingsTab::changed); + connect(m_fontRequester, &DolphinFontRequester::changed, this, &ViewSettingsTab::changed); switch (m_mode) { case IconsMode: - connect(m_widthBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed())); - connect(m_maxLinesBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed())); + connect(m_widthBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); + connect(m_maxLinesBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); break; case CompactMode: - connect(m_widthBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(changed())); + connect(m_widthBox, static_cast(&KComboBox::currentIndexChanged), this, &ViewSettingsTab::changed); break; case DetailsMode: - connect(m_expandableFolders, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + connect(m_expandableFolders, &QCheckBox::toggled, this, &ViewSettingsTab::changed); break; default: break; @@ -261,4 +267,26 @@ ViewModeSettings::ViewMode ViewSettingsTab::viewMode() const } -#include "viewsettingstab.moc" +void ViewSettingsTab::slotDefaultSliderMoved(int value) +{ + showToolTip(m_defaultSizeSlider, value); +} + +void ViewSettingsTab::slotPreviewSliderMoved(int value) +{ + showToolTip(m_previewSizeSlider, value); +} + +void ViewSettingsTab::showToolTip(QSlider* slider, int value) +{ + const int size = ZoomLevelInfo::iconSizeForZoomLevel(value); + slider->setToolTip(i18ncp("@info:tooltip", "Size: 1 pixel", "Size: %1 pixels", size)); + if (!slider->isVisible()) { + return; + } + QPoint global = slider->rect().topLeft(); + global.ry() += slider->height() / 2; + QHelpEvent toolTipEvent(QEvent::ToolTip, QPoint(0, 0), slider->mapToGlobal(global)); + QApplication::sendEvent(slider, &toolTipEvent); +} +