File indexing completed on 2024-04-28 04:21:22

0001 // SPDX-FileCopyrightText: 2003-2022 Jesper K. Pedersen <blackie@kde.org>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 #ifndef MOUSETRACKINGINTERACTION_H
0006 #define MOUSETRACKINGINTERACTION_H
0007 
0008 #include "MouseInteraction.h"
0009 #include "ThumbnailComponent.h"
0010 
0011 #include <QMouseEvent>
0012 
0013 namespace DB
0014 {
0015 class FileName;
0016 }
0017 
0018 namespace ThumbnailView
0019 {
0020 
0021 class MouseTrackingInteraction : public QObject, public MouseInteraction, private ThumbnailComponent
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit MouseTrackingInteraction(ThumbnailFactory *factory);
0027     bool mouseMoveEvent(QMouseEvent *) override;
0028 
0029 Q_SIGNALS:
0030     void fileIdUnderCursorChanged(const DB::FileName &id);
0031 
0032 private:
0033     void updateStackingIndication(QMouseEvent *event);
0034     void handleCursorOverNewIcon();
0035 
0036 private:
0037     bool m_cursorWasAtStackIcon;
0038 };
0039 }
0040 
0041 #endif /* MOUSETRACKINGINTERACTION_H */
0042 
0043 // vi:expandtab:tabstop=4 shiftwidth=4: