MCPcopy Create free account
hub / github.com/YACReader/yacreader / data

Method data

YACReaderLibrary/db/comic_model.cpp:277–387  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277QVariant ComicModel::data(const QModelIndex &index, int role) const
278{
279 if (!index.isValid())
280 return QVariant();
281
282 if (role == Qt::DecorationRole) {
283 return QVariant();
284 }
285
286 if (role == Qt::TextAlignmentRole) {
287 switch (index.column()) // TODO obtener esto de la query
288 {
289 case ComicModel::Number:
290 return QVariant(Qt::AlignRight | Qt::AlignVCenter);
291 case ComicModel::NumPages:
292 return QVariant(Qt::AlignRight | Qt::AlignVCenter);
293 case ComicModel::Size:
294 return QVariant(Qt::AlignRight | Qt::AlignVCenter);
295 case ComicModel::CurrentPage:
296 return QVariant(Qt::AlignRight | Qt::AlignVCenter);
297 default:
298 return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
299 }
300 }
301
302 // TODO check here if any view is asking for TableModel::Roles
303 // these roles will be used from QML/GridView
304
305 auto item = static_cast<ComicItem *>(index.internalPointer());
306
307 auto sizeString = [=] {
308 auto bytes = item->data(ComicModel::Hash).toString().right(item->data(ComicModel::Hash).toString().length() - 40).toULongLong();
309
310 QStringList units = { "B", "KB", "MB", "GB", "TB" };
311 int i;
312 double outputSize = bytes;
313 for (i = 0; i < units.size() - 1; i++) {
314 if (outputSize < 1024) {
315 break;
316 }
317 outputSize = outputSize / 1024;
318 }
319 return QString("%1 %2").arg(outputSize, 0, 'f', 2).arg(units[i]);
320 };
321
322 if (role == NumberRole)
323 return item->data(Number);
324 else if (role == TitleRole)
325 return item->data(Title).isNull() ? item->data(FileName) : item->data(Title);
326 else if (role == ReadableTitle) {
327 QString title;
328 if (!item->data(Number).isNull()) {
329 title = title % "#" % item->data(Number).toString() % " ";
330 }
331 return QVariant(title % (item->data(Title).isNull() ? item->data(FileName).toString() : item->data(Title).toString()));
332 } else if (role == FileNameRole)
333 return item->data(FileName);
334 else if (role == RatingRole)

Callers 15

comic_model.cppFile · 0.45
dropMimeDataMethod · 0.45
mimeDataMethod · 0.45
headerDataMethod · 0.45
getPathsMethod · 0.45
getComicPathMethod · 0.45
takeUpdatedDataMethod · 0.45
getComicMethod · 0.45
_getComicMethod · 0.45
getReadListMethod · 0.45
getAllComicsMethod · 0.45
setComicsReadMethod · 0.45

Calls 4

rightMethod · 0.80
toStringMethod · 0.80
QStringClass · 0.50
isValidMethod · 0.45

Tested by

no test coverage detected