DolphinItemListContainer::~DolphinItemListContainer()
{
- IconsModeSettings::self()->writeConfig();
- CompactModeSettings::self()->writeConfig();
- DetailsModeSettings::self()->writeConfig();
-
+ writeSettings();
+
controller()->setView(0);
delete m_fileItemListView;
m_fileItemListView = 0;
m_fileItemListView->endTransaction();
}
-void DolphinItemListContainer::refresh()
+void DolphinItemListContainer::readSettings()
{
ViewModeSettings settings(viewMode());
settings.readConfig();
endTransaction();
}
+void DolphinItemListContainer::writeSettings()
+{
+ IconsModeSettings::self()->writeConfig();
+ CompactModeSettings::self()->writeConfig();
+ DetailsModeSettings::self()->writeConfig();
+}
+
void DolphinItemListContainer::updateGridSize()
{
const ViewModeSettings settings(viewMode());
switch (itemLayout()) {
case KFileItemListView::IconsLayout: {
const int minItemWidth = 64;
- itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64; // TODO:
+ itemWidth = minItemWidth + IconsModeSettings::textWidthIndex() * 64;
if (itemWidth < iconSize + innerMargin * 2) {
itemWidth = iconSize + innerMargin * 2;
}
break;
}
case KFileItemListView::CompactLayout: {
- itemWidth = innerMargin * 2;
+ itemWidth = innerMargin * 4 + iconSize + styleOption.fontMetrics.height() * 5;
const int textLinesCount = m_fileItemListView->visibleRoles().count();
itemHeight = innerMargin * 2 + qMax(iconSize, textLinesCount * styleOption.fontMetrics.height());
break;
itemHeight = innerMargin * 2 + qMax(iconSize, styleOption.fontMetrics.height());
break;
}
- default: Q_ASSERT(false); break;
+ default:
+ itemWidth = -1;
+ itemHeight = -1;
+ Q_ASSERT(false);
+ break;
}
// Apply the calculated values
case KFileItemListView::IconsLayout: mode = ViewModeSettings::IconsMode; break;
case KFileItemListView::CompactLayout: mode = ViewModeSettings::CompactMode; break;
case KFileItemListView::DetailsLayout: mode = ViewModeSettings::DetailsMode; break;
- default: Q_ASSERT(false); break;
+ default: mode = ViewModeSettings::IconsMode;
+ Q_ASSERT(false);
+ break;
}
return mode;