Skip to content

Commit 4646cee

Browse files
committed
Fix single selection and view scrolling in atlas view when zoomed
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
1 parent 85752ea commit 4646cee

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/tiled/tilesetview.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ void TilesetView::paintEvent(QPaintEvent *event)
899899
for (Tile *tile : model->tileset()->tiles()) {
900900
const QRect rect = tileToView(tile->imageRect());
901901
const QModelIndex index = model->tileIndex(tile);
902-
const bool selected = s->isSelected(index);
902+
const bool selected = s->isSelected(index) || index == s->currentIndex();
903903
delegate->paintTile(&painter, model, tile, rect, palette().highlight(), selected, mHoveredIndex == index);
904904

905905
if (mDrawGrid) {
@@ -935,6 +935,14 @@ QModelIndex TilesetView::indexAt(const QPoint &pos) const
935935
return QTableView::indexAt(pos);
936936
}
937937

938+
void TilesetView::scrollTo(const QModelIndex &index, ScrollHint hint)
939+
{
940+
if (!tilesetModel() || !tilesetModel()->tileset()->isAtlas() || dynamicWrapping()) {
941+
QTableView::scrollTo(index, hint);
942+
return;
943+
}
944+
}
945+
938946
void TilesetView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
939947
{
940948
if (!tilesetModel() || !tilesetModel()->tileset()->isAtlas() || dynamicWrapping()) {

src/tiled/tilesetview.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ class TilesetView : public QTableView
119119
void resizeEvent(QResizeEvent *event) override;
120120
void paintEvent(QPaintEvent *event) override;
121121
QModelIndex indexAt(const QPoint &pos) const override;
122+
void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
122123
void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override;
123124
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override;
124125
QRect visualRect(const QModelIndex &index) const override;

0 commit comments

Comments
 (0)