void ImageDescEditTab::updateRecentTags() { QMenu* const menu = dynamic_cast<QMenu*>(d->recentTagsBtn->menu()); if (!menu) { return; } menu->clear(); AlbumList recentTags = AlbumManager::instance()->getRecentlyAssignedTags(); if (recentTags.isEmpty()) { QAction* const noTagsAction = menu->addAction(i18n("No Recently Assigned Tags")); noTagsAction->setEnabled(false); } else { for (AlbumList::const_iterator it = recentTags.constBegin(); it != recentTags.constEnd(); ++it) { TAlbum* const album = static_cast<TAlbum*>(*it); if (album) { AlbumThumbnailLoader* const loader = AlbumThumbnailLoader::instance(); QPixmap icon; if (!loader->getTagThumbnail(album, icon)) { if (icon.isNull()) { icon = loader->getStandardTagIcon(album, AlbumThumbnailLoader::SmallerSize); } } TAlbum* const parent = dynamic_cast<TAlbum*> (album->parent()); if (parent) { QString text = album->title() + QLatin1String(" (") + parent->prettyUrl() + QLatin1Char(')'); QAction* const action = menu->addAction(icon, text, d->recentTagsMapper, SLOT(map())); d->recentTagsMapper->setMapping(action, album->id()); } else { qCDebug(DIGIKAM_GENERAL_LOG) << "Tag" << album << "doesn't have a valid parent"; } } } } }
/** * @brief Checks whether the newly added album name already exists. * @param name The name of the album. */ bool GPSSearchView::checkAlbum(const QString& name) const { const AlbumList list = AlbumManager::instance()->allSAlbums(); for (AlbumList::ConstIterator it = list.constBegin() ; it != list.constEnd() ; ++it) { const SAlbum* const album = (SAlbum*)(*it); if (album->title() == name) { return false; } } return true; }