#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 <KIO/PreviewJob>
#include <QtMath>
-
-DolphinItemListView::DolphinItemListView(QGraphicsWidget* parent) :
- KFileItemListView(parent),
- m_zoomLevel(0)
+DolphinItemListView::DolphinItemListView(QGraphicsWidget *parent)
+ : KFileItemListView(parent)
+ , m_zoomLevel(0)
{
- updateFont();
+ DolphinItemListView::updateFont();
updateGridSize();
}
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();
DetailsModeSettings::self()->save();
}
-KItemListWidgetCreatorBase* DolphinItemListView::defaultWidgetCreator() const
+KItemListWidgetCreatorBase *DolphinItemListView::defaultWidgetCreator() const
{
return new KItemListWidgetCreator<DolphinFileItemListWidget>();
}
+bool DolphinItemListView::itemLayoutHighlightEntireRow(ItemLayout layout) const
+{
+ return layout == DetailsLayout && DetailsModeSettings::highlightEntireRow();
+}
+
bool DolphinItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) const
{
return layout == DetailsLayout && DetailsModeSettings::expandableFolders();
updateGridSize();
}
-void DolphinItemListView::onVisibleRolesChanged(const QList<QByteArray>& current,
- const QList<QByteArray>& previous)
+void DolphinItemListView::onVisibleRolesChanged(const QList<QByteArray> ¤t, const QList<QByteArray> &previous)
{
KFileItemListView::onVisibleRolesChanged(current, previous);
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
setItemSize(QSizeF(itemWidth, itemHeight));
endTransaction();
}
+
+#include "moc_dolphinitemlistview.cpp"