digiKam
Loading...
Searching...
No Matches
bookmarksmenu.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 : 2017-05-15
7
* Description : menu to manage bookmarks
8
*
9
* SPDX-FileCopyrightText: 2017-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 <QMenu>
20
#include <QList>
21
#include <QAction>
22
#include <QWidget>
23
#include <QModelIndex>
24
#include <QAbstractItemModel>
25
26
// Local includes
27
28
#include "
bookmarksmngr.h
"
29
30
namespace
Digikam
31
{
32
36
class
ModelMenu
:
public
QMenu
37
{
38
Q_OBJECT
39
40
public
:
41
42
explicit
ModelMenu
(QWidget*
const
parent =
nullptr
);
43
~ModelMenu
()
override
;
44
45
void
setModel
(QAbstractItemModel*
model
);
46
QAbstractItemModel*
model
()
const
;
47
48
void
setMaxRows
(
int
max);
49
int
maxRows
()
const
;
50
51
void
setFirstSeparator
(
int
offset);
52
int
firstSeparator
()
const
;
53
54
void
setRootIndex
(
const
QModelIndex& index);
55
QModelIndex
rootIndex
()
const
;
56
57
void
setHoverRole
(
int
role);
58
int
hoverRole
()
const
;
59
60
void
setSeparatorRole
(
int
role);
61
int
separatorRole
()
const
;
62
63
QAction*
makeAction
(
const
QIcon& icon,
const
QString& text, QObject*
const
parent);
64
65
Q_SIGNALS:
66
67
void
activated
(
const
QModelIndex& index);
68
void
hovered
(
const
QString& text);
69
70
protected
:
71
73
virtual
bool
prePopulated
();
74
76
virtual
void
postPopulated
();
77
79
void
createMenu
(
const
QModelIndex& parent,
int
max,
80
QMenu* parentMenu =
nullptr
,
81
QMenu* menu =
nullptr
);
82
83
private
Q_SLOTS:
84
85
void
slotAboutToShow();
86
void
slotTriggered(QAction* action);
87
void
slotHovered(QAction* action);
88
89
private
:
90
91
QAction*
makeAction
(
const
QModelIndex& index);
92
93
private
:
94
95
class
Private;
96
Private*
const
d =
nullptr
;
97
};
98
99
// ---------------------------------------------------------------------------
100
104
class
BookmarksMenu
:
public
ModelMenu
105
{
106
Q_OBJECT
107
108
public
:
109
110
explicit
BookmarksMenu
(
BookmarksManager
*
const
mngr,
111
QWidget*
const
parent =
nullptr
);
112
~BookmarksMenu
()
override
;
113
114
void
setInitialActions
(
const
QList<QAction*>& actions);
115
116
Q_SIGNALS:
117
118
void
openUrl
(
const
QUrl& url);
119
120
protected
:
121
122
bool
prePopulated
()
override
;
123
124
private
Q_SLOTS:
125
126
void
slotActivated(
const
QModelIndex& index);
127
128
private
:
129
130
class
Private;
131
Private*
const
d =
nullptr
;
132
};
133
134
}
// namespace Digikam
bookmarksmngr.h
Digikam::BookmarksManager
Definition
bookmarksmngr.h:204
Digikam::BookmarksMenu
Definition
bookmarksmenu.h:105
Digikam::BookmarksMenu::setInitialActions
void setInitialActions(const QList< QAction * > &actions)
Definition
bookmarksmenu.cpp:341
Digikam::BookmarksMenu::~BookmarksMenu
~BookmarksMenu() override
Definition
bookmarksmenu.cpp:306
Digikam::BookmarksMenu::openUrl
void openUrl(const QUrl &url)
Digikam::BookmarksMenu::prePopulated
bool prePopulated() override
add any actions before the tree, return true if any actions are added.
Definition
bookmarksmenu.cpp:316
Digikam::ModelMenu
Definition
bookmarksmenu.h:37
Digikam::ModelMenu::hoverRole
int hoverRole() const
Definition
bookmarksmenu.cpp:115
Digikam::ModelMenu::makeAction
QAction * makeAction(const QIcon &icon, const QString &text, QObject *const parent)
Definition
bookmarksmenu.cpp:238
Digikam::ModelMenu::setMaxRows
void setMaxRows(int max)
Definition
bookmarksmenu.cpp:80
Digikam::ModelMenu::hovered
void hovered(const QString &text)
Digikam::ModelMenu::activated
void activated(const QModelIndex &index)
Digikam::ModelMenu::maxRows
int maxRows() const
Definition
bookmarksmenu.cpp:85
Digikam::ModelMenu::separatorRole
int separatorRole() const
Definition
bookmarksmenu.cpp:125
Digikam::ModelMenu::prePopulated
virtual bool prePopulated()
add any actions before the tree, return true if any actions are added.
Definition
bookmarksmenu.cpp:61
Digikam::ModelMenu::~ModelMenu
~ModelMenu() override
Definition
bookmarksmenu.cpp:56
Digikam::ModelMenu::setHoverRole
void setHoverRole(int role)
Definition
bookmarksmenu.cpp:110
Digikam::ModelMenu::rootIndex
QModelIndex rootIndex() const
Definition
bookmarksmenu.cpp:105
Digikam::ModelMenu::createMenu
void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu=nullptr, QMenu *menu=nullptr)
put all of the children of parent into menu up to max
Definition
bookmarksmenu.cpp:168
Digikam::ModelMenu::postPopulated
virtual void postPopulated()
add any actions after the tree
Definition
bookmarksmenu.cpp:66
Digikam::ModelMenu::setRootIndex
void setRootIndex(const QModelIndex &index)
Definition
bookmarksmenu.cpp:100
Digikam::ModelMenu::firstSeparator
int firstSeparator() const
Definition
bookmarksmenu.cpp:95
Digikam::ModelMenu::setModel
void setModel(QAbstractItemModel *model)
Definition
bookmarksmenu.cpp:70
Digikam::ModelMenu::setSeparatorRole
void setSeparatorRole(int role)
Definition
bookmarksmenu.cpp:120
Digikam::ModelMenu::model
QAbstractItemModel * model() const
Definition
bookmarksmenu.cpp:75
Digikam::ModelMenu::setFirstSeparator
void setFirstSeparator(int offset)
Definition
bookmarksmenu.cpp:90
Digikam
Definition
datefolderview.cpp:34
core
utilities
geolocation
geoiface
bookmark
bookmarksmenu.h
Generated by
1.9.8