digiKam
Loading...
Searching...
No Matches
tagsactionmngr.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 : 2011-01-24
7 * Description : Tags Action Manager
8 *
9 * SPDX-FileCopyrightText: 2011-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 <QObject>
20#include <QWidget>
21
22class KActionCollection;
23
24namespace Digikam
25{
26
27class Album;
28class ImageTagChangeset;
29
30class TagsActionMngr : public QObject
31{
32 Q_OBJECT
33
34public:
35
36 explicit TagsActionMngr(QWidget* const parent);
37 ~TagsActionMngr() override;
38
45
53 void registerLabelsActions(KActionCollection* const ac);
54
55 void registerActionsToWidget(QWidget* const wdg);
56
60 QList<KActionCollection*> actionCollections() const;
61
66 void updateTagShortcut(int tagId, const QKeySequence& ks, bool delAction = true);
67
68 QString ratingShortcutPrefix() const;
69 QString tagShortcutPrefix() const;
70 QString pickShortcutPrefix() const;
71 QString colorShortcutPrefix() const;
72
74
75Q_SIGNALS:
76
77 void signalShortcutPressed(const QString& shortcut, int val);
78
79private Q_SLOTS:
80
84 void slotAlbumDeleted(Album*);
85
89 void slotAssignFromShortcut();
90
94 void slotTagActionChanged();
95
96private:
97
98 bool createTagActionShortcut(int tagId);
99 bool removeTagActionShortcut(int tagId, bool delAction = true);
100
101 bool createRatingActionShortcut(KActionCollection* const ac, int rating);
102 bool createPickLabelActionShortcut(KActionCollection* const ac, int pickId);
103 bool createColorLabelActionShortcut(KActionCollection* const ac, int colorId);
104
105private:
106
107 static TagsActionMngr* m_defaultManager;
108
109 class Private;
110 Private* const d = nullptr;
111};
112
113} // namespace Digikam
Abstract base class for all album types.
Definition album.h:57
Definition tagsactionmngr.h:31
QString colorShortcutPrefix() const
Definition tagsactionmngr.cpp:138
void registerActionsToWidget(QWidget *const wdg)
Definition tagsactionmngr.cpp:188
void registerTagsActionCollections()
Definition tagsactionmngr.cpp:143
static TagsActionMngr * defaultManager()
Definition tagsactionmngr.cpp:77
void updateTagShortcut(int tagId, const QKeySequence &ks, bool delAction=true)
Definition tagsactionmngr.cpp:367
QString pickShortcutPrefix() const
Definition tagsactionmngr.cpp:133
QString tagShortcutPrefix() const
Definition tagsactionmngr.cpp:128
void signalShortcutPressed(const QString &shortcut, int val)
void registerLabelsActions(KActionCollection *const ac)
Definition tagsactionmngr.cpp:164
QString ratingShortcutPrefix() const
Definition tagsactionmngr.cpp:123
QList< KActionCollection * > actionCollections() const
Definition tagsactionmngr.cpp:159
~TagsActionMngr() override
Definition tagsactionmngr.cpp:113
@ Album
Definition coredbfields.h:48
Definition datefolderview.cpp:34