aboutsummaryrefslogtreecommitdiff
path: root/qdeduper/imageitem.cpp
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2022-09-22 23:45:09 -0400
committerGravatar Chris Xiong <chirs241097@gmail.com> 2022-09-22 23:45:09 -0400
commitbabdd53be8b304e2c4a8786774fea7186e8d979f (patch)
tree5e05f24775a86cca69866d9ce79ecdf34add0947 /qdeduper/imageitem.cpp
parent8ece6d3ec1b0105047c192c0aa044e4257118e01 (diff)
downloaddeduper-babdd53be8b304e2c4a8786774fea7186e8d979f.tar.xz
Add single image view.
Diffstat (limited to 'qdeduper/imageitem.cpp')
-rw-r--r--qdeduper/imageitem.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/qdeduper/imageitem.cpp b/qdeduper/imageitem.cpp
index 9ee7c6f..2958e06 100644
--- a/qdeduper/imageitem.cpp
+++ b/qdeduper/imageitem.cpp
@@ -128,15 +128,18 @@ QSize ImageItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QMod
ret.setHeight(vpsz.height() / index.model()->rowCount() - lw->spacing());
ret.setHeight(std::max(min_height + extra_height, ret.height()));
ret.setHeight(std::min(max_height + extra_height, ret.height()));
+ if (singlemode) ret.setHeight(vpsz.height());
#if DEBUGPAINT
qDebug() << "sizehint" << index.row() << ret;
#endif
return ret;
}
-void ImageItemDelegate::resize(const QModelIndex &index)
+void ImageItemDelegate::resize()
{
- Q_EMIT sizeHintChanged(index);
+ if (im)
+ for (int i = 0; i < im->rowCount(); ++i)
+ Q_EMIT sizeHintChanged(im->index(i, 0));
}
void ImageItemDelegate::setScrollbarMargins(int vw, int hh)
@@ -144,3 +147,20 @@ void ImageItemDelegate::setScrollbarMargins(int vw, int hh)
this->vw = vw;
this->hh = hh;
}
+
+void ImageItemDelegate::set_single_item_mode(bool enabled)
+{
+ if (enabled == singlemode) return;
+ singlemode = enabled;
+ resize();
+}
+
+bool ImageItemDelegate::is_single_item_mode()
+{
+ return singlemode;
+}
+
+void ImageItemDelegate::set_model(QAbstractItemModel *m)
+{
+ im = m;
+}