void setCamItemInfo(const CamItemInfo& info) { m_info = info; if(!info.isNull()) { setPath(info.url().toLocalFile(), true); } }
int CamItemSortSettings::compare(const CamItemInfo& left, const CamItemInfo& right, SortRole role) const { switch (role) { case SortByFileName: return naturalCompare(left.name, right.name, currentSortOrder, sortCaseSensitivity); case SortByFilePath: return naturalCompare(left.url().toLocalFile(), right.url().toLocalFile(), currentSortOrder, sortCaseSensitivity); case SortByFileSize: return compareByOrder(left.size, right.size, currentSortOrder); //FIXME: Change it to creation date instead of modification date. case SortByCreationDate: return compareByOrder(left.ctime, right.ctime, currentSortOrder); case SortByRating: return compareByOrder(left.rating, right.rating, currentSortOrder); case SortByDownloadState: return compareByOrder(left.downloaded, right.downloaded, currentSortOrder); default: return 1; } }
/** * @brief Gets the coordinates of a marker found at current model index. * @param index Current model index. * @param coordinates Here will be returned the coordinates of the current marker. * @return True, if the marker has coordinates. */ bool MapViewModelHelper::itemCoordinates(const QModelIndex& index, GeoIface::GeoCoordinates* const coordinates) const { switch (d->application) { case MapWidgetView::ApplicationDigikam: { const ImageInfo info = d->model->imageInfo(index); if (info.isNull() || !info.hasCoordinates()) { return false; } *coordinates = GeoIface::GeoCoordinates(info.latitudeNumber(), info.longitudeNumber()); break; } case MapWidgetView::ApplicationImportUI: { const CamItemInfo info = d->importModel->camItemInfo(index); if (info.isNull()) { return false; } const DMetadata meta(info.url().toLocalFile()); double lat, lng; const bool haveCoordinates = meta.getGPSLatitudeNumber(&lat) && meta.getGPSLongitudeNumber(&lng); if (!haveCoordinates) { return false; } GeoIface::GeoCoordinates tmpCoordinates(lat, lng); double alt; const bool haveAlt = meta.getGPSAltitude(&alt); if (haveAlt) { tmpCoordinates.setAlt(alt); } *coordinates = tmpCoordinates; break; } } return true; }
void ImportCategoryDrawer::viewHeaderText(const QModelIndex& index, QString* header, QString* subLine) const { ImportImageModel* sourceModel = index.data(ImportImageModel::ImportImageModelPointerRole).value<ImportImageModel*>(); if (!sourceModel) { return; } CamItemInfo info = sourceModel->retrieveCamItemInfo(index); if(!info.isNull()) { int count = d->view->categoryRange(index).height(); QStringList splitted = info.url().prettyUrl().split('/'); *header = splitted.value(splitted.length() - 2); *subLine = i18np("1 Item", "%1 Items", count); } }