void SatellitesComponent::updateTLEs() { int i = 0; QProgressDialog progressDlg( i18n( "Update TLEs..." ), i18n( "Abort" ), 0, m_groups.count() ); progressDlg.setWindowModality( Qt::WindowModal ); progressDlg.setValue( 0 ); foreach ( SatelliteGroup *group, m_groups ) { if ( progressDlg.wasCanceled() ) return; if( group->tleUrl().isEmpty() ) continue; progressDlg.setLabelText( i18n( "Update %1 satellites", group->name() ) ); KIO::Job* getJob = KIO::file_copy(group->tleUrl(), group->tleFilename(), -1, KIO::Overwrite | KIO::HideProgressInfo ); if( getJob->exec() ) { group->readTLE(); group->updateSatellitesPos(); progressDlg.setValue( ++i ); } else { getJob->uiDelegate()->showErrorMessage(); } } }
void IconApplet::showConfigurationInterface() { KPropertiesDialog *dialog = m_dialog.data(); m_configTarget = m_url; if (m_hasDesktopFile) { const QFileInfo fi(m_url.toLocalFile()); if (!fi.isWritable()) { const QString suggestedName = fi.baseName(); m_configTarget = KService::newServicePath(false, suggestedName); KIO::Job *job = KIO::file_copy(m_url, m_configTarget); job->exec(); } } if (dialog) { KWindowSystem::setOnDesktop(dialog->winId(), KWindowSystem::currentDesktop()); dialog->show(); KWindowSystem::activateWindow(dialog->winId()); } else { dialog = new KPropertiesDialog(m_configTarget, 0 /*no parent widget*/); m_dialog = dialog; connect(dialog, SIGNAL(applied()), this, SLOT(acceptedPropertiesDialog())); connect(dialog, SIGNAL(canceled()), this, SLOT(cancelledPropertiesDialog())); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setWindowTitle(i18n("%1 Icon Settings", m_configTarget.fileName())); dialog->show(); } }
void KIOPasteTest::testPasteJob() { QFETCH(QList<QUrl>, urls); QFETCH(bool, data); QFETCH(bool, cut); QFETCH(QString, expectedFileName); QMimeData mimeData; bool isDir = false; bool isFile = false; if (!urls.isEmpty()) { mimeData.setUrls(urls); QFileInfo fileInfo(urls.first().toLocalFile()); isDir = fileInfo.isDir(); isFile = fileInfo.isFile(); } if (data) { mimeData.setText(QStringLiteral("Hello world")); } KIO::setClipboardDataCut(&mimeData, cut); QTemporaryDir destTempDir; QVERIFY(destTempDir.isValid()); const QString destDir = destTempDir.path(); KIO::Job *job = KIO::paste(&mimeData, QUrl::fromLocalFile(destDir), KIO::HideProgressInfo); QSignalSpy spy(job, SIGNAL(itemCreated(QUrl))); QVERIFY(spy.isValid()); job->setUiDelegate(0); const bool expectedSuccess = !expectedFileName.isEmpty(); QCOMPARE(job->exec(), expectedSuccess); if (expectedSuccess) { const QString destFile = destDir + '/' + expectedFileName; QVERIFY2(QFile::exists(destFile), qPrintable(expectedFileName)); if (isDir) { QVERIFY(QFileInfo(destFile).isDir()); } else { QVERIFY(QFileInfo(destFile).isFile()); QFile file(destFile); QVERIFY(file.open(QIODevice::ReadOnly)); QCOMPARE(QString(file.readAll()), QString("Hello world")); } if (cut) { QVERIFY(!QFile::exists(urls.first().toLocalFile())); } else { QVERIFY(QFile::exists(urls.first().toLocalFile())); } QCOMPARE(spy.count(), isFile || cut ? 1 : 2); QCOMPARE(spy.at(0).at(0).value<QUrl>().toLocalFile(), destFile); } }
static bool checkNetworkAccess() { if (s_networkAccess == Unknown) { QElapsedTimer tm; tm.start(); KIO::Job *job = KIO::get(QUrl(s_iconUrl), KIO::NoReload, KIO::HideProgressInfo); if (job->exec()) { s_networkAccess = Yes; qDebug() << "Network access OK. Download time" << tm.elapsed() << "ms"; } else { qWarning() << job->errorString(); s_networkAccess = No; } } return s_networkAccess == Yes; }
void DocbookGenerator::slotDocbookGenerationFinished(const QString& tmpFileName) { uDebug() << "Generation Finished" << tmpFileName; #if QT_VERSION >= 0x050000 QUrl url = umlDoc->url(); #else KUrl url = umlDoc->url(); #endif QString fileName = url.fileName(); fileName.replace(QRegExp(QLatin1String(".xmi$")), QLatin1String(".docbook")); #if QT_VERSION >= 0x050000 url.setPath(m_destDir.path() + QLatin1Char('/') + fileName); #else url.setPath(m_destDir.path()); url.addPath(fileName); #endif #if QT_VERSION >= 0x050000 KIO::Job* job = KIO::file_copy(QUrl::fromLocalFile(tmpFileName), url, -1, KIO::Overwrite | KIO::HideProgressInfo); KJobWidgets::setWindow(job, (QWidget*)UMLApp::app()); job->exec(); if (!job->error()) { #else KIO::Job* job = KIO::file_copy(KUrl::fromPath(tmpFileName), url, -1, KIO::Overwrite | KIO::HideProgressInfo); if (KIO::NetAccess::synchronousRun(job, (QWidget*)UMLApp::app())) { #endif umlDoc->writeToStatusBar(i18n("Docbook Generation Complete...")); m_pStatus = true; } else { umlDoc->writeToStatusBar(i18n("Docbook Generation Failed...")); m_pStatus = false; } while (m_pThreadFinished == false) { // wait for thread to finish qApp->processEvents(); } emit finished(m_pStatus); } void DocbookGenerator::threadFinished() { m_pThreadFinished = true; delete docbookGeneratorJob; docbookGeneratorJob = 0; }
void AdiumxtraProtocolHandler::install() { if (m_url.isEmpty()) { Q_EMIT finished(); return; // BundleInstaller:: xxxxx } QUrl url = QUrl::fromUserInput(m_url); if(url.scheme() == QLatin1String("adiumxtra")) { url.setScheme(QStringLiteral("http")); } QTemporaryFile *tmpFile = new QTemporaryFile(); if (tmpFile->open()) { KIO::Job* getJob = KIO::file_copy(url, QUrl::fromLocalFile(tmpFile->fileName()), -1, KIO::Overwrite | KIO::HideProgressInfo); if (getJob->exec()) { qWarning() << "Download failed"; Q_EMIT finished(); return; // BundleInstaller::BundleCannotOpen; } getJob->deleteLater(); } KArchive *archive = 0L; QMimeDatabase db; QString currentBundleMimeType = db.mimeTypeForFile(tmpFile->fileName()).name(); if (currentBundleMimeType == QLatin1String("application/zip")) { archive = new KZip(tmpFile->fileName()); } else if (currentBundleMimeType == QLatin1String("application/x-compressed-tar") || currentBundleMimeType == QLatin1String("application/x-bzip-compressed-tar") || currentBundleMimeType == QLatin1String("application/x-gzip") || currentBundleMimeType == QLatin1String("application/x-bzip")) { archive = new KTar(tmpFile->fileName()); } else { KNotification *notification = new KNotification(QLatin1String("packagenotrecognized"), NULL, KNotification::Persistent); notification->setText( i18n("Package type not recognized or not supported") ); notification->setActions( QStringList() << i18n("OK") ); QObject::connect(notification, SIGNAL(action1Activated()), notification, SLOT(close())); QObject::connect(notification, SIGNAL(ignored()), notification, SLOT(close())); notification->setComponentName(ktelepathyComponentName()); notification->sendEvent(); qWarning() << "Unsupported file type" << currentBundleMimeType; Q_EMIT finished(); return;// BundleInstaller::BundleNotValid; } if (!archive->open(QIODevice::ReadOnly)) { delete archive; qWarning() << "Cannot open theme file"; Q_EMIT finished(); return;// BundleInstaller::BundleCannotOpen; } ChatStyleInstaller *chatStyleInstaller = new ChatStyleInstaller(archive, tmpFile); if (chatStyleInstaller->validate() == BundleInstaller::BundleValid) { chatStyleInstaller->showRequest(); QObject::connect(chatStyleInstaller, SIGNAL(finished(BundleInstaller::BundleStatus)), chatStyleInstaller, SLOT(showResult())); QObject::connect(chatStyleInstaller, SIGNAL(showedResult()), this, SIGNAL(finished())); QObject::connect(chatStyleInstaller, SIGNAL(showedResult()), chatStyleInstaller, SLOT(deleteLater())); QObject::connect(chatStyleInstaller, SIGNAL(ignoredRequest()), this, SIGNAL(finished())); QObject::connect(chatStyleInstaller, SIGNAL(ignoredRequest()), chatStyleInstaller, SLOT(deleteLater())); return;// BundleInstaller::BundleValid; } delete chatStyleInstaller; EmoticonSetInstaller *emoticonSetInstaller = new EmoticonSetInstaller(archive, tmpFile); if(emoticonSetInstaller->validate() == BundleInstaller::BundleValid) { emoticonSetInstaller->showRequest(); QObject::connect(emoticonSetInstaller, SIGNAL(finished(BundleInstaller::BundleStatus)), emoticonSetInstaller, SLOT(showResult())); QObject::connect(emoticonSetInstaller, SIGNAL(showedResult()), this, SIGNAL(finished())); QObject::connect(emoticonSetInstaller, SIGNAL(showedResult()), emoticonSetInstaller, SLOT(deleteLater())); QObject::connect(emoticonSetInstaller, SIGNAL(ignoredRequest()), this, SIGNAL(finished())); QObject::connect(emoticonSetInstaller, SIGNAL(ignoredRequest()), emoticonSetInstaller, SLOT(deleteLater())); return;// BundleInstaller::BundleValid; } delete emoticonSetInstaller; KNotification *notification = new KNotification(QLatin1String("packagenotrecognized"), NULL, KNotification::Persistent); notification->setText( i18n("Package type not recognized or not supported") ); QObject::connect(notification, SIGNAL(action1Activated()), notification, SLOT(close())); QObject::connect(notification, SIGNAL(ignored()), notification, SLOT(close())); notification->setActions( QStringList() << i18n("OK") ); notification->setComponentName(ktelepathyComponentName()); notification->sendEvent(); Q_EMIT finished(); return;// BundleInstaller::BundleUnknownError; }