summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-06-25 17:58:34 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-07-02 10:10:19 -0400
commitfc3ed80d0de220a1aa9d2b459785d47beea5861b (patch)
tree2e44f2457cadb16808d1ced5cfa1adc56eedcf0d /src
parentfa20f81b46c3f8c89fcbbdff6e5da0225c707358 (diff)
tooltip on images
Diffstat (limited to 'src')
-rw-r--r--src/modinfodialogimages.cpp24
-rw-r--r--src/modinfodialogimages.h2
2 files changed, 26 insertions, 0 deletions
diff --git a/src/modinfodialogimages.cpp b/src/modinfodialogimages.cpp
index deaacd14..08fd5c5b 100644
--- a/src/modinfodialogimages.cpp
+++ b/src/modinfodialogimages.cpp
@@ -314,6 +314,20 @@ void ImagesTab::thumbnailsMouseEvent(QMouseEvent* e)
select(fileAtPos(e->pos()));
}
+void ImagesTab::showTooltip(QHelpEvent* e)
+{
+ const auto* f = fileAtPos(e->pos());
+ if (!f) {
+ QToolTip::hideText();
+ e->ignore();
+ return;
+ }
+
+ QToolTip::showText(
+ e->globalPos(), QDir::toNativeSeparators(f->path),
+ ui->imagesThumbnails);
+}
+
void ImagesTab::onExplore()
{
if (!m_selection) {
@@ -412,6 +426,16 @@ void ImagesThumbnails::mousePressEvent(QMouseEvent* e)
}
}
+bool ImagesThumbnails::event(QEvent* e)
+{
+ if (e->type() == QEvent::ToolTip) {
+ m_tab->showTooltip(static_cast<QHelpEvent*>(e));
+ return true;
+ }
+
+ return QWidget::event(e);
+}
+
ScalableImage::ScalableImage(QString path)
: m_path(std::move(path)), m_border(1)
diff --git a/src/modinfodialogimages.h b/src/modinfodialogimages.h
index d90f2bfd..bd404801 100644
--- a/src/modinfodialogimages.h
+++ b/src/modinfodialogimages.h
@@ -34,6 +34,7 @@ public:
protected:
void paintEvent(QPaintEvent* e) override;
void mousePressEvent(QMouseEvent* e) override;
+ bool event(QEvent* e) override;
private:
ImagesTab* m_tab = nullptr;
@@ -118,6 +119,7 @@ private:
void scrollAreaResized(const QSize& s);
void paintThumbnails(QPaintEvent* e);
void thumbnailsMouseEvent(QMouseEvent* e);
+ void showTooltip(QHelpEvent* e);
void onExplore();
void onFilterChanged();