mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
PreviewSettingsPage: update JPG preview plugin settings if needed
In KDE <= 4.6, the 'jpegrotatedthumbnail' plugin was used to provide thumbnails for JPG images which are rotated correctly. In KDE 4.7, this is done by the usual 'jpegthumbnail' plugin if it is configured accordingly. The update of the settings is done in KFilePreviewGenerator. However, if Konqueror is run in web browsing mode and the settings dialog is opened, KFilePreviewGenerator does not have a chance to do the update. To make sure that the correct plugins are shown in the settings, this commit adds a plugin update to PreviewSettingsPage. The old code that just removed the 'jpegrotatedthumbnail' plugin without enabling the 'jpegthumbnail' plugin is removed. CCBUG:277251 FIXED-IN:4.7.0
This commit is contained in:
parent
5091011e23
commit
626fb3cf58
1 changed files with 13 additions and 12 deletions
|
@ -187,18 +187,6 @@ void PreviewsSettingsPage::loadPreviewPlugins()
|
|||
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);
|
||||
|
@ -219,6 +207,19 @@ void PreviewsSettingsPage::loadSettings()
|
|||
<< QLatin1String("imagethumbnail")
|
||||
<< QLatin1String("jpegthumbnail"));
|
||||
|
||||
// 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 int maxLocalByteSize = globalConfig.readEntry("MaximumSize", MaxLocalPreviewSize * 1024 * 1024);
|
||||
const int maxLocalMByteSize = maxLocalByteSize / (1024 * 1024);
|
||||
m_localFileSizeBox->setValue(maxLocalMByteSize);
|
||||
|
|
Loading…
Reference in a new issue