- connect(model, SIGNAL(loadingCompleted()), this, SLOT(slotLoadingCompleted()), Qt::QueuedConnection);
-
- KItemListContainer* container = new KItemListContainer(this);
- m_controller = container->controller();
- m_controller->setView(view);
- m_controller->setModel(model);
-
- // TODO: Check whether it makes sense to make an explicit API for KItemListContainer
- // to make the background transparent.
- container->setFrameShape(QFrame::NoFrame);
- QGraphicsView* graphicsView = qobject_cast<QGraphicsView*>(container->viewport());
- if (graphicsView) {
- // Make the background of the container transparent and apply the window-text color
- // to the text color, so that enough contrast is given for all color
- // schemes
- QPalette p = graphicsView->palette();
- p.setColor(QPalette::Active, QPalette::Text, p.color(QPalette::Active, QPalette::WindowText));
- p.setColor(QPalette::Inactive, QPalette::Text, p.color(QPalette::Inactive, QPalette::WindowText));
- p.setColor(QPalette::Disabled, QPalette::Text, p.color(QPalette::Disabled, QPalette::WindowText));
- graphicsView->setPalette(p);
- graphicsView->viewport()->setAutoFillBackground(false);
- }
-
- QVBoxLayout* layout = new QVBoxLayout(this);
- layout->setMargin(0);
+ connect(m_model, &KFileItemModel::directoryLoadingCompleted, this, &FoldersPanel::slotLoadingCompleted, Qt::QueuedConnection);
+
+ m_controller = new KItemListController(m_model, view, this);
+ m_controller->setSelectionBehavior(KItemListController::SingleSelection);
+ m_controller->setAutoActivationBehavior(KItemListController::ExpansionOnly);
+ m_controller->setMouseDoubleClickAction(KItemListController::ActivateAndExpandItem);
+ m_controller->setAutoActivationDelay(750);
+ m_controller->setSingleClickActivationEnforced(true);
+
+ connect(m_controller, &KItemListController::itemActivated, this, &FoldersPanel::slotItemActivated);
+ connect(m_controller, &KItemListController::itemMiddleClicked, this, &FoldersPanel::slotItemMiddleClicked);
+ connect(m_controller, &KItemListController::itemContextMenuRequested, this, &FoldersPanel::slotItemContextMenuRequested);
+ connect(m_controller, &KItemListController::viewContextMenuRequested, this, &FoldersPanel::slotViewContextMenuRequested);
+ connect(m_controller, &KItemListController::itemDropEvent, this, &FoldersPanel::slotItemDropEvent);
+
+ KItemListContainer *container = new KItemListContainer(m_controller, this);
+#ifndef QT_NO_ACCESSIBILITY
+ view->setAccessibleParentsObject(container);
+#endif
+ container->setEnabledFrame(false);
+
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ layout->setContentsMargins(0, 0, 0, 0);