本文整理汇总了C++中QTemporaryFile::setFileTemplate方法的典型用法代码示例。如果您正苦于以下问题:C++ QTemporaryFile::setFileTemplate方法的具体用法?C++ QTemporaryFile::setFileTemplate怎么用?C++ QTemporaryFile::setFileTemplate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTemporaryFile
的用法示例。
在下文中一共展示了QTemporaryFile::setFileTemplate方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getReport
QFileInfoList CDspHaClusterHelper::getReport()
{
QFileInfoList output;
QFileInfo p("/usr/bin/vstorage-make-report");
if (!p.exists())
return output;
QDir d("/etc/vstorage/clusters");
if (!d.exists())
return output;
QStringList a = d.entryList(QDir::NoDotAndDotDot | QDir::Dirs);
foreach (QString x, a)
{
QTemporaryFile t;
t.setFileTemplate(QString("%1/pstorage.%2.XXXXXX.tgz")
.arg(QDir::tempPath()).arg(x));
if (!t.open())
{
WRITE_TRACE(DBG_FATAL, "QTemporaryFile::open() error: %s",
QSTR2UTF8(t.errorString()));
continue;
}
QString b, c = QString("%1 -f %2 \"%3\"").arg(p.filePath()).arg(t.fileName()).arg(x);
if (!HostUtils::RunCmdLineUtility(c, b, -1) || t.size() == 0)
{
t.close();
continue;
}
t.setAutoRemove(false);
output.append(QFileInfo(t.fileName()));
t.close();
}
示例2: getStoragePoolXMLDesc
Result StoragePoolControlThread::getStoragePoolXMLDesc()
{
Result result;
QString name = task.object;
bool read = false;
char *Returns = NULL;
virStoragePoolPtr storagePool = virStoragePoolLookupByName(
*task.srcConnPtr, name.toUtf8().data());
if ( storagePool!=NULL ) {
Returns = (virStoragePoolGetXMLDesc(storagePool, VIR_STORAGE_XML_INACTIVE));
if ( Returns==NULL )
result.err = sendConnErrors();
else read = true;
virStoragePoolFree(storagePool);
} else
result.err = sendConnErrors();
QTemporaryFile f;
f.setAutoRemove(false);
f.setFileTemplate(QString("%1%2XML_Desc-XXXXXX.xml")
.arg(QDir::tempPath()).arg(QDir::separator()));
read = f.open();
if (read) f.write(Returns);
result.fileName.append(f.fileName());
f.close();
if ( Returns!=NULL ) free(Returns);
result.msg.append(QString("'<b>%1</b>' StoragePool %2 XML'ed")
.arg(name).arg((read)?"":"don't"));
result.name = name;
result.result = read;
return result;
}
示例3: showSnapsotXMLDesc
void SnapshotActionDialog::showSnapsotXMLDesc()
{
if ( snapshotTree->currentIndex().isValid() ) {
TreeItem *item = static_cast<TreeItem*>(
snapshotTree->currentIndex().internalPointer());
if ( NULL!=item ) {
// flags: extra flags; not used yet, so callers should always pass 0
virDomainSnapshotPtr snapShot =
virDomainSnapshotLookupByName(
domain, item->data(0).toByteArray().data(), 0);
char *xmlDesc = virDomainSnapshotGetXMLDesc(snapShot, 0);
if ( NULL!=xmlDesc ) {
QTemporaryFile f;
f.setAutoRemove(false);
f.setFileTemplate(
QString("%1%2XML_Desc-XXXXXX.xml")
.arg(QDir::tempPath())
.arg(QDir::separator()));
bool read = f.open();
if (read) f.write(xmlDesc);
QString xml = f.fileName();
f.close();
free(xmlDesc);
QDesktopServices::openUrl(QUrl(xml));
};
};
};
}
示例4: checkDatabasePath
bool DatabaseSettingsWidget::checkDatabasePath()
{
QString dbFolder = databasePath();
qCDebug(DIGIKAM_DATABASE_LOG) << "Database directory is : " << dbFolder;
if (dbFolder.isEmpty())
{
QMessageBox::information(qApp->activeWindow(), qApp->applicationName(),
i18n("You must select a folder for digiKam to "
"store information and metadata in a database file."));
return false;
}
QDir targetPath(dbFolder);
if (!targetPath.exists())
{
int rc = QMessageBox::question(qApp->activeWindow(), i18n("Create Database Folder?"),
i18n("<p>The folder to put your database in does not seem to exist:</p>"
"<p><b>%1</b></p>"
"Would you like digiKam to create it for you?", dbFolder));
if (rc == QMessageBox::No)
{
return false;
}
if (!targetPath.mkpath(dbFolder))
{
QMessageBox::information(qApp->activeWindow(), i18n("Create Database Folder Failed"),
i18n("<p>digiKam could not create the folder to host your database file.\n"
"Please select a different location.</p>"
"<p><b>%1</b></p>", dbFolder));
return false;
}
}
QFileInfo path(dbFolder);
#ifdef _WIN32
// Work around bug #189168
QTemporaryFile temp;
temp.setFileTemplate(dbFolder + QLatin1String("XXXXXX"));
if (!temp.open())
#else
if (!path.isWritable())
#endif
{
QMessageBox::information(qApp->activeWindow(), i18n("No Database Write Access"),
i18n("<p>You do not seem to have write access "
"for the folder to host the database file.<br/>"
"Please select a different location.</p>"
"<p><b>%1</b></p>", dbFolder));
return false;
}
return true;
}
示例5: newTempWps
void QWpsDrawer::newTempWps() {
QTemporaryFile tmpWps;
tmpWps.setAutoRemove(false);
tmpWps.setFileTemplate(QDir::tempPath()+"/XXXXXXXXXX.wps");
if (tmpWps.open()) {
QString tmpDir = tmpWps.fileName().left(tmpWps.fileName().length()-4);
if (QDir::temp().mkpath(tmpDir)) {
mTmpWpsString = tmpDir;
DEBUGF3(QString("Created :"+mTmpWpsString).toAscii());
}
}
}
示例6: getStoragePoolXMLDesc
QStringList StoragePoolControlThread::getStoragePoolXMLDesc()
{
QStringList result;
QString name = args.first();
/*
virStoragePoolPtr *storagePool;
unsigned int flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE |
VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE;
int ret = virConnectListAllStoragePools( currWorkConnect, &storagePool, flags);
if ( ret<0 ) {
sendConnErrors();
free(storagePool);
return result;
};
//qDebug()<<QString(virConnectGetURI(currWorkConnect));
int i = 0;
*/
bool read = false;
char *Returns = NULL;
/*
while ( storagePool[i] != NULL ) {
QString currNetName = QString( virStoragePoolGetName(storagePool[i]) );
if ( !read && currNetName==name ) {
Returns = (virStoragePoolGetXMLDesc(storagePool[i], VIR_STORAGE_XML_INACTIVE));
if ( Returns==NULL ) sendGlobalErrors();
else read = true;
};
virStoragePoolFree(storagePool[i]);
i++;
};
free(storagePool);
*/
virStoragePoolPtr storagePool = virStoragePoolLookupByName(currWorkConnect, name.toUtf8().data());
if ( storagePool!=NULL ) {
Returns = (virStoragePoolGetXMLDesc(storagePool, VIR_STORAGE_XML_INACTIVE));
if ( Returns==NULL ) sendConnErrors();
else read = true;
virStoragePoolFree(storagePool);
} else sendConnErrors();
QTemporaryFile f;
f.setAutoRemove(false);
f.setFileTemplate(QString("%1%2XML_Desc-XXXXXX.xml").arg(QDir::tempPath()).arg(QDir::separator()));
read = f.open();
if (read) f.write(Returns);
result.append(f.fileName());
f.close();
free(Returns);
result.append(QString("'<b>%1</b>' StoragePool %2 XML'ed").arg(name).arg((read)?"":"don't"));
return result;
}
示例7: createLogFile
QString ClangStaticAnalyzerRunner::createLogFile(const QString &filePath) const
{
const QString fileName = QFileInfo(filePath).fileName();
const QString fileTemplate = m_clangLogFileDir
+ QLatin1String("/report-") + fileName + QLatin1String("-XXXXXX.plist");
QTemporaryFile temporaryFile;
temporaryFile.setAutoRemove(false);
temporaryFile.setFileTemplate(fileTemplate);
if (temporaryFile.open()) {
temporaryFile.close();
return temporaryFile.fileName();
}
return QString();
}
示例8: MakeTempDir
QString MakeTempDir(const QString template_name) {
QString path;
{
QTemporaryFile tempfile;
if (!template_name.isEmpty()) tempfile.setFileTemplate(template_name);
tempfile.open();
path = tempfile.fileName();
}
QDir d;
d.mkdir(path);
return path;
}
示例9: start
bool ItemEditor::start()
{
// create temp file
const QString tmpFileName = QString("CopyQ.XXXXXX") + getFileSuffixFromMime(m_mime);
QString tmpPath = QDir( QDir::tempPath() ).absoluteFilePath(tmpFileName);
QTemporaryFile tmpfile;
tmpfile.setFileTemplate(tmpPath);
tmpfile.setPermissions(QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner);
if ( !tmpfile.open() ) {
printError( tr("Failed to open temporary file (%1) for editing item in external editor!")
.arg(tmpfile.fileName()) );
return false;
}
// write text to temp file
tmpfile.write(m_data);
tmpfile.flush();
// monitor file
m_info.setFile( tmpfile.fileName() );
m_lastmodified = m_info.lastModified();
m_lastSize = m_info.size();
m_timer->start(500);
connect( m_timer, SIGNAL(timeout()),
this, SLOT(onTimer()) );
// create editor process
m_editor = new QProcess(this);
connect( m_editor, SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(close()) );
connect( m_editor, SIGNAL(error(QProcess::ProcessError)),
this, SLOT(onError()) );
// use native path for filename to edit and escape all backslashes
const QString nativeFilePath = QDir::toNativeSeparators(m_info.filePath());
QString cmd = m_editorcmd.arg('"' + nativeFilePath + '"');
cmd.replace("\\", "\\\\");
// execute editor
m_editor->start(cmd);
tmpfile.setAutoRemove(false);
tmpfile.close();
return true;
}
示例10: changeDir
QString Repository::Git::GitUtils::makeTmpFileFromCommand( QString command, QString filepath )
{
bool ok = true;
// Ulozim si current working directory
QString cwd = QDir::currentPath();
// Nastavim absolutnu cestu k temp file ako template a zakazem automaticke mazanie
QTemporaryFile tempFile;
tempFile.setFileTemplate( QDir::toNativeSeparators( QDir::tempPath() + "/" + "qXXXXXX" ) );
tempFile.setAutoRemove( false );
// Ak sa nepodarilo vytvorit temp subor, tak nastavim flag "ok" na false a vypisem chybu
if ( !tempFile.open() ) {
qDebug() << "Nepodarilo sa vytvorit tmp subor";
ok = false;
}
// Ak sa podarilo vytvorit temp subor, tak zmenim current working directory
if ( ok ) {
ok = changeDir( filepath );
}
// Ak sa podarilo zmenit current working directory, tak skontroluje existenciu git repozitara
if ( ok ) {
ok = existGit( filepath );
}
// Ak existuje na danej ceste git repozitar, tak vykonam command a vystup ulozim do temp suboru
if ( ok ) {
QProcess process;
process.setStandardOutputFile( QDir::toNativeSeparators( tempFile.fileName() ) );
process.start( command );
process.waitForFinished();
process.close();
process.terminate();
}
// Vratim povodny current working directory, ak sa nepodari zmenit, vypisem do konzoly
if ( !changeDir( cwd ) ) {
qDebug() << "Nepodarilo sa vratit na povodny current working directory";
}
// Vratim absolutnu cestu k temp suboru
return tempFile.fileName();
}
示例11: main
int main()
{
QTemporaryFile file;
file.setFileTemplate(file.fileTemplate() + ".jpg");
const int N = 100;
for(int j = 0 ; j < N ; j++)
{
file.open();
QImage img(800, 600, QImage::Format_RGB32);
img.save(&file);
file.close();
QString address = file.fileName();
cv::Mat image = cv::imread(address.toStdString(),0);
PD_Classifier_VEC.push_back(image);
}
while (!PD_Classifier_VEC.empty()) PD();
cv::waitKey();
return 0;
}
示例12: getStorageVolXMLDesc
Result StorageVolControlThread::getStorageVolXMLDesc()
{
Result result;
result.name = QString("%1_%2").arg(task.srcConName).arg(currPoolName);
QString name = task.object;
if (currStoragePool!=NULL) {
virStoragePoolFree(currStoragePool);
currStoragePool = NULL;
};
currStoragePool = virStoragePoolLookupByName(
*task.srcConnPtr, currPoolName.toUtf8().data());
bool read = false;
char *Returns = NULL;
// flags: extra flags; not used yet, so callers should always pass 0
unsigned int flags = 0;
virStorageVol *storageVol = virStorageVolLookupByName(
currStoragePool, name.toUtf8().data());
if ( storageVol!=NULL ) {
Returns = virStorageVolGetXMLDesc(storageVol, flags);
if ( Returns==NULL )
result.err = sendConnErrors();
else read = true;
virStorageVolFree(storageVol);
} else
result.err = sendConnErrors();
QTemporaryFile f;
f.setAutoRemove(false);
f.setFileTemplate(QString("%1%2XML_Desc-XXXXXX.xml")
.arg(QDir::tempPath()).arg(QDir::separator()));
read = f.open();
if (read) f.write(Returns);
result.fileName.append(f.fileName());
f.close();
if ( Returns!=NULL ) free(Returns);
result.msg.append(QString("'<b>%1</b>' StorageVol %2 XML'ed")
.arg(name).arg((read)?"":"don't"));
result.result = read;
return result;
}
示例13: accept
// KF5 TODO: add override keyword
void accept () {
// The report template is just too large to pass it via GET, so we use a local proxy page to pass it in a POST request
QTemporaryFile proxy;
proxy.setFileTemplate (QDir::tempPath () + "/rkwardbugXXXXXX.html"); // Force .html-suffix, as it appears to be required on Windows
proxy.setAutoRemove (false);
proxy.open ();
QTextStream out (&proxy);
out << "<html><head><title>Relaying to " SUBMIT_ADDRESS "</title></head><body onLoad=\"document.getElementById('form').submit();\">\n";
out << "<h1>" + i18n ("Forwarding you to the KDE bugtracking system") + "</h1>\n";
out << "<p>" + i18n ("You are now being forwarded to the KDE bugtracking system. Should you continue to see this page for more than a few seconds (e.g. if JavaScript is disabled), please click \"Proceed\", below.") + "</p>\n";
out << "<form name=\"form\" id=\"form\" action=\"" SUBMIT_ADDRESS "\" method=\"POST\">\n";
out << "<input name=\"product\" type=\"hidden\" value=\"rkward\"/>\n";
out << "<input name=\"component\" type=\"hidden\" value=\"general\"/>\n";
out << "<input name=\"version\" type=\"hidden\" value=\"" RKWARD_VERSION "\"/>\n";
out << "<input name=\"comment\" type=\"hidden\" value=\"" << Qt::escape (report_template) << "\"/>\n";
out << "<input type=\"submit\" value=\"" << i18n ("Proceed") << "\"/>\n";
out << "</form></body></html>";
proxy.close ();
KToolInvocation::invokeBrowser (QUrl::fromLocalFile (proxy.fileName ()).toEncoded ());
KDialog::accept ();
}
示例14: getVirtNetXMLDesc
Result NetControlThread::getVirtNetXMLDesc()
{
Result result;
QString name = task.object;
result.name = name;
bool read = false;
char *Returns = nullptr;
if ( task.srcConnPtr==nullptr ) {
result.result = false;
result.err = "Connection pointer is NULL.";
return result;
};
virNetworkPtr network = virNetworkLookupByName(
*task.srcConnPtr, name.toUtf8().data());
if ( network!=nullptr ) {
Returns = virNetworkGetXMLDesc(
network, VIR_NETWORK_XML_INACTIVE);
if ( Returns==nullptr )
result.err = sendConnErrors();
else read = true;
virNetworkFree(network);
} else
result.err = sendConnErrors();
QTemporaryFile f;
f.setAutoRemove(false);
f.setFileTemplate(
QString("%1%2XML_Desc-XXXXXX.xml")
.arg(QDir::tempPath()).arg(QDir::separator()));
read = f.open();
if (read) f.write(Returns);
result.fileName.append(f.fileName());
f.close();
if ( Returns!=nullptr ) free(Returns);
result.result = read;
result.msg.append(QString("'<b>%1</b>' Network %2 XML'ed")
.arg(name).arg((read)?"":"don't"));
return result;
}
示例15: certificate
PRL_RESULT Stunnel::certificate(QTemporaryFile& dst_) const
{
dst_.setFileTemplate(QString("%1/crt.XXXXXX.pem").arg(QDir::tempPath()));
return prepare(dst_, m_certificate);
}