24 setSelectionMode(QAbstractItemView::SingleSelection);
25 verticalHeader()->hide();
26 horizontalHeader()->hide();
27 verticalHeader()->setDefaultSectionSize(20);
28 setContextMenuPolicy(Qt::DefaultContextMenu);
33 connect(scroller, SIGNAL(stateChanged(QScroller::State)),
this, SLOT(
slotScrollerStateChange(QScroller::State)));
36 connect(
this, SIGNAL(clicked(QModelIndex)), SLOT(
slotItemClicked(QModelIndex)));
41 if (!model())
return true;
43 if (event->type() == QEvent::ToolTip) {
44 QHelpEvent *he =
static_cast<QHelpEvent *
>(event);
45#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
46 QStyleOptionViewItem option = viewOptions();
48 QStyleOptionViewItem option;
49 initViewItemOption(&option);
51 QModelIndex index = model()->buddy(indexAt(he->pos()));
52 if (index.isValid()) {
53 option.rect = visualRect(index);
59 return QTableView::viewportEvent(event);
64 if (selected.isEmpty()) {
75 QTableView::mousePressEvent(event);
88 QTableView::contextMenuEvent(event);
94 QTableView::resizeEvent(event);
105 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
106 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
109 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
110 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
113 setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
114 setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
121 if (!model())
return;
123 int columnCount = model()->columnCount(QModelIndex());
124 int rowCount = model()->rowCount(QModelIndex());
125 int rowHeight, columnWidth;
128 columnWidth = qFloor(viewport()->size().width() /
static_cast<double>(columnCount));
130 for (
int i = 0; i < columnCount; ++i) {
131 setColumnWidth(i, columnWidth);
134 if (columnCount > 1) {
135 for (
int i = 0; i < rowCount; ++i) {
136 setRowHeight(i, columnWidth);
140 if (rowCount == 0)
return;
141 rowHeight = qFloor(viewport()->size().height() /
static_cast<double>(rowCount));
143 for (
int i = 0; i < rowCount; ++i) {
144 setRowHeight(i, rowHeight);
void slotItemClicked(const QModelIndex &index)
void setViewMode(ViewMode mode)
QModelIndex m_beforeClickIndex
void currentResourceClicked(const QModelIndex &)
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
void currentResourceChanged(const QModelIndex &)
void mousePressEvent(QMouseEvent *event) override
void contextMenuRequested(const QPoint &)
@ FIXED_ROWS
The number of columns is fixed.
bool viewportEvent(QEvent *event) override
void slotScrollerStateChange(QScroller::State state)
KisResourceItemView(QWidget *parent=0)
void contextMenuEvent(QContextMenuEvent *event) override
void resizeEvent(QResizeEvent *event) override