void KTempDirTest::testAutoDelete() { KTempDir *dir = new KTempDir("test"); QVERIFY(dir->status() == 0); QVERIFY(dir->exists()); QString dName = dir->name(); delete dir; QVERIFY(!QDir(dName).exists()); }
void ViewManager::startDrag() { // Get the list of all the selected addressees KABC::Addressee::List addrList; const QStringList uidList = selectedUids(); if(uidList.isEmpty()) return; kdDebug(5720) << "ViewManager::startDrag: starting to drag" << endl; QStringList::ConstIterator it; for(it = uidList.begin(); it != uidList.end(); ++it) addrList.append(mCore->addressBook()->findByUid(*it)); KMultipleDrag *drag = new KMultipleDrag(this); KABC::VCardConverter converter; QString vcards = converter.createVCards(addrList); // Best text representation is given by textdrag, so it must be first drag->addDragObject(new QTextDrag(AddresseeUtil::addresseesToEmails(addrList), this)); drag->addDragObject(new KVCardDrag(vcards, this)); KTempDir tempDir; // can't set tempDir to autoDelete, in case of dropping on the desktop, the copy is async... if(tempDir.status() == 0) { QString fileName; if(addrList.count() == 1) fileName = addrList[ 0 ].givenName() + "_" + addrList[ 0 ].familyName() + ".vcf"; else fileName = "contacts.vcf"; QFile tempFile(tempDir.name() + "/" + fileName); if(tempFile.open(IO_WriteOnly)) { tempFile.writeBlock(vcards.utf8()); tempFile.close(); KURLDrag *urlDrag = new KURLDrag(KURL(tempFile.name()), this); drag->addDragObject(urlDrag); } } drag->setPixmap(KGlobal::iconLoader()->loadIcon("vcard", KIcon::Desktop)); drag->dragCopy(); }
void KTempDirTest::testCreateSubDir() { KTempDir *dir = new KTempDir("test"); QVERIFY(dir->status() == 0); QVERIFY(dir->exists()); QDir d ( dir->name() ); QVERIFY(d.exists()); QVERIFY(d.mkdir(QString("123"))); QVERIFY(d.mkdir(QString("456"))); QString dName = dir->name(); delete dir; d.refresh(); QVERIFY(!QDir(dName).exists()); QVERIFY(!d.exists(QString("123"))); QVERIFY(!d.exists(QString("456"))); }