digiKam
Loading...
Searching...
No Matches
lighttablethumbbar.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 : 2007-04-11
7 * Description : light table thumbs bar
8 *
9 * SPDX-FileCopyrightText: 2007-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// Local includes
18
19#include "itemthumbnailbar.h"
20#include "iteminfo.h"
21#include "itemlistmodel.h"
22
23namespace Digikam
24{
25
27{
28 Q_OBJECT
29
30public:
31
32 explicit LightTableThumbBar(QWidget* const parent);
33 ~LightTableThumbBar() override;
34
35 void clear();
36
37 void setItems(const ItemInfoList& list);
38 void setOnLeftPanel(const ItemInfo& info);
39 void setOnRightPanel(const ItemInfo& info);
40 void setNavigateByPair(bool b);
41
42 void removeItemByInfo(const ItemInfo& info);
43 void toggleTag(int tagID);
44
45 bool isOnLeftPanel(const ItemInfo& info) const;
46 bool isOnRightPanel(const ItemInfo& info) const;
47 int countItems() const;
48 QModelIndex findItemByInfo(const ItemInfo& info) const;
49 ItemInfo findItemByIndex(const QModelIndex& index) const;
50
51Q_SIGNALS:
52
57 void signalDroppedItems(const QList<ItemInfo>&);
60
61public Q_SLOTS:
62
63 void slotAssignPickLabel(int);
64 void slotAssignColorLabel(int);
65 void slotAssignRating(int);
66 void slotRatingChanged(const QUrl&, int);
67 void slotColorLabelChanged(const QUrl&, int);
68 void slotPickLabelChanged(const QUrl&, int);
69 void slotToggleTag(const QUrl&, int);
70 void slotDockLocationChanged(Qt::DockWidgetArea area);
71
72private:
73
74 void paintEvent(QPaintEvent*) override;
75 void showContextMenuOnInfo(QContextMenuEvent* e, const ItemInfo& info) override;
76 void assignPickLabel(const ItemInfo& info, int pickId);
77 void assignColorLabel(const ItemInfo& info, int colorId);
78 void assignRating(const ItemInfo& info, int rating);
79 void toggleTag(const ItemInfo& info, int tagID);
80
81private Q_SLOTS:
82
83 void slotSetupChanged() override;
84
85private:
86
87 // Disable
89 LightTableThumbBar& operator=(const LightTableThumbBar&) = delete;
90
91private:
92
93 class Private;
94 Private* const d = nullptr;
95};
96
97} // namespace Digikam
Definition iteminfolist.h:37
Definition iteminfo.h:68
Definition itemthumbnailbar.h:28
Definition lighttablethumbbar.h:27
bool isOnLeftPanel(const ItemInfo &info) const
Definition lighttablethumbbar.cpp:416
void slotAssignPickLabel(int)
Definition lighttablethumbbar.cpp:335
void removeItemByInfo(const ItemInfo &info)
Definition lighttablethumbbar.cpp:446
QModelIndex findItemByInfo(const ItemInfo &info) const
Definition lighttablethumbbar.cpp:426
void setOnRightPanel(const ItemInfo &info)
Definition lighttablethumbbar.cpp:406
void setNavigateByPair(bool b)
Definition lighttablethumbbar.cpp:253
bool isOnRightPanel(const ItemInfo &info) const
Definition lighttablethumbbar.cpp:421
void slotPickLabelChanged(const QUrl &, int)
Definition lighttablethumbbar.cpp:330
void signalSetItemOnLeftPanel(const ItemInfo &)
void setOnLeftPanel(const ItemInfo &info)
Definition lighttablethumbbar.cpp:396
void signalRemoveItem(const ItemInfo &)
ItemInfo findItemByIndex(const QModelIndex &index) const
Definition lighttablethumbbar.cpp:436
void signalSetItemOnRightPanel(const ItemInfo &)
void slotAssignRating(int)
Definition lighttablethumbbar.cpp:350
void slotAssignColorLabel(int)
Definition lighttablethumbbar.cpp:340
void slotToggleTag(const QUrl &, int)
Definition lighttablethumbbar.cpp:371
void toggleTag(int tagID)
Definition lighttablethumbbar.cpp:376
void clear()
Definition lighttablethumbbar.cpp:246
void slotRatingChanged(const QUrl &, int)
Definition lighttablethumbbar.cpp:345
void setItems(const ItemInfoList &list)
Definition lighttablethumbbar.cpp:215
void signalEditItem(const ItemInfo &)
int countItems() const
Definition lighttablethumbbar.cpp:456
void slotDockLocationChanged(Qt::DockWidgetArea area)
Definition lighttablethumbbar.cpp:226
~LightTableThumbBar() override
Definition lighttablethumbbar.cpp:210
void slotColorLabelChanged(const QUrl &, int)
Definition lighttablethumbbar.cpp:325
void signalDroppedItems(const QList< ItemInfo > &)
Definition datefolderview.cpp:34