digiKam
Loading...
Searching...
No Matches
versionsoverlays.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 : 2010-12-26
7 * Description : images versions tree view overlays
8 *
9 * SPDX-FileCopyrightText: 2010 by Martin Klapetek <martin dot klapetek at gmail dot com>
10 * SPDX-FileCopyrightText: 2010 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18#include <QString>
19#include <QIcon>
20
21// Local includes
22
23#include "digikam_export.h"
24#include "itemdelegateoverlay.h"
25#include "itemfiltersettings.h"
26
27namespace Digikam
28{
29
30class ItemInfo;
31class ItemModel;
32class VersionManagerSettings;
33
35{
36 Q_OBJECT
37
38public:
39
40 explicit ShowHideVersionsOverlay(QObject* const parent);
41 void setActive(bool active) override;
42
43 void setSettings(const VersionManagerSettings& settings);
44
45protected:
46
48 void updateButton(const QModelIndex& index) override;
49 bool checkIndex(const QModelIndex& index) const override;
50
51protected Q_SLOTS:
52
53 void slotClicked(bool checked);
54
55protected:
56
58 class Button;
59};
60
61// -------------------------------------------------------------------
62
64{
65 Q_OBJECT
66
67public:
68
69 explicit ActionVersionsOverlay(QObject* const parent,
70 const QIcon& icon,
71 const QString& text,
72 const QString& tip = QString());
73 void setActive(bool active) override;
74
75 void setReferenceModel(const ItemModel* model);
76
77Q_SIGNALS:
78
79 void activated(const ItemInfo& info);
80
81protected:
82
84 void updateButton(const QModelIndex& index) override;
85 bool checkIndex(const QModelIndex& index) const override;
86
87protected Q_SLOTS:
88
89 void slotClicked(bool checked);
90
91protected:
92
93 class Button;
94 Button* button() const;
95
96protected:
97
98 QIcon m_icon;
99 QString m_text;
100 QString m_tip;
101 const ItemModel* m_referenceModel = nullptr;
102};
103
104} // namespace Digikam
Definition versionsoverlays.h:64
void setActive(bool active) override
Definition versionsoverlays.cpp:219
void setReferenceModel(const ItemModel *model)
Definition versionsoverlays.cpp:214
const ItemModel * m_referenceModel
Definition versionsoverlays.h:101
void activated(const ItemInfo &info)
Button * button() const
Definition versionsoverlays.cpp:209
void updateButton(const QModelIndex &index) override
Definition versionsoverlays.cpp:239
QString m_text
Definition versionsoverlays.h:99
ItemViewHoverButton * createButton() override
Definition versionsoverlays.cpp:234
QString m_tip
Definition versionsoverlays.h:100
bool checkIndex(const QModelIndex &index) const override
Definition versionsoverlays.cpp:262
void slotClicked(bool checked)
Definition versionsoverlays.cpp:250
QIcon m_icon
Definition versionsoverlays.h:98
Definition itemdelegateoverlay.h:215
Definition iteminfo.h:68
Definition itemmodel.h:44
Definition itemviewhoverbutton.h:32
Definition versionsoverlays.h:35
ItemViewHoverButton * createButton() override
Definition versionsoverlays.cpp:102
VersionItemFilterSettings m_filter
Definition versionsoverlays.h:57
bool checkIndex(const QModelIndex &index) const override
Definition versionsoverlays.cpp:141
void updateButton(const QModelIndex &index) override
Definition versionsoverlays.cpp:107
void slotClicked(bool checked)
Definition versionsoverlays.cpp:121
void setActive(bool active) override
Definition versionsoverlays.cpp:87
void setSettings(const VersionManagerSettings &settings)
Definition versionsoverlays.cpp:82
Definition itemfiltersettings.h:256
Definition versionmanagersettings.h:33
Definition datefolderview.cpp:34