void ScriptManager::slotRetrieveScript() { // Delete KNewStuff's configuration entries. These entries reflect which scripts // are already installed. As we cannot yet keep them in sync after uninstalling // scripts, we deactivate the check marks entirely. amaroK::config()->deleteGroup( "KNewStuffStatus" ); // we need this because KNewStuffGeneric's install function isn't clever enough AmarokScriptNewStuff *kns = new AmarokScriptNewStuff( "amarok/script", this ); KNS::Engine *engine = new KNS::Engine( kns, "amarok/script", this ); KNS::DownloadDialog *d = new KNS::DownloadDialog( engine, this ); d->setType( "amarok/script" ); // you have to do this by hand when providing your own Engine KNS::ProviderLoader *p = new KNS::ProviderLoader( this ); QObject::connect( p, SIGNAL( providersLoaded(Provider::List*) ), d, SLOT( slotProviders (Provider::List *) ) ); p->load( "amarok/script", "http://amarok.kde.org/knewstuff/amarokscripts-providers.xml" ); d->exec(); }
int main(int argc, char **argv) { KAboutData about("khotnewstuff", "KHotNewStuff", "0.2"); KCmdLineArgs *args; KCmdLineArgs::init(argc, argv, &about); KCmdLineArgs::addCmdLineOptions(op); args = KCmdLineArgs::parsedArgs(); KApplication i; KNS::DownloadDialog d; if(args->isSet("type")) d.setType(args->getOption("type")); if(args->count() == 1) d.setProviderList(args->arg(0)); d.load(); d.exec(); return 0; }