23 setSelectionMode(QAbstractItemView::SingleSelection);
24 verticalHeader()->hide();
25 horizontalHeader()->hide();
26 verticalHeader()->setDefaultSectionSize(20);
27 setContextMenuPolicy(Qt::DefaultContextMenu);
40 if (!model())
return true;
42 if (event->type() == QEvent::ToolTip) {
43 QHelpEvent *he =
static_cast<QHelpEvent *
>(event);
44#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
45 QStyleOptionViewItem option = viewOptions();
47 QStyleOptionViewItem option;
48 initViewItemOption(&option);
50 QModelIndex index = model()->buddy(indexAt(he->pos()));
51 if (index.isValid()) {
52 option.rect = visualRect(index);
58 return QTableView::viewportEvent(event);
63 if (selected.isEmpty()) {
74 QTableView::mousePressEvent(event);
87 QTableView::contextMenuEvent(event);
93 QTableView::resizeEvent(event);
104 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
105 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
108 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
109 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
112 setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
113 setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
120 if (!model())
return;
122 int columnCount = model()->columnCount(QModelIndex());
123 int rowCount = model()->rowCount(QModelIndex());
124 int rowHeight, columnWidth;
127 columnWidth = qFloor(viewport()->size().width() /
static_cast<double>(columnCount));
129 for (
int i = 0; i < columnCount; ++i) {
130 setColumnWidth(i, columnWidth);
133 if (columnCount > 1) {
134 for (
int i = 0; i < rowCount; ++i) {
135 setRowHeight(i, columnWidth);
139 if (rowCount == 0)
return;
140 rowHeight = qFloor(viewport()->size().height() /
static_cast<double>(rowCount));
142 for (
int i = 0; i < rowCount; ++i) {
143 setRowHeight(i, rowHeight);
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
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