void Importer::start(const KUrl::List& list, const KUrl& destination) { d->mUrlList = list; d->mImportedUrlList.clear(); d->mSkippedUrlList.clear(); d->mRenamedCount = 0; d->mProgress = 0; d->mJobProgress = 0; emitProgressChanged(); maximumChanged(d->mUrlList.count() * 100); if (!d->createImportDir(destination)) { kWarning() << "Could not create import dir"; return; } d->importNext(); }
void Importer::slotPercent(KJob*, unsigned long percent) { d->mJobProgress = percent; emitProgressChanged(); }
void Importer::advance() { ++d->mProgress; d->mJobProgress = 0; emitProgressChanged(); }
/** * Load everything that's needed for initially displaying the package * tree. In case of Portage, this is the global settings and the * package tree. */ IJob::JobResult PortageInitialLoader::performThread() { if( m_packages == NULL ) { kdDebug() << i18n( "PortageInitialLoader debug output", "PortageInitialLoader::performThread(): " "Didn't start because the PackageList object is NULL" ) << endl; return Failure; } TemplatedPackageList<PortagePackage>* portagePackages = (TemplatedPackageList<PortagePackage>*) m_packages; JobResult result; // //TODO: Configuration values that should be // read from a configuration file (KConfigXT for the lib, please?) // QString filename = KGlobalSettings::documentPath() + "/portagetree.xml"; QString globalPackageMaskFile = "profiles/package.mask"; QString etcPackageMaskFile = "/etc/portage/package.mask"; QString etcPackageUnmaskFile = "/etc/portage/package.unmask"; QString etcPackageKeywordsFile = "/etc/portage/package.keywords"; // // load global Portage settings, like Portage directories and ARCH // emitCurrentTaskChanged( i18n("PortageInitialLoader task #1", "Loading global Portage settings...") ); ProfileLoader* profileLoader = new ProfileLoader(); profileLoader->setSettingsObject( m_settings ); result = profileLoader->perform(); profileLoader->deleteLater(); if( result == IJob::Failure ) DO_FAILURE; emitProgressChanged( 1, 10 ); // // set up the TreeScanner and load the package tree // emitCurrentTaskChanged( i18n("PortageInitialLoader task #2", "Loading packages from the Portage tree...") ); PortageTreeScanner* treeScanner = new PortageTreeScanner(); treeScanner->setPackageList( portagePackages ); treeScanner->setSettingsObject( m_settings ); connect( treeScanner, SIGNAL( packagesScanned(int,int) ), this, SLOT( emitPackagesScanned(int,int) ) ); connect( this, SIGNAL( aborted() ), treeScanner, SLOT( abort() ) ); result = treeScanner->perform(); this->disconnect( treeScanner ); // disconnects abort() treeScanner->deleteLater(); // disconnects everything else CHECK_ABORT; if( result == Failure ) { emitCurrentTaskChanged( i18n("PortageInitialLoader task #3 (%1 is the filename)", "Loading packages from %1...") .arg( filename ) ); PortageML* portageML = new PortageML(); portageML->setAction( PortageML::LoadFile ); portageML->setPackageList( portagePackages ); portageML->setFileName( filename ); connect( portageML, SIGNAL( packagesScanned(int,int) ), this, SLOT( emitPackagesScanned(int,int) ) ); connect( this, SIGNAL( aborted() ), portageML, SLOT( abort() ) ); result = portageML->perform(); this->disconnect( portageML ); // disconnects abort() portageML->deleteLater(); // disconnects everything else CHECK_ABORT; if( result == Failure ) DO_FAILURE; // else: go on }