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: