QString UBWidgetUniboardAPI::pageThumbnail(const int pageNumber) { if (UBApplication::boardController->activeScene() != mScene) return ""; UBDocumentProxy *doc = UBApplication::boardController->selectedDocument(); if (!doc) return ""; if (pageNumber > doc->pageCount()) return ""; QUrl url = UBThumbnailAdaptor::thumbnailUrl(doc, pageNumber - 1); return url.toString(); }
UBDocumentProxy* UBDocumentManager::importFile(const QFile& pFile, const QString& pGroup) { QFileInfo fileInfo(pFile); foreach (UBImportAdaptor *adaptor, mImportAdaptors) { if (adaptor->supportedExtentions().lastIndexOf(fileInfo.suffix().toLower()) != -1) { UBDocumentProxy* document; UBApplication::setDisabled(true); if (adaptor->isDocumentBased()) { UBDocumentBasedImportAdaptor* importAdaptor = (UBDocumentBasedImportAdaptor*)adaptor; document = importAdaptor->importFile(pFile, pGroup); } else { UBPageBasedImportAdaptor* importAdaptor = (UBPageBasedImportAdaptor*)adaptor; // Document import procedure..... QString documentName = QFileInfo(pFile.fileName()).completeBaseName(); document = UBPersistenceManager::persistenceManager()->createDocument(pGroup, documentName,false); QUuid uuid = QUuid::createUuid(); QString filepath = pFile.fileName(); if (importAdaptor->folderToCopy() != "") { bool b = UBPersistenceManager::persistenceManager()->addFileToDocument(document, pFile.fileName(), importAdaptor->folderToCopy() , uuid, filepath); if (!b) { UBPersistenceManager::persistenceManager()->deleteDocument(document); UBApplication::setDisabled(false); return NULL; } } QList<UBGraphicsItem*> pages = importAdaptor->import(uuid, filepath); int nPage = 0; foreach(UBGraphicsItem* page, pages) { UBApplication::showMessage(tr("Inserting page %1 of %2").arg(++nPage).arg(pages.size()), true); #ifdef Q_WS_MACX //Workaround for issue 912 QApplication::processEvents(); #endif int pageIndex = document->pageCount(); UBGraphicsScene* scene = UBPersistenceManager::persistenceManager()->createDocumentSceneAt(document, pageIndex); importAdaptor->placeImportedItemToScene(scene, page); UBPersistenceManager::persistenceManager()->persistDocumentScene(document, scene, pageIndex); } UBPersistenceManager::persistenceManager()->persistDocumentMetadata(document); UBApplication::showMessage(tr("Import successful.")); } UBApplication::setDisabled(false); return document; }