//---------------------------------------------------------------- void Collection::import_paper() { //we should not try to add a paper if no current library; if ( !_current_library ) { QMessageBox::about(this, tr("Error"), tr("Error: you have no Libraries defined\n" "you cannot create a new paper")); return; } QWebPage * page = _rss_box->page(); QWebFrame * frame = page->mainFrame(); //now create a new paper and parse out the values we want. _parser->setData(frame->toHtml()); _stdout << "Collection::import_paper title" << _parser->getTitle() << endl; _stdout << "Collection::import_paper authors" << _parser->getAuthors() << endl; Paper * paper = new Paper(); paper->set_title(_parser->getTitle()); paper->set_author(_parser->getAuthors()); paper->set_abstract(_parser->getAbstract()); paper->set_date(_parser->getDate()); paper->set_arxiv_number(_parser->getNumber()); //Download the damn thing _manager = new QNetworkAccessManager(this); _manager->get(QNetworkRequest(_parser->getDownloadLocation())); connect(_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(download_finished(QNetworkReply*))); QDir directory(_current_library->get_library_directory()+"/"+_parser->getPaperName()); _stdout << "Collection::import_paper " << directory.absolutePath() << endl; paper->set_file_name(directory.absolutePath()); //add the entry to the library _current_library->add_entry(paper); //add the entry to the list add_paper_to_list(*paper,_paper_list); update_library_list(); }