本文整理汇总了C++中QFileInfoList::indexOf方法的典型用法代码示例。如果您正苦于以下问题:C++ QFileInfoList::indexOf方法的具体用法?C++ QFileInfoList::indexOf怎么用?C++ QFileInfoList::indexOf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QFileInfoList
的用法示例。
在下文中一共展示了QFileInfoList::indexOf方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nextSibling
//! [5]
QXmlNodeModelIndex FileTree::nextSibling(const QXmlNodeModelIndex &nodeIndex,
const QFileInfo &fileInfo,
qint8 offset) const
{
Q_ASSERT(offset == -1 || offset == 1);
// Get the context node's parent.
const QXmlNodeModelIndex parent(nextFromSimpleAxis(Parent, nodeIndex));
if (parent.isNull())
return QXmlNodeModelIndex();
// Get the parent's child list.
const QFileInfo parentFI(toFileInfo(parent));
Q_ASSERT(Type(parent.additionalData()) == Directory);
const QFileInfoList siblings(QDir(parentFI.absoluteFilePath()).entryInfoList(QStringList(),
m_filterAllowAll,
m_sortFlags));
Q_ASSERT_X(!siblings.isEmpty(), Q_FUNC_INFO, "Can't happen! We started at a child.");
// Find the index of the child where we started.
const int indexOfMe = siblings.indexOf(fileInfo);
// Apply the offset.
const int siblingIndex = indexOfMe + offset;
if (siblingIndex < 0 || siblingIndex > siblings.count() - 1)
return QXmlNodeModelIndex();
else
return toNodeIndex(siblings.at(siblingIndex));
}
示例2: handleOpenFileEvent
// Open a new file
void MainWindow::handleOpenFileEvent(QString filename, QString filter) {
// On Windows, we have to remove all three '/' after 'file:', on Linux, we need to leave one of them
#ifdef Q_OS_WIN
if(filename.startsWith("file:///"))
filename = filename.remove(0,8);
#else
if(filename.startsWith("file://"))
filename = filename.remove(0,7);
#endif
if(filename.trimmed() == "") {
QMetaObject::invokeMethod(object, "openFile");
return;
}
variables->keepLoadingThumbnails = true;
setOverrideCursor();
if(variables->verbose)
LOG << CURDATE << "handleOpenFileEvent(): Handle response to request to open new file" << NL;
// Decode filename
QByteArray usethis = QByteArray::fromPercentEncoding(filename.trimmed().toUtf8());
// Store filter
variables->openfileFilter = filter;
QString file = "";
// Check return file
file = usethis;
QMetaObject::invokeMethod(object, "alsoIgnoreSystemShortcuts",
Q_ARG(QVariant, false));
// Save current directory
variables->currentDir = QFileInfo(file).absolutePath();
// Clear loaded thumbnails
variables->loadedThumbnails.clear();
// Load direcgtory
QFileInfoList l = loadDir->loadDir(file,variables->openfileFilter);
if(l.isEmpty()) {
QMetaObject::invokeMethod(object, "noResultsFromFilter");
restoreOverrideCursor();
return;
}
if(!l.contains(QFileInfo(file)))
file = l.at(0).filePath();
// Get and store length
int l_length = l.length();
settingsPerSession->setValue("countTot",l_length);
// Convert QFileInfoList into QStringList and store it
QStringList ll;
for(int i = 0; i < l_length; ++i)
ll.append(l.at(i).absoluteFilePath());
settingsPerSession->setValue("allFileList",ll);
// Get and store current position
int curPos = l.indexOf(QFileInfo(file));
settingsPerSession->setValue("curPos",curPos);
// Setiup thumbnail model
QMetaObject::invokeMethod(object, "setupModel",
Q_ARG(QVariant, ll),
Q_ARG(QVariant, curPos));
// Display current postiion in main image view
QMetaObject::invokeMethod(object, "displayImage",
Q_ARG(QVariant, curPos));
QVariant centerPos = curPos;
if(!QMetaObject::invokeMethod(object, "getCenterPos",
Q_RETURN_ARG(QVariant, centerPos)))
std::cerr << CURDATE << "handleOpenFileEvent(): ERROR: couldn't get center pos!" << NL;
// And handle the thumbnails
handleThumbnails(centerPos.toInt());
restoreOverrideCursor();
}