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: <Remote files above:> XX MByte",
"Remote files above:"), this);
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);
KConfigGroup globalConfig(KGlobal::config(), QLatin1String("PreviewSettings"));
globalConfig.writeEntry("Plugins", m_enabledPreviewPlugins);
+ const qulonglong maximumLocalSize = static_cast<qulonglong>(m_localFileSizeBox->value()) * 1024 * 1024;
globalConfig.writeEntry("MaximumSize",
- m_localFileSizeBox->value() * 1024 * 1024,
+ maximumLocalSize,
KConfigBase::Normal | KConfigBase::Global);
+ const qulonglong maximumRemoteSize = static_cast<qulonglong>(m_remoteFileSizeBox->value()) * 1024 * 1024;
globalConfig.writeEntry("MaximumRemoteSize",
- m_remoteFileSizeBox->value() * 1024 * 1024,
+ maximumRemoteSize,
KConfigBase::Normal | KConfigBase::Global);
globalConfig.sync();
}
foreach (const KSharedPtr<KService>& 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);
<< 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<qulonglong>(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<qulonglong>(MaxRemotePreviewSize) * 1024 * 1024;
+ const qulonglong maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", defaultRemotePreview);
const int maxRemoteMByteSize = maxRemoteByteSize / (1024 * 1024);
m_remoteFileSizeBox->setValue(maxRemoteMByteSize);
}