本文整理汇总了C++中KTempFile::file方法的典型用法代码示例。如果您正苦于以下问题:C++ KTempFile::file方法的具体用法?C++ KTempFile::file怎么用?C++ KTempFile::file使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KTempFile
的用法示例。
在下文中一共展示了KTempFile::file方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: exportContacts
bool GMXXXPort::exportContacts( const KABC::AddresseeList &list, const QString& )
{
KURL url = KFileDialog::getSaveURL( ":xxport_gmx", GMX_FILESELECTION_STRING );
if ( url.isEmpty() )
return true;
if ( !url.isLocalFile() ) {
KTempFile tmpFile;
if ( tmpFile.status() != 0 ) {
QString txt = i18n( "<qt>Unable to open file <b>%1</b>.%2.</qt>" );
KMessageBox::error( parentWidget(), txt.arg( url.url() )
.arg( strerror( tmpFile.status() ) ) );
return false;
}
doExport( tmpFile.file(), list );
tmpFile.close();
return KIO::NetAccess::upload( tmpFile.name(), url, parentWidget() );
} else {
QString filename = url.path();
QFile file( filename );
if ( !file.open( IO_WriteOnly ) ) {
QString txt = i18n( "<qt>Unable to open file <b>%1</b>.</qt>" );
KMessageBox::error( parentWidget(), txt.arg( filename ) );
return false;
}
doExport( &file, list );
file.close();
return true;
}
}
示例2: copyfile
QString copyfile(const QString &filename)
{
kdDebug(500) << "Copying file " << filename << endl;
QString result;
QFile f(filename);
if(f.open(IO_ReadOnly))
{
KTempFile temp;
temp.setAutoDelete(false);
QFile *tf = temp.file();
if(tf)
{
char buffer[0xFFFF];
int b = 0;
while((b = f.readBlock(buffer, 0xFFFF)) > 0)
{
if(tf->writeBlock(buffer, b) != b)
break;
}
tf->close();
if(b > 0)
temp.setAutoDelete(true);
else
{
kdDebug(500) << "File copied to " << temp.name() << endl;
result = temp.name();
}
}
else
temp.setAutoDelete(true);
f.close();
}
return result;
}
示例3: processDropEvent
void KOrganizerPlugin::processDropEvent( QDropEvent *event )
{
QString text;
KABC::VCardConverter converter;
if ( KVCardDrag::canDecode( event ) && KVCardDrag::decode( event, text ) ) {
KABC::Addressee::List contacts = converter.parseVCards( text );
KABC::Addressee::List::Iterator it;
QStringList attendees;
for ( it = contacts.begin(); it != contacts.end(); ++it ) {
QString email = (*it).fullEmail();
if ( email.isEmpty() )
attendees.append( (*it).realName() + "<>" );
else
attendees.append( email );
}
interface()->openEventEditor( i18n( "Meeting" ), QString::null, QString::null,
attendees );
return;
}
if ( QTextDrag::decode( event, text ) ) {
kdDebug(5602) << "DROP:" << text << endl;
interface()->openEventEditor( text );
return;
}
KPIM::MailList mails;
if ( KPIM::MailListDrag::decode( event, mails ) ) {
if ( mails.count() != 1 ) {
KMessageBox::sorry( core(),
i18n("Drops of multiple mails are not supported." ) );
} else {
KPIM::MailSummary mail = mails.first();
QString txt = i18n("From: %1\nTo: %2\nSubject: %3").arg( mail.from() )
.arg( mail.to() ).arg( mail.subject() );
KTempFile tf;
tf.setAutoDelete( true );
QString uri = QString::fromLatin1("kmail:") + QString::number( mail.serialNumber() );
tf.file()->writeBlock( event->encodedData( "message/rfc822" ) );
tf.close();
interface()->openEventEditor( i18n("Mail: %1").arg( mail.subject() ), txt,
uri, tf.name(), QStringList(), "message/rfc822" );
}
return;
}
KMessageBox::sorry( core(), i18n("Cannot handle drop events of type '%1'.")
.arg( event->format() ) );
}
示例4: doExport
bool VCardXXPort::doExport( const KURL &url, const QString &data )
{
KTempFile tmpFile;
tmpFile.setAutoDelete( true );
QTextStream stream( tmpFile.file() );
stream.setEncoding( QTextStream::UnicodeUTF8 );
stream << data;
tmpFile.close();
return KIO::NetAccess::upload( tmpFile.name(), url, parentWidget() );
}
示例5: save
bool KSnapshot::save( const KURL& url )
{
if ( KIO::NetAccess::exists( url, false, this ) ) {
const QString title = i18n( "File Exists" );
const QString text = i18n( "<qt>Do you really want to overwrite <b>%1</b>?</qt>" ).arg(url.prettyURL());
if (KMessageBox::Continue != KMessageBox::warningContinueCancel( this, text, title, i18n("Overwrite") ) )
{
return false;
}
}
QString type( KImageIO::type(url.path()) );
if ( type.isNull() )
type = "PNG";
bool ok = false;
if ( url.isLocalFile() ) {
KSaveFile saveFile( url.path() );
if ( saveFile.status() == 0 ) {
if ( snapshot.save( saveFile.file(), type.latin1() ) )
ok = saveFile.close();
}
}
else {
KTempFile tmpFile;
tmpFile.setAutoDelete( true );
if ( tmpFile.status() == 0 ) {
if ( snapshot.save( tmpFile.file(), type.latin1() ) ) {
if ( tmpFile.close() )
ok = KIO::NetAccess::upload( tmpFile.name(), url, this );
}
}
}
QApplication::restoreOverrideCursor();
if ( !ok ) {
kdWarning() << "KSnapshot was unable to save the snapshot" << endl;
QString caption = i18n("Unable to save image");
QString text = i18n("KSnapshot was unable to save the image to\n%1.")
.arg(url.prettyURL());
KMessageBox::error(this, text, caption);
}
return ok;
}
示例6: saveFile
bool KMiniEdit::saveFile(KURL newurl)
{
if (newurl.isEmpty())
newurl = KFileDialog::getSaveURL();
if (newurl.isEmpty())
return false;
if (newurl.isMalformed())
{
QString text = i18n("<b>THe URL %1 is not correct!</b>");
KMessageBox::sorry(this, text.arg(newurl.prettyURL()));
return false;
}
if (newurl.isLocalFile())
{
QFile file(newurl.path());
file.open(IO_WriteOnly);
saveToLocalFile(&file);
}
else
{
KTempFile tempfile;
saveToLocalFile(tempfile.file());
if (!KIO::NetAccess::upload(tempfile.name(), newurl))
{
QString text = i18n("<b>Error uploading %1!</b>");
KMessageBox::sorry(this, text.arg(newurl.prettyURL()));
tempfile.unlink();
return false;
}
tempfile.unlink();
}
url = newurl;
addURLtoRecent();
resetEdited();
return true;
}
示例7: save
bool KSnapshot::save( const KURL& url )
{
QString type( KImageIO::type(url.path()) );
if ( type.isNull() )
type = "PNG";
bool ok = false;
if ( url.isLocalFile() ) {
KSaveFile saveFile( url.path() );
if ( saveFile.status() == 0 ) {
if ( snapshot.save( saveFile.file(), type.latin1() ) )
ok = saveFile.close();
}
}
else {
KTempFile tmpFile;
tmpFile.setAutoDelete( true );
if ( tmpFile.status() == 0 ) {
if ( snapshot.save( tmpFile.file(), type.latin1() ) ) {
if ( tmpFile.close() )
ok = KIO::NetAccess::upload( tmpFile.name(), url, this );
}
}
}
QApplication::restoreOverrideCursor();
if ( !ok ) {
kdWarning() << "KSnapshot was unable to save the snapshot" << endl;
QString caption = i18n("Unable to Save Image");
QString text = i18n("KSnapshot was unable to save the image to\n%1.")
.arg(url.prettyURL());
KMessageBox::error(this, text, caption);
}
return ok;
}
示例8: type
bool Q3DGraph::save(const KURL& url)
{
if ( KIO::NetAccess::exists( url, false, this ) ) //The file already exist
return false;
QString type(KImageIO::type(url.path()));
if (type.isNull())
type = "PNG";
bool ok = false;
if(url.isLocalFile()) {
KSaveFile saveFile(url.path());
if ( saveFile.status() == 0 ) {
if (toPixmap().save( saveFile.file(), type.latin1() ) )
ok = saveFile.close();
}
} else {
KTempFile tmpFile;
tmpFile.setAutoDelete(true);
if(tmpFile.status()==0) {
if(toPixmap().save( tmpFile.file(), type.latin1())) {
if(tmpFile.close())
ok = KIO::NetAccess::upload( tmpFile.name(), url, this );
}
}
}
// QApplication::restoreOverrideCursor();
if (!ok) {
qDebug("Was unable to save it");
}
return ok;
}
示例9: createIndexFile
void KPrMSPresentation::createIndexFile( KProgress *progressBar )
{
int p;
KTempFile sppFile;
QString filenameStore = (path + "/MSSONY/PJ/" + title + ".SPP");
QDataStream sppStream( sppFile.file() );
sppStream.setByteOrder(QDataStream::LittleEndian);
p = progressBar->progress();
progressBar->setProgress( ++p );
kapp->processEvents();
// We are doing little endian
sppStream << (Q_UINT32)0x00505053; // SPP magic header
sppStream << (Q_UINT32)0x00000000; // four null bytes
sppStream << (Q_UINT32)0x30303130; // version(?) 0100
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)(slideInfos.count());
// DCIM path 1, 68 bytes null padded
char buff[68];
strncpy( buff, QString("%1").arg(slidePath).ascii(), 67 );
buff[67] = 0x00;
sppStream.writeRawBytes( buff, 68 );
sppStream << (Q_UINT32)0x00000001; // fixed value
sppStream << (Q_UINT32)0x00000005; // fixed value
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)0x00000000; // more nulls
sppStream << (Q_UINT32)0x00000000; // more nulls
p = progressBar->progress();
progressBar->setProgress( ++p );
kapp->processEvents();
// title 1, 16 bytes null padded
strncpy( buff, "SPJT0001.JPG", 15 );
buff[15] = 0x00;
sppStream.writeRawBytes( buff, 16 );
// title 2, 16 bytes null padded
strncpy( buff, "SPJT0002.JPG", 15 );
buff[15] = 0x00;
sppStream.writeRawBytes( buff, 16 );
// type face (?), 44 bytes null padded
strncpy( buff, "MS Sans Serif", 43 );
buff[44] = 0x00;
sppStream.writeRawBytes( buff, 44 );
//not really sure what this is about
sppStream << (Q_UINT32)0xffff0000;
sppStream << (Q_UINT32)0xffff00ff;
sppStream << (Q_UINT32)0xffff00ff;
sppStream << (Q_UINT32)0x000000ff;
sppStream << (Q_UINT32)0x00000002;
for (int i = 0; i < (296/4); i++) {
sppStream << (Q_UINT32)0x00000000;
}
p = progressBar->progress();
progressBar->setProgress( ++p );
kapp->processEvents();
// Add in the slide filenames
QString filename;
for ( unsigned int i = 0; i < slideInfos.count(); i++ ) {
filename.sprintf("SPJP%04i.JPG", i+3);
strncpy( buff, filename.ascii(), 63 );
buff[64] = 0x00;
sppStream.writeRawBytes( buff, 64 );
p = progressBar->progress();
progressBar->setProgress( ++p );
kapp->processEvents();
}
// OK, now we need to fill to 16384 bytes
// the logic is 16384 bytes total, lead in is 512 bytes, and there
// is 64 bytes for each real slide
for(unsigned int i = 0; i < (16384-512-64*(slideInfos.count()))/4; i++) {
sppStream << (Q_UINT32)0x00000000;
}
p = progressBar->progress();
progressBar->setProgress( ++p );
kapp->processEvents();
sppFile.close();
KIO::NetAccess::file_move( sppFile.name(), filenameStore, -1, true /*overwrite*/);
}