本文整理汇总了C++中Artist::insert方法的典型用法代码示例。如果您正苦于以下问题:C++ Artist::insert方法的具体用法?C++ Artist::insert怎么用?C++ Artist::insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Artist
的用法示例。
在下文中一共展示了Artist::insert方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gotArtistInfo
void CollectionScanner::gotArtistInfo() {
// get the Artist that sent the signal
Artist *artist = static_cast<Artist *>(sender());
if (!artist) {
qDebug() << "Cannot get sender";
return;
}
// qDebug() << "got info for" << artist->getName();
int artistId = Artist::idForName(artist->getName());
if (artistId < 0) {
// qDebug() << "We have a new promising artist:" << artist->getName();
artist->insert();
// TODO last insert id
artistId = Artist::idForName(artist->getName());
} else {
qDebug() << "Updating artist" << artist->getName();
artist->update();
}
artist->setId(artistId);
// now that we have an id, let's enqueue the cover image download
QString imageUrl = artist->property("imageUrl").toString();
if (!imageUrl.isEmpty())
ImageDownloader::enqueue(artistId, ImageDownloader::ArtistType, imageUrl);
const QString hash = artist->property("originalHash").toString();
QList<FileInfo *> files = filesWaitingForArtists.value(hash);
filesWaitingForArtists.remove(hash);
loadedArtists.insert(hash, artist);
// if (hash != artist->getHash())
loadedArtists.insert(artist->getHash(), artist);
// continue the processing of blocked files
// qDebug() << files.size() << "files were waiting for artist" << artist->getName();
foreach (FileInfo *file, files) {
file->setArtist(artist);
// qDebug() << "ready for album" << file->getFileInfo().baseName();
giveThisFileAnAlbum(file);
}