Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
bookmarkitem.cpp
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4
#
include
"bookmarkitem.h"
5
6
#
include
<
QtCore
/
QCoreApplication
>
7
#
include
<
QtCore
/
QDebug
>
8
9
QT_BEGIN_NAMESPACE
10
11
using
namespace
Qt::StringLiterals;
12
13
BookmarkItem
::
BookmarkItem
(
const
DataVector
&data,
BookmarkItem
*parent)
14
: m_data(data)
15
, m_parent(parent)
16
{
17
}
18
19
BookmarkItem
::~
BookmarkItem
()
20
{
21
qDeleteAll(m_children);
22
}
23
24
BookmarkItem
*
25
BookmarkItem
::
parent
()
const
26
{
27
return
m_parent;
28
}
29
30
void
31
BookmarkItem
::
setParent
(
BookmarkItem
*parent)
32
{
33
m_parent = parent;
34
}
35
36
void
37
BookmarkItem
::
addChild
(
BookmarkItem
*child)
38
{
39
child
->
setParent
(
this
)
;
40
m_children.append(child);
41
}
42
43
BookmarkItem
*
44
BookmarkItem
::
child
(
int
number)
const
45
{
46
if
(number >= 0 && number < m_children.size())
47
return
m_children[number];
48
return
nullptr
;
49
}
50
51
int
BookmarkItem
::
childCount
()
const
52
{
53
return
m_children.size();
54
}
55
56
int
BookmarkItem
::
childNumber
()
const
57
{
58
if
(m_parent)
59
return
m_parent->m_children.indexOf(
const_cast
<
BookmarkItem
*>(
this
));
60
return
0;
61
}
62
63
QVariant
64
BookmarkItem
::
data
(
int
column)
const
65
{
66
if
(column == 0)
67
return
m_data[0];
68
69
if
(column == 1 || column == UserRoleUrl)
70
return
m_data[1];
71
72
if
(column == UserRoleFolder)
73
return
m_data[1].toString() ==
"Folder"_L1
;
74
75
if
(column == UserRoleExpanded)
76
return
m_data[2];
77
78
return
QVariant();
79
}
80
81
void
82
BookmarkItem
::
setData
(
const
DataVector
&data)
83
{
84
m_data = data;
85
}
86
87
bool
88
BookmarkItem
::
setData
(
int
column,
const
QVariant &newValue)
89
{
90
int
index = -1;
91
if
(column == 0 || column == 1)
92
index = column;
93
94
if
(column ==
UserRoleUrl
|| column ==
UserRoleFolder
)
95
index = 1;
96
97
if
(column ==
UserRoleExpanded
)
98
index = 2;
99
100
if
(index < 0)
101
return
false
;
102
103
m_data[index] = newValue;
104
return
true
;
105
}
106
107
bool
108
BookmarkItem
::
insertChildren
(
bool
isFolder,
int
position,
int
count)
109
{
110
if
(position < 0 || position > m_children.size())
111
return
false
;
112
113
for
(
int
row = 0; row < count; ++row) {
114
m_children.insert(position,
new
BookmarkItem(DataVector()
115
<< (isFolder
116
? QCoreApplication::translate(
"BookmarkItem"
,
"New Folder"
)
117
: QCoreApplication::translate(
"BookmarkItem"
,
"Untitled"
))
118
<< (isFolder ?
"Folder"
:
"about:blank"
) <<
false
,
this
));
119
}
120
121
return
true
;
122
}
123
124
bool
125
BookmarkItem
::
removeChildren
(
int
position,
int
count)
126
{
127
if
(position < 0 || position > m_children.size())
128
return
false
;
129
130
for
(
int
row = 0; row < count; ++row)
131
delete
m_children.takeAt(position);
132
133
return
true
;
134
}
135
136
void
137
BookmarkItem
::
dumpTree
(
int
indent)
const
138
{
139
const
QString tree(indent,
' '
);
140
qDebug() << tree + (data(UserRoleFolder).toBool() ?
"Folder"
:
"Bookmark"
)
141
<<
"Label:"
<< data(0).toString() <<
"parent:"
<< m_parent <<
"this:"
142
<<
this
;
143
144
for
(BookmarkItem *item : m_children)
145
item->dumpTree(indent + 4);
146
}
147
148
QT_END_NAMESPACE
DataVector
QList< QVariant > DataVector
Definition
bookmarkitem.h:18
UserRoleExpanded
@ UserRoleExpanded
Definition
bookmarkitem.h:15
UserRoleFolder
@ UserRoleFolder
Definition
bookmarkitem.h:14
UserRoleUrl
@ UserRoleUrl
Definition
bookmarkitem.h:13
BookmarkItem
Definition
bookmarkitem.h:21
BookmarkItem::data
QVariant data(int column) const
Definition
bookmarkitem.cpp:64
BookmarkItem::child
BookmarkItem * child(int number) const
Definition
bookmarkitem.cpp:44
BookmarkItem::insertChildren
bool insertChildren(bool isFolder, int position, int count)
Definition
bookmarkitem.cpp:108
BookmarkItem::addChild
void addChild(BookmarkItem *child)
Definition
bookmarkitem.cpp:37
BookmarkItem::setParent
void setParent(BookmarkItem *parent)
Definition
bookmarkitem.cpp:31
BookmarkItem::setData
bool setData(int column, const QVariant &value)
Definition
bookmarkitem.cpp:88
BookmarkItem::removeChildren
bool removeChildren(int position, int count)
Definition
bookmarkitem.cpp:125
BookmarkItem::childCount
int childCount() const
Definition
bookmarkitem.cpp:51
BookmarkItem::parent
BookmarkItem * parent() const
Definition
bookmarkitem.cpp:25
BookmarkItem::setData
void setData(const DataVector &data)
Definition
bookmarkitem.cpp:82
BookmarkItem::BookmarkItem
BookmarkItem(const DataVector &data, BookmarkItem *parent=nullptr)
Definition
bookmarkitem.cpp:13
BookmarkItem::childNumber
int childNumber() const
Definition
bookmarkitem.cpp:56
BookmarkItem::~BookmarkItem
~BookmarkItem()
Definition
bookmarkitem.cpp:19
BookmarkItem::dumpTree
void dumpTree(int indent) const
Definition
bookmarkitem.cpp:137
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qttools
src
assistant
assistant
bookmarkitem.cpp
Generated on
for Qt by
1.18.0