digiKam
Loading...
Searching...
No Matches
showfotoitemviewdelegate.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2013-08-01
7 * Description : Qt model view for Showfoto item - the delegate
8 *
9 * SPDX-FileCopyrightText: 2013 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Local includes
18
19#include "thumbnailsize.h"
20#include "ditemdelegate.h"
21#include "itemdelegateoverlay.h"
22
23using namespace Digikam;
24
25namespace ShowFoto
26{
27
28class ShowfotoFilterModel;
29class ShowfotoItemModel;
30class ShowfotoItemViewDelegatePrivate;
31
34{
35 Q_OBJECT
36
37public:
38
39 explicit ShowfotoItemViewDelegate(QWidget* const parent);
41
43 double displayRatio() const;
44 int spacing() const;
45 QRect rect() const;
46
47 QSize sizeHint(const QStyleOptionViewItem& option,
48 const QModelIndex& index) const override;
49 QSize gridSize() const override;
50
52 void setThumbnailSize(const ThumbnailSize& thumbSize) override;
53 void setSpacing(int spacing) override;
54 void setDefaultViewOptions(const QStyleOptionViewItem& option) override;
55 bool acceptsToolTip(const QPoint& pos, const QRect& visualRect,
56 const QModelIndex& index, QRect* tooltipRect = nullptr) const override;
57 bool acceptsActivation(const QPoint& pos, const QRect& visualRect,
58 const QModelIndex& index, QRect* activationRect = nullptr) const override;
59
64 virtual QRect pixmapRect() const;
65
73 virtual QRect imageInformationRect() const;
74
75 void mouseMoved(QMouseEvent* e, const QRect& visualRect, const QModelIndex& index) override;
76
77protected Q_SLOTS:
78
79 void slotThemeChanged();
80 void slotSetupChanged();
81
82 void overlayDestroyed(QObject* o) override;
83
84Q_SIGNALS:
85
86 void requestNotification(const QModelIndex& index, const QString& message);
88
89protected:
90
92 QRect drawThumbnail(QPainter* p, const QRect& thumbRect,
93 const QPixmap& background, const QPixmap& thumbnail) const;
94 void drawName(QPainter* p,const QRect& nameRect, const QString& name) const;
95 void drawCreationDate(QPainter* p, const QRect& dateRect, const QDateTime& date) const;
96 void drawImageSize(QPainter* p, const QRect& dimsRect, const QSize& dims) const;
97 void drawImageFormat(QPainter* p, const QRect& dimsRect, const QString& mime) const;
98 void drawFileSize(QPainter* p, const QRect& r, qlonglong bytes) const;
99 void drawGeolocationIndicator(QPainter* p, const QRect& r) const;
100 void drawFocusRect(QPainter* p, const QStyleOptionViewItem& option,
101 bool isSelected) const;
102 void drawMouseOverRect(QPainter* p, const QStyleOptionViewItem& option) const;
103 void prepareFonts();
104 void prepareMetrics(int maxWidth);
105 void prepareBackground();
106
107 QAbstractItemDelegate* asDelegate() override;
108
110 virtual void invalidatePaintingCache();
111 virtual void updateSizeRectsAndPixmaps() = 0;
112
113protected:
114
116
117protected:
118
120
121private:
122
123 // Disable.
125 ShowfotoItemViewDelegate& operator=(const ShowfotoItemViewDelegate&) = delete;
126
127private:
128
129 Q_DECLARE_PRIVATE(ShowfotoItemViewDelegate)
130};
131
132} // namespace ShowFoto
Definition ditemdelegate.h:33
Definition itemdelegateoverlay.h:323
Definition thumbnailsize.h:32
Definition showfotoitemviewdelegate_p.h:48
Definition showfotoitemviewdelegate.h:34
void drawImageFormat(QPainter *p, const QRect &dimsRect, const QString &mime) const
Definition showfotoitemviewdelegate.cpp:257
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
Definition showfotoitemviewdelegate.cpp:121
void prepareBackground()
Definition showfotoitemviewdelegate.cpp:402
void setThumbnailSize(const ThumbnailSize &thumbSize) override
reimplemented from DItemDelegate
Definition showfotoitemviewdelegate.cpp:73
void drawFocusRect(QPainter *p, const QStyleOptionViewItem &option, bool isSelected) const
Definition showfotoitemviewdelegate.cpp:335
QSize gridSize() const override
Definition showfotoitemviewdelegate.cpp:128
virtual QRect pixmapRect() const
Definition showfotoitemviewdelegate.cpp:111
void drawCreationDate(QPainter *p, const QRect &dateRect, const QDateTime &date) const
Definition showfotoitemviewdelegate.cpp:247
void requestNotification(const QModelIndex &index, const QString &message)
bool acceptsToolTip(const QPoint &pos, const QRect &visualRect, const QModelIndex &index, QRect *tooltipRect=nullptr) const override
Definition showfotoitemviewdelegate.cpp:135
void overlayDestroyed(QObject *o) override
Definition showfotoitemviewdelegate.cpp:160
void slotSetupChanged()
Definition showfotoitemviewdelegate.cpp:185
~ShowfotoItemViewDelegate() override
Definition showfotoitemviewdelegate.cpp:51
ShowfotoItemViewDelegatePrivate *const d_ptr
Definition showfotoitemviewdelegate.h:115
void drawImageSize(QPainter *p, const QRect &dimsRect, const QSize &dims) const
Definition showfotoitemviewdelegate.cpp:303
void mouseMoved(QMouseEvent *e, const QRect &visualRect, const QModelIndex &index) override
Definition showfotoitemviewdelegate.cpp:165
QRect drawThumbnail(QPainter *p, const QRect &thumbRect, const QPixmap &background, const QPixmap &thumbnail) const
Use the tool methods for painting in subclasses.
Definition showfotoitemviewdelegate.cpp:208
void drawName(QPainter *p, const QRect &nameRect, const QString &name) const
Definition showfotoitemviewdelegate.cpp:239
bool acceptsActivation(const QPoint &pos, const QRect &visualRect, const QModelIndex &index, QRect *activationRect=nullptr) const override
Definition showfotoitemviewdelegate.cpp:145
void drawGeolocationIndicator(QPainter *p, const QRect &r) const
Definition showfotoitemviewdelegate.cpp:287
QRect rect() const
Definition showfotoitemviewdelegate.cpp:104
void slotThemeChanged()
Definition showfotoitemviewdelegate.cpp:180
void prepareFonts()
Definition showfotoitemviewdelegate.cpp:360
void drawMouseOverRect(QPainter *p, const QStyleOptionViewItem &option) const
Definition showfotoitemviewdelegate.cpp:349
double displayRatio() const
Definition showfotoitemviewdelegate.cpp:66
int spacing() const
Definition showfotoitemviewdelegate.cpp:97
virtual QRect imageInformationRect() const
Definition showfotoitemviewdelegate.cpp:116
virtual void invalidatePaintingCache()
reimplement these in subclasses
Definition showfotoitemviewdelegate.cpp:190
ThumbnailSize thumbnailSize() const
Definition showfotoitemviewdelegate.cpp:59
void setDefaultViewOptions(const QStyleOptionViewItem &option) override
Definition showfotoitemviewdelegate.cpp:172
QAbstractItemDelegate * asDelegate() override
Returns the delegate, typically, the derived class.
Definition showfotoitemviewdelegate.cpp:155
void setSpacing(int spacing) override
Definition showfotoitemviewdelegate.cpp:84
virtual void updateSizeRectsAndPixmaps()=0
void prepareMetrics(int maxWidth)
Definition showfotoitemviewdelegate.cpp:384
void drawFileSize(QPainter *p, const QRect &r, qlonglong bytes) const
Definition showfotoitemviewdelegate.cpp:327
Definition datefolderview.cpp:34
Definition showfotofolderviewbar.cpp:43