X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1b2b63eb3a01025e03ff964f187adda52c62bcb3..c173de4c9ba5cd56a2fa0c2d37b63da5639f817a:/src/settings/general/previewssettingspage.cpp diff --git a/src/settings/general/previewssettingspage.cpp b/src/settings/general/previewssettingspage.cpp index 679494c67..3c3211d47 100644 --- a/src/settings/general/previewssettingspage.cpp +++ b/src/settings/general/previewssettingspage.cpp @@ -95,7 +95,7 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) : m_localFileSizeBox = new KIntSpinBox(this); m_localFileSizeBox->setSingleStep(1); m_localFileSizeBox->setSuffix(QLatin1String(" MB")); - m_localFileSizeBox->setRange(0, 9999); /* MB */ + m_localFileSizeBox->setRange(0, 9999999); /* MB */ QLabel* remoteFileSizeLabel = new QLabel(i18nc("@label Don't create previews for: XX MByte", "Remote files above:"), this); @@ -103,7 +103,7 @@ PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) : m_remoteFileSizeBox = new KIntSpinBox(this); m_remoteFileSizeBox->setSingleStep(1); m_remoteFileSizeBox->setSuffix(QLatin1String(" MB")); - m_remoteFileSizeBox->setRange(0, 9999); /* MB */ + m_remoteFileSizeBox->setRange(0, 9999999); /* MB */ QGridLayout* fileSizeBoxLayout = new QGridLayout(fileSizeBox); fileSizeBoxLayout->addWidget(localFileSizeLabel, 0, 0, Qt::AlignRight); @@ -144,11 +144,13 @@ void PreviewsSettingsPage::applySettings() KConfigGroup globalConfig(KGlobal::config(), QLatin1String("PreviewSettings")); globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins); + const qulonglong maximumLocalSize = static_cast(m_localFileSizeBox->value()) * 1024 * 1024; globalConfig.writeEntry("MaximumSize", - m_localFileSizeBox->value() * 1024 * 1024, + maximumLocalSize, KConfigBase::Normal | KConfigBase::Global); + const qulonglong maximumRemoteSize = static_cast(m_remoteFileSizeBox->value()) * 1024 * 1024; globalConfig.writeEntry("MaximumRemoteSize", - m_remoteFileSizeBox->value() * 1024 * 1024, + maximumRemoteSize, KConfigBase::Normal | KConfigBase::Global); globalConfig.sync(); } @@ -187,18 +189,6 @@ void PreviewsSettingsPage::loadPreviewPlugins() foreach (const KSharedPtr& service, plugins) { const bool configurable = service->property("Configurable", QVariant::Bool).toBool(); const bool show = m_enabledPreviewPlugins.contains(service->desktopEntryName()); - if (service->desktopEntryName() == QLatin1String("jpegrotatedthumbnail")) { - // Before KDE SC 4.7 thumbnail plugins where not configurable and in addition to - // the jpegthumbnail-plugin a jpegrotatedthumbnail-plugin was offered. Make this - // plugin obsolete for users that updated from a previous KDE SC version: - if (show) { - m_enabledPreviewPlugins.removeOne(service->desktopEntryName()); - KConfigGroup globalConfig(KGlobal::config(), QLatin1String("PreviewSettings")); - globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins); - globalConfig.sync(); - } - continue; - } model->insertRow(0); const QModelIndex index = model->index(0, 0); @@ -219,11 +209,26 @@ void PreviewsSettingsPage::loadSettings() << QLatin1String("imagethumbnail") << QLatin1String("jpegthumbnail")); - const int maxLocalByteSize = globalConfig.readEntry("MaximumSize", MaxLocalPreviewSize * 1024 * 1024); + // If the user is upgrading from KDE <= 4.6, we must check if he had the 'jpegrotatedthumbnail' plugin enabled. + // This plugin does not exist any more in KDE >= 4.7, so we have to replace it with the 'jpegthumbnail' plugin. + // + // Note that the upgrade to the correct plugin is done already in KFilePreviewGenerator. However, if Konqueror is + // opened in web browsing mode and the Settings dialog is opened, we might end up here before KFilePreviewGenerator's + // constructor is ever called -> the plugin replacement should be done here as well. + if(m_enabledPreviewPlugins.contains(QLatin1String("jpegrotatedthumbnail"))) { + m_enabledPreviewPlugins.removeAll(QLatin1String("jpegrotatedthumbnail")); + m_enabledPreviewPlugins.append(QLatin1String("jpegthumbnail")); + globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins); + globalConfig.sync(); + } + + const qulonglong defaultLocalPreview = static_cast(MaxLocalPreviewSize) * 1024 * 1024; + const qulonglong maxLocalByteSize = globalConfig.readEntry("MaximumSize", defaultLocalPreview); const int maxLocalMByteSize = maxLocalByteSize / (1024 * 1024); m_localFileSizeBox->setValue(maxLocalMByteSize); - const int maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", MaxRemotePreviewSize * 1024 * 1024); + const qulonglong defaultRemotePreview = static_cast(MaxRemotePreviewSize) * 1024 * 1024; + const qulonglong maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", defaultRemotePreview); const int maxRemoteMByteSize = maxRemoteByteSize / (1024 * 1024); m_remoteFileSizeBox->setValue(maxRemoteMByteSize); }