digiKam
Loading...
Searching...
No Matches
itempropertiessidebar.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 : 2004-11-17
7 * Description : item properties side bar (without support of digiKam database).
8 *
9 * SPDX-FileCopyrightText: 2004-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QUrl>
20#include <QWidget>
21#include <QRect>
22#include <QStackedWidget>
23
24// Local includes
25
26#include "digikam_config.h"
27#include "sidebar.h"
28#include "digikam_export.h"
29#include "searchtextbar.h"
30
31namespace Digikam
32{
33
34class DImg;
35class SidebarSplitter;
36class ItemPropertiesTab;
37class ItemSelectionPropertiesTab;
38class ItemPropertiesMetadataTab;
39class ItemPropertiesColorsTab;
40
41#ifdef HAVE_GEOLOCATION
42
43class ItemPropertiesGPSTab;
44
45#endif // HAVE_GEOLOCATION
46
47class DIGIKAM_EXPORT ItemPropertiesSideBar : public Sidebar
48{
49 Q_OBJECT
50
51public:
52 explicit ItemPropertiesSideBar(QWidget* const parent,
53 SidebarSplitter* const splitter,
54 Qt::Edge side = Qt::LeftEdge,
55 bool mimimizedDefault = false);
56 ~ItemPropertiesSideBar() override = default;
57
58 virtual void itemChanged(const QUrl& url, const QRect& rect = QRect(), DImg* const img = nullptr);
59
60Q_SIGNALS:
61
64
65public Q_SLOTS:
66
67 void slotLoadMetadataFilters();
68 void slotImageSelectionChanged(const QRect& rect);
69 virtual void slotNoCurrentItem();
70
71protected Q_SLOTS:
72
73 virtual void slotChangedTab(QWidget* tab);
74
75protected:
76
80 void doLoadState() override;
81
85 void doSaveState() override;
86
87 virtual void setImagePropertiesInformation(const QUrl& url);
88
89protected:
90
91 bool m_dirtyPropertiesTab = false;
92 bool m_dirtyMetadataTab = false;
93 bool m_dirtyColorTab = false;
94 bool m_dirtyGpsTab = false;
95 bool m_dirtyHistoryTab = false;
96
98
100
101 DImg* m_image = nullptr;
102
103 QStackedWidget* m_propertiesStackedView = nullptr;
104
105 ItemPropertiesTab* m_propertiesTab = nullptr;
106 ItemSelectionPropertiesTab* m_selectionPropertiesTab = nullptr;
107 ItemPropertiesMetadataTab* m_metadataTab = nullptr;
108 ItemPropertiesColorsTab* m_colorTab = nullptr;
109
110#ifdef HAVE_GEOLOCATION
111
112 ItemPropertiesGPSTab* m_gpsTab = nullptr;
113
114#endif // HAVE_GEOLOCATION
115
116};
117
118} // namespace Digikam
Definition dimg.h:52
Definition itempropertiescolorstab.h:39
Definition itempropertiesgpstab.h:33
Definition itempropertiesmetadatatab.h:32
Definition itempropertiessidebar.h:48
~ItemPropertiesSideBar() override=default
QRect m_currentRect
Definition itempropertiessidebar.h:97
QUrl m_currentURL
Definition itempropertiessidebar.h:99
Definition itempropertiestab.h:34
Definition itemselectionpropertiestab.h:32
Definition sidebar.h:471
Definition sidebar.h:324
Definition datefolderview.cpp:34