X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/0d37038b407944a9b7ec05127b5b6d41dc1a496f..405dd624fb:/src/views/dolphinitemlistview.cpp diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp index eb61ccb21..6397a48b7 100644 --- a/src/views/dolphinitemlistview.cpp +++ b/src/views/dolphinitemlistview.cpp @@ -19,23 +19,18 @@ #include "dolphinitemlistview.h" +#include "dolphin_compactmodesettings.h" +#include "dolphin_detailsmodesettings.h" #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" -#include "dolphin_detailsmodesettings.h" -#include "dolphin_compactmodesettings.h" #include "dolphinfileitemlistwidget.h" - -#include -#include -#include -#include - -#include - -#include - +#include "kitemviews/kfileitemmodel.h" +#include "kitemviews/kitemlistcontroller.h" +#include "views/viewmodecontroller.h" #include "zoomlevelinfo.h" +#include + DolphinItemListView::DolphinItemListView(QGraphicsWidget* parent) : KFileItemListView(parent), @@ -94,21 +89,17 @@ void DolphinItemListView::readSettings() updateFont(); updateGridSize(); - const KConfigGroup globalConfig(KGlobal::config(), "PreviewSettings"); - const QStringList plugins = globalConfig.readEntry("Plugins", QStringList() - << "directorythumbnail" - << "imagethumbnail" - << "jpegthumbnail"); - setEnabledPlugins(plugins); + const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings"); + setEnabledPlugins(globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins())); endTransaction(); } void DolphinItemListView::writeSettings() { - IconsModeSettings::self()->writeConfig(); - CompactModeSettings::self()->writeConfig(); - DetailsModeSettings::self()->writeConfig(); + IconsModeSettings::self()->save(); + CompactModeSettings::self()->save(); + DetailsModeSettings::self()->save(); } KItemListWidgetCreatorBase* DolphinItemListView::defaultWidgetCreator() const @@ -133,7 +124,7 @@ void DolphinItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout pre void DolphinItemListView::onPreviewsShownChanged(bool shown) { - Q_UNUSED(shown); + Q_UNUSED(shown) updateGridSize(); } @@ -180,36 +171,23 @@ void DolphinItemListView::updateGridSize() // Calculate the item-width and item-height int itemWidth; int itemHeight; - QSize maxTextSize; + int maxTextLines = 0; + int maxTextWidth = 0; switch (itemLayout()) { case KFileItemListView::IconsLayout: { const int minItemWidth = 48; itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64; - if (previewsShown()) { - // Optimize the width for previews with a 3:2 aspect ratio instead - // of a 1:1 ratio to avoid wasting too much vertical space when - // showing photos. - const int minWidth = iconSize * 3 / 2; - itemWidth = qMax(itemWidth, minWidth); - } - if (itemWidth < iconSize + padding * 2) { itemWidth = iconSize + padding * 2; } itemHeight = padding * 3 + iconSize + option.fontMetrics.lineSpacing(); - if (IconsModeSettings::maximumTextLines() > 0) { - // A restriction is given for the maximum number of textlines (0 means - // having no restriction) - const int additionalInfoCount = visibleRoles().count() - 1; - const int maxAdditionalLines = additionalInfoCount + IconsModeSettings::maximumTextLines(); - maxTextSize.rheight() = option.fontMetrics.lineSpacing() * maxAdditionalLines; - } horizontalMargin = 4; verticalMargin = 8; + maxTextLines = IconsModeSettings::maximumTextLines(); break; } case KFileItemListView::CompactLayout: { @@ -220,8 +198,7 @@ void DolphinItemListView::updateGridSize() if (CompactModeSettings::maximumTextWidthIndex() > 0) { // A restriction is given for the maximum width of the text (0 means // having no restriction) - maxTextSize.rwidth() = option.fontMetrics.height() * 10 * - CompactModeSettings::maximumTextWidthIndex(); + maxTextWidth = option.fontMetrics.height() * 10 * CompactModeSettings::maximumTextWidthIndex(); } horizontalMargin = 8; @@ -244,7 +221,8 @@ void DolphinItemListView::updateGridSize() option.horizontalMargin = horizontalMargin; option.verticalMargin = verticalMargin; option.iconSize = iconSize; - option.maxTextSize = maxTextSize; + option.maxTextLines = maxTextLines; + option.maxTextWidth = maxTextWidth; beginTransaction(); setStyleOption(option); setItemSize(QSizeF(itemWidth, itemHeight)); @@ -267,4 +245,3 @@ ViewModeSettings::ViewMode DolphinItemListView::viewMode() const return mode; } -#include "dolphinitemlistview.moc"