X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/0f50abe12dce43341c7921cf35f71da95b3df8cc..bd839796f1e165016f8a4dfd01b222b31fb7773f:/src/views/dolphinitemlistview.cpp diff --git a/src/views/dolphinitemlistview.cpp b/src/views/dolphinitemlistview.cpp index 0210dd594..d31dc11ba 100644 --- a/src/views/dolphinitemlistview.cpp +++ b/src/views/dolphinitemlistview.cpp @@ -7,25 +7,22 @@ #include "dolphinitemlistview.h" #include "dolphin_compactmodesettings.h" +#include "dolphin_contentdisplaysettings.h" #include "dolphin_detailsmodesettings.h" #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" #include "dolphinfileitemlistwidget.h" -#include "kitemviews/kfileitemmodel.h" -#include "kitemviews/kitemlistcontroller.h" #include "settings/viewmodes/viewmodesettings.h" -#include "views/viewmodecontroller.h" #include "zoomlevelinfo.h" #include #include - -DolphinItemListView::DolphinItemListView(QGraphicsWidget* parent) : - KFileItemListView(parent), - m_zoomLevel(0) +DolphinItemListView::DolphinItemListView(QGraphicsWidget *parent) + : KFileItemListView(parent) + , m_zoomLevel(0) { - updateFont(); + DolphinItemListView::updateFont(); updateGridSize(); } @@ -80,19 +77,23 @@ void DolphinItemListView::setEnabledSelectionToggles(DolphinItemListView::Select void DolphinItemListView::readSettings() { - ViewModeSettings settings(itemLayout()); - settings.readConfig(); + // We load the settings for all view modes now because we don't load them when the view mode changes. + IconsModeSettings::self()->load(); + CompactModeSettings::self()->load(); + DetailsModeSettings::self()->load(); + + ContentDisplaySettings::self()->load(); beginTransaction(); setEnabledSelectionToggles(m_selectionTogglesEnabled); - setHighlightEntireRow(DetailsModeSettings::sidePadding()); + setHighlightEntireRow(itemLayoutHighlightEntireRow(itemLayout())); setSupportsItemExpanding(itemLayoutSupportsItemExpanding(itemLayout())); updateFont(); updateGridSize(); - const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings"); + const KConfigGroup globalConfig(KSharedConfig::openConfig(), QStringLiteral("PreviewSettings")); setEnabledPlugins(globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins())); setLocalFileSizePreviewLimit(globalConfig.readEntry("MaximumSize", 0)); endTransaction(); @@ -105,11 +106,16 @@ void DolphinItemListView::writeSettings() DetailsModeSettings::self()->save(); } -KItemListWidgetCreatorBase* DolphinItemListView::defaultWidgetCreator() const +KItemListWidgetCreatorBase *DolphinItemListView::defaultWidgetCreator() const { return new KItemListWidgetCreator(); } +bool DolphinItemListView::itemLayoutHighlightEntireRow(ItemLayout layout) const +{ + return layout == DetailsLayout && DetailsModeSettings::highlightEntireRow(); +} + bool DolphinItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const { return layout == DetailsLayout && DetailsModeSettings::expandableFolders(); @@ -131,8 +137,7 @@ void DolphinItemListView::onPreviewsShownChanged(bool shown) updateGridSize(); } -void DolphinItemListView::onVisibleRolesChanged(const QList& current, - const QList& previous) +void DolphinItemListView::onVisibleRolesChanged(const QList ¤t, const QList &previous) { KFileItemListView::onVisibleRolesChanged(current, previous); updateGridSize(); @@ -176,7 +181,6 @@ void DolphinItemListView::updateGridSize() switch (itemLayout()) { case KFileItemListView::IconsLayout: { - // an exponential factor based on zoom, 0 -> 1, 4 -> 1.36 8 -> ~1.85, 16 -> 3.4 auto zoomFactor = qExp(m_zoomLevel / 13.0); // 9 is the average char width for 10pt Noto Sans, making fontFactor =1 @@ -233,3 +237,5 @@ void DolphinItemListView::updateGridSize() setItemSize(QSizeF(itemWidth, itemHeight)); endTransaction(); } + +#include "moc_dolphinitemlistview.cpp"