m_fileItemListView->setEnabledSelectionToggles(GeneralSettings::showSelectionToggle());
controller()->setView(m_fileItemListView);
+ updateAutoActivationDelay();
updateFont();
updateGridSize();
}
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();
+ beginTransaction();
+
+ m_fileItemListView->setEnabledSelectionToggles(GeneralSettings::showSelectionToggle());
+ updateAutoActivationDelay();
updateFont();
updateGridSize();
<< "imagethumbnail"
<< "jpegthumbnail");
m_fileItemListView->setEnabledPlugins(plugins);
+
+ endTransaction();
+}
+
+void DolphinItemListContainer::writeSettings()
+{
+ IconsModeSettings::self()->writeConfig();
+ CompactModeSettings::self()->writeConfig();
+ DetailsModeSettings::self()->writeConfig();
}
void DolphinItemListContainer::updateGridSize()
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
m_fileItemListView->setStyleOption(styleOption);
}
+void DolphinItemListContainer::updateAutoActivationDelay()
+{
+ const int delay = GeneralSettings::autoExpandFolders() ? 750 : -1;
+ controller()->setAutoActivationDelay(delay);
+}
+
ViewModeSettings::ViewMode DolphinItemListContainer::viewMode() const
{
ViewModeSettings::ViewMode mode;
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;