本文整理汇总了C++中PlaylistItem::repaint方法的典型用法代码示例。如果您正苦于以下问题:C++ PlaylistItem::repaint方法的具体用法?C++ PlaylistItem::repaint怎么用?C++ PlaylistItem::repaint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PlaylistItem
的用法示例。
在下文中一共展示了PlaylistItem::repaint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processChangeList
bool TagTransactionManager::processChangeList(bool undo)
{
TagAlterationList::ConstIterator it, end;
QStringList errorItems;
it = undo ? m_undoList.constBegin() : m_list.constBegin();
end = undo ? m_undoList.constEnd() : m_list.constEnd();
emit signalAboutToModifyTags();
for(; it != end; ++it) {
PlaylistItem *item = (*it).item();
Tag *tag = (*it).tag();
QFileInfo newFile(tag->fileName());
if(item->file().fileInfo().fileName() != newFile.fileName()) {
if(!renameFile(item->file().fileInfo(), newFile)) {
errorItems.append(item->text(1) + QString(" - ") + item->text(0));
continue;
}
}
if(tag->save()) {
if(!undo)
m_undoList.append(TagTransactionAtom(item, duplicateTag(item->file().tag())));
item->file().setFile(tag->fileName());
item->refreshFromDisk();
item->repaint();
item->playlist()->dataChanged();
item->playlist()->update();
}
else {
Tag *errorTag = item->file().tag();
QString str = errorTag->artist() + " - " + errorTag->title();
if(errorTag->artist().isEmpty())
str = errorTag->title();
errorItems.append(str);
}
kapp->processEvents();
}
undo ? m_undoList.clear() : m_list.clear();
if(!undo && !m_undoList.isEmpty())
action("edit_undo")->setEnabled(true);
else
action("edit_undo")->setEnabled(false);
if(!errorItems.isEmpty())
KMessageBox::errorList(static_cast<QWidget *>(parent()),
i18n("The following files were unable to be changed."),
errorItems,
i18n("Error"));
emit signalDoneModifyingTags();
return errorItems.isEmpty();
}