digiKam
Loading...
Searching...
No Matches
itempropertiessidebardb.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 using data from digiKam database.
8 *
9 * SPDX-FileCopyrightText: 2004-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2007-2012 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// Qt includes
19
20#include <QUrl>
21#include <QWidget>
22#include <QRect>
23
24// Local includes
25
26#include "dimagehistory.h"
27#include "iteminfolist.h"
29#include "digikam_export.h"
30#include "digikam_config.h"
31
32namespace Digikam
33{
34
35class DImg;
36class SidebarSplitter;
37class ItemInfo;
38class ImageChangeset;
39class ItemDescEditTab;
40class ImageTagChangeset;
41class ItemPropertiesVersionsTab;
42class GPSItemInfo;
43
45{
46 Q_OBJECT
47
48public:
49
50 explicit ItemPropertiesSideBarDB(QWidget* const parent,
52 Qt::Edge side = Qt::LeftEdge,
53 bool mimimizedDefault = false);
54 ~ItemPropertiesSideBarDB() override;
55
56 void populateTags();
57 void refreshTagsView();
58
62
63 void itemChanged(const QUrl& url,
64 const QRect& rect = QRect(),
65 DImg* const img = nullptr) override;
66
67 virtual void itemChanged(const ItemInfo& info, const QRect& rect = QRect(),
68 DImg* const img = nullptr, const DImageHistory& history = DImageHistory());
69
70 virtual void itemChanged(const ItemInfoList& infos, const ItemInfoList& allInfos);
71
72
73#ifdef HAVE_GEOLOCATION
74
75 static bool GPSItemInfofromItemInfo(const ItemInfo&, GPSItemInfo* const);
76
77#endif // HAVE_GEOLOCATION
78
79Q_SIGNALS:
80
81 void signalRightSideBarBusy(bool busy);
86
87public Q_SLOTS:
88
89 void slotAssignRating(int rating);
96
97 void slotPopupTagsView();
98
99 void slotNoCurrentItem() override;
100
101private Q_SLOTS:
102
103 void slotChangedTab(QWidget* tab) override;
104 void slotFileMetadataChanged(const QUrl& url);
105 void slotImageChangeDatabase(const ImageChangeset& changeset);
106 void slotImageTagChanged(const ImageTagChangeset& changeset);
107 void slotPropertiesButtonPressed(int);
108
109private:
110
111 void changedTab(QWidget* const tab);
112 void itemChanged(const QUrl& url, const ItemInfo& info,
113 const QRect& rect, DImg* const img, const DImageHistory& history);
114 void itemChanged(const ItemInfoList& infos, const ItemInfoList& allInfos,
115 const QRect& rect, DImg* const img, const DImageHistory& history);
116 void setImagePropertiesInformation(const QUrl& url) override;
117 void setImageSelectionPropertiesInformation();
118
119protected:
120
124 void doLoadState() override;
125
129 void doSaveState() override;
130
131private:
132
133 class Private;
134 Private* const d = nullptr;
135};
136
137} // namespace Digikam
Definition dimagehistory.h:39
Definition dimg.h:52
DMultiTabBarTab * tab(int id) const
Definition sidebar_dmultitabbar.cpp:121
Definition gpsiteminfo.h:33
Definition coredbchangesets.h:38
Definition coredbchangesets.h:70
Definition itemdescedittab.h:45
Definition iteminfolist.h:37
Definition iteminfo.h:68
Definition itempropertiessidebardb.h:45
void slotAssignRatingThreeStar()
Definition itempropertiessidebardb.cpp:609
void populateTags()
Definition itempropertiessidebardb.cpp:239
void slotAssignRatingFiveStar()
Definition itempropertiessidebardb.cpp:619
void slotAssignRatingNoStar()
Definition itempropertiessidebardb.cpp:594
void slotAssignRating(int rating)
Definition itempropertiessidebardb.cpp:589
void slotAssignRatingFourStar()
Definition itempropertiessidebardb.cpp:614
ItemDescEditTab * imageDescEditTab() const
Definition itempropertiessidebardb.cpp:851
void signalRightSideBarBusy(bool busy)
void slotPopupTagsView()
Definition itempropertiessidebardb.cpp:880
void slotAssignRatingTwoStar()
Definition itempropertiessidebardb.cpp:604
void itemChanged(const QUrl &url, const QRect &rect=QRect(), DImg *const img=nullptr) override
Definition itempropertiessidebardb.cpp:143
ItemPropertiesVersionsTab * getFiltersHistoryTab() const
This is for image editor to be able to update the filter list in sidebar.
Definition itempropertiessidebardb.cpp:846
~ItemPropertiesSideBarDB() override
Definition itempropertiessidebardb.cpp:132
void doLoadState() override
Definition itempropertiessidebardb.cpp:856
void refreshTagsView()
Definition itempropertiessidebardb.cpp:624
void doSaveState() override
Definition itempropertiessidebardb.cpp:868
void slotNoCurrentItem() override
Definition itempropertiessidebardb.cpp:227
void slotAssignRatingOneStar()
Definition itempropertiessidebardb.cpp:599
Definition itempropertiessidebar.h:48
Definition itempropertiesversionstab.h:41
Definition sidebar.h:471
SidebarSplitter * splitter() const
Definition sidebar.cpp:53
Definition datefolderview.cpp:34