digiKam
Loading...
Searching...
No Matches
importcontextmenu.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 : 2012-07-13
7 * Description : Modified context menu helper for import tool
8 *
9 * SPDX-FileCopyrightText: 2012 by Islam Wazery <wazery at ubuntu dot com>
10 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QMenu>
21
22// Local includes
23
24#include "digikam_config.h"
25#include "camiteminfo.h"
26#include "importfiltermodel.h"
27
28class QAction;
29
30class KActionCollection;
31
32namespace Digikam
33{
34
35class ImportContextMenuHelper : public QObject
36{
37 Q_OBJECT
38
39public:
40
41 typedef const QList<qlonglong> itemIds;
42
43Q_SIGNALS:
44
45/*
46 void signalAssignTag(int);
47 void signalRemoveTag(int);
48 void signalPopupTagsView();
49*/
53 void signalAddNewTagFromABCMenu(const QString&);
54/*
55 TODO
56 void signalCreateGroup();
57 void signalUngroup();
58 void signalRemoveFromGroup();
59*/
60public:
61
69 explicit ImportContextMenuHelper(QMenu* const parent, KActionCollection* const actionCollection = nullptr);
70 ~ImportContextMenuHelper() override;
71
81 void addAction(const QString& name, bool addDisabled = false);
82
92 void addAction(QAction* action, bool addDisabled = false);
93
105 void addAction(QAction* action, QObject* recv, const char* slot, bool addDisabled = false);
106
116 void addServicesMenu(const QList<QUrl>& selectedItems);
117
123/*
124 TODO
125 void addActionNewTag(TagModificationHelper* helper, TAlbum* parentTag = 0);
126 void addActionDeleteTag(TagModificationHelper* helper, TAlbum* tag);
127 void addActionEditTag(TagModificationHelper* helper, TAlbum* tag);
128*/
143 void addAssignTagsMenu(itemIds& ids);
144
159 void addRemoveTagsMenu(itemIds& ids);
160
175 void addLabelsAction();
176
181 void addRotateMenu(itemIds& ids);
182
192
198
204 void addSubMenu(QMenu* subMenu);
205
209 void addSeparator();
210
221 QAction* exec(const QPoint& pos, QAction* at = nullptr);
222
223private Q_SLOTS:
224
225 void slotOpenWith();
226 void slotOpenWith(QAction* action);
227/*
228 void slotABCImportContextMenu();
229*/
230 void slotABCMenuTriggered(QAction*);
231/*
232 void slotOpenGroups();
233 void slotCloseGroups();
234 void slotOpenAllGroups();
235 void slotCloseAllGroups();
236*/
237 void slotRotate();
238
239private:
240
241 void setSelectedIds(itemIds& ids);
242 void setSelectedItems(const QList<QUrl>& urls);
243/*
244 QList<QAction*> groupMenuActions(itemIds& ids);
245*/
246 void setGroupsOpen(bool open);
247
248private:
249
250 class Private;
251 Private* const d = nullptr;
252};
253
254} // namespace Digikam
Definition importcontextmenu.h:36
void addLabelsAction()
Definition importcontextmenu.cpp:490
void addAction(const QString &name, bool addDisabled=false)
Definition importcontextmenu.cpp:138
void setImportFilterModel(ImportFilterModel *model)
Definition importcontextmenu.cpp:518
void addGroupActions(itemIds &ids)
const QList< qlonglong > itemIds
Definition importcontextmenu.h:41
void addRemoveTagsMenu(itemIds &ids)
Definition importcontextmenu.cpp:475
void signalAddNewTagFromABCMenu(const QString &)
QAction * exec(const QPoint &pos, QAction *at=nullptr)
Definition importcontextmenu.cpp:523
void addRotateMenu(itemIds &ids)
Definition importcontextmenu.cpp:411
void addAssignTagsMenu(itemIds &ids)
Definition importcontextmenu.cpp:457
~ImportContextMenuHelper() override
Definition importcontextmenu.cpp:133
void addServicesMenu(const QList< QUrl > &selectedItems)
Definition importcontextmenu.cpp:181
void addSubMenu(QMenu *subMenu)
Definition importcontextmenu.cpp:157
void addSeparator()
Definition importcontextmenu.cpp:162
void addGroupMenu(itemIds &ids)
Definition importfiltermodel.h:91
Definition datefolderview.cpp:34