#include "kitemlistcontroller.h"
#include "kitemlistheader.h"
#include "kitemlistselectionmanager.h"
+#include "kitemlistviewaccessible.h"
#include "kstandarditemlistwidget.h"
#include "private/kitemlistheaderwidget.h"
#include "private/kitemlistrubberband.h"
#include "private/kitemlistsizehintresolver.h"
#include "private/kitemlistviewlayouter.h"
-#include "private/kitemlistviewanimation.h"
+#include <QElapsedTimer>
#include <QGraphicsSceneMouseEvent>
#include <QGraphicsView>
-#include <QPainter>
-#include <QStyle>
#include <QStyleOptionRubberBand>
#include <QTimer>
-#include <QElapsedTimer>
-
-#include <algorithm>
-#include "kitemlistviewaccessible.h"
namespace {
// Time in ms until reaching the autoscroll margin triggers
QSizeF KItemListView::itemSizeHint() const
{
- return m_sizeHintResolver->maxSizeHint();
+ return m_sizeHintResolver->minSizeHint();
}
const KItemListStyleOption& KItemListView::styleOption() const
}
QStyleOptionRubberBand opt;
- opt.initFrom(widget);
+ initStyleOption(&opt);
opt.shape = QRubberBand::Rectangle;
opt.opaque = false;
opt.rect = rubberBandRect.toRect();
void KItemListView::setStyleOption(const KItemListStyleOption& option)
{
+ if (m_styleOption == option) {
+ return;
+ }
+
const KItemListStyleOption previousOption = m_styleOption;
m_styleOption = option;
// In SingleSelection mode (e.g., in the Places Panel), the current item is
// always the selected item. It is not necessary to highlight the current item then.
if (m_controller->selectionBehavior() != KItemListController::SingleSelection) {
- KItemListWidget* previousWidget = m_visibleItems.value(previous, 0);
+ KItemListWidget* previousWidget = m_visibleItems.value(previous, nullptr);
if (previousWidget) {
previousWidget->setCurrent(false);
}
- KItemListWidget* currentWidget = m_visibleItems.value(current, 0);
+ KItemListWidget* currentWidget = m_visibleItems.value(current, nullptr);
if (currentWidget) {
currentWidget->setCurrent(true);
}