void managementWidget::installSingleClicked() { int result; QPtrList<packageInfo> plist; packageInfo *package = packageDisplay->package; if (package) { QString filename = package->getFilename(); kdDebug() << "File=" << filename <<"\n"; pkgInterface *interface = package->interface; if (interface->noFetch || !filename.isEmpty()) { plist.append(package); if (!interface->installation->setup(&plist, interface->head)) { return; } result = interface->installation->exec(); if (interface->installation->result() == QDialog::Accepted || interface->installation->modified) { // it was accepted, so the package has been installed packageInfo *inf; for (inf = plist.first(); inf != 0; inf = plist.next()) { updatePackage(inf,TRUE); } if (treeList->currentItem()) { KpTreeListItem *p = treeList->currentItem(); packageDisplay->changePackage(p->info); } else { packageDisplay->changePackage(0); // change package to no package } setupInstButton(); } // kdDebug() << "Result=" << result <<"\n"; } else { QString url = package->getUrl(); if (!url.isEmpty()) { QString s = kpackage->fetchNetFile(url); if (!s.isEmpty()) { packageDisplay->changePackage(package); setupInstButton(); } } else { KpMsgE(i18n("Filename not available\n"),TRUE); } } } kpackage->setPercent(100); searchLine->updateSearch(); checkMarked(); }
int procbuf::start (QString msg, bool errorDlg, int timeout, QString timeMsg ) { if (timeout) { tm->start(timeout*1000, TRUE); timed = true; } if (!proc->start(!msg.isNull() ? KProcess::NotifyOnExit : KProcess::Block, KProcess::All)) { if (errorDlg) { KpMsgE(i18n("Kprocess Failure"),TRUE); } return 0; }; if (!msg.isEmpty()) { m = new Modal(msg,kpkg, "wait"); m->exec(); delete m; m = 0; } kdDebug() << command << " dialog=" << errorDlg << " normal=" << proc->normalExit() << " exit=" << proc->exitStatus() << endl; if (timed) { kdDebug() << "timeout..................\n"; KpMsg("Error",i18n("Timeout: %1").arg(timeMsg), TRUE); delete proc; proc = 0; return 0; } else { if (!proc->normalExit() || proc->exitStatus()) { if (errorDlg) { KpMsg("Error",i18n("Kprocess error:%1").arg(buf), TRUE); } delete proc; proc = 0; return 0; } } delete proc; proc = 0; return 1; }