MCPcopy Create free account
hub / github.com/KDAB/GammaRay / data

Method data

plugins/network/networkreplymodel.cpp:130–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128}
129
130QVariant NetworkReplyModel::data(const QModelIndex &index, int role) const
131{
132 if (!index.isValid()) {
133 return {};
134 }
135
136 // top-level
137 if (index.internalId() == TopIndex) {
138 const auto &nam = m_nodes[index.row()];
139 if (index.column() == NetworkReplyModelColumn::ObjectColumn && role == Qt::DisplayRole) {
140 return nam.displayName;
141 } else if (role == NetworkReplyModelRole::ObjectIdRole && index.column() == NetworkReplyModelColumn::ObjectColumn) {
142 return QVariant::fromValue(ObjectId(nam.nam));
143 }
144 return {};
145 }
146
147 // reply level
148 const auto &reply = m_nodes[index.internalId()].replies[index.row()];
149 if (role == Qt::DisplayRole) {
150 switch (index.column()) {
151 case NetworkReplyModelColumn::ObjectColumn:
152 return reply.displayName;
153 case NetworkReplyModelColumn::OpColumn:
154 return reply.op;
155 case NetworkReplyModelColumn::SizeColumn:
156 if (reply.duration == 0 && reply.size == 0) {
157 return {}; // cached reply, we don't have proper data for that
158 }
159 return reply.size;
160 case NetworkReplyModelColumn::TimeColumn:
161 if (reply.state & NetworkReply::Finished) {
162 return reply.duration;
163 }
164 return {};
165 case NetworkReplyModelColumn::UrlColumn:
166 return reply.url;
167 }
168 } else if (role == NetworkReplyModelRole::ReplyStateRole && index.column() == NetworkReplyModelColumn::ObjectColumn) {
169 return reply.state;
170 } else if (role == NetworkReplyModelRole::ReplyErrorRole && index.column() == NetworkReplyModelColumn::ObjectColumn) {
171 return reply.errorMsgs;
172 } else if (role == NetworkReplyModelRole::ObjectIdRole && index.column() == NetworkReplyModelColumn::ObjectColumn) {
173 return QVariant::fromValue(ObjectId(reply.reply));
174 } else if (role == NetworkReplyModelRole::ReplyResponseRole && index.column() == NetworkReplyModelColumn::ObjectColumn) {
175 return reply.response;
176 } else if (role == NetworkReplyModelRole::ReplyContentType && index.column() == NetworkReplyModelColumn::ObjectColumn) {
177 return reply.contentType;
178 }
179
180 return {};
181}
182
183QModelIndex NetworkReplyModel::index(int row, int column, const QModelIndex &parent) const
184{

Callers 2

NetworkReplyWidgetMethod · 0.45
contextMenuMethod · 0.45

Calls 4

rowMethod · 0.80
columnMethod · 0.80
ObjectIdClass · 0.50
isValidMethod · 0.45

Tested by

no test coverage detected