+ setSpacing(KDialog::spacingHint());
+ setMouseTracking(true);
+ viewport()->setAttribute(Qt::WA_Hover);
+
+ if (KGlobalSettings::singleClick()) {
+ connect(this, SIGNAL(clicked(const QModelIndex&)),
+ controller, SLOT(triggerItem(const QModelIndex&)));
+ } else {
+ connect(this, SIGNAL(doubleClicked(const QModelIndex&)),
+ controller, SLOT(triggerItem(const QModelIndex&)));
+ }
+ connect(this, SIGNAL(entered(const QModelIndex&)),
+ controller, SLOT(emitItemEntered(const QModelIndex&)));
+ connect(this, SIGNAL(viewportEntered()),
+ controller, SLOT(emitViewportEntered()));
+ connect(controller, SIGNAL(showPreviewChanged(bool)),
+ this, SLOT(slotShowPreviewChanged(bool)));
+ connect(controller, SIGNAL(showAdditionalInfoChanged(bool)),
+ this, SLOT(slotShowAdditionalInfoChanged(bool)));
+ connect(controller, SIGNAL(zoomIn()),
+ this, SLOT(zoomIn()));
+ connect(controller, SIGNAL(zoomOut()),
+ this, SLOT(zoomOut()));
+
+ // apply the icons mode settings to the widget
+ const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();
+ Q_ASSERT(settings != 0);
+
+ m_viewOptions = KCategorizedView::viewOptions();
+ m_viewOptions.showDecorationSelected = true;
+
+ QFont font(settings->fontFamily(), settings->fontSize());
+ font.setItalic(settings->italicFont());
+ font.setBold(settings->boldFont());
+ m_viewOptions.font = font;
+
+ setWordWrap(settings->numberOfTextlines() > 1);
+ updateGridSize(controller->showPreview(), controller->showAdditionalInfo());
+
+ if (settings->arrangement() == QListView::TopToBottom) {
+ setFlow(QListView::LeftToRight);
+ m_viewOptions.decorationPosition = QStyleOptionViewItem::Top;
+ } else {
+ setFlow(QListView::TopToBottom);
+ m_viewOptions.decorationPosition = QStyleOptionViewItem::Left;
+ m_viewOptions.displayAlignment = Qt::AlignLeft | Qt::AlignVCenter;
+ }