bool KoPADocument::loadOdf(KOdfStoreReader &odfStore) { QPointer<KoUpdater> updater; if (progressUpdater()) { updater = progressUpdater()->startSubtask(1, "KoPADocument::loadOdf"); updater->setProgress(0); } KOdfLoadingContext loadingContext(odfStore.styles(), odfStore.store(), componentData()); KoPALoadingContext paContext(loadingContext, resourceManager()); KXmlElement content = odfStore.contentDoc().documentElement(); KXmlElement realBody (KoXml::namedItemNS(content, KOdfXmlNS::office, "body")); if (realBody.isNull()) { kError(30010) << "No body tag found!" << endl; return false; } KXmlElement body = KoXml::namedItemNS(realBody, KOdfXmlNS::office, odfTagName(false)); if (body.isNull()) { kError(30010) << "No office:" << odfTagName(false) << " tag found!" << endl; return false; } // Load text styles before the corresponding text shapes try to use them! KTextSharedLoadingData * sharedData = new KTextSharedLoadingData(); paContext.addSharedData(KODFTEXT_SHARED_LOADING_ID, sharedData); KStyleManager *styleManager = resourceManager()->resource(KOdfText::StyleManager).value<KStyleManager*>(); sharedData->loadOdfStyles(paContext, styleManager); d->masterPages = loadOdfMasterPages(odfStore.styles().masterPages(), paContext); if (!loadOdfProlog(body, paContext)) { return false; } d->pages = loadOdfPages(body, paContext); // create pages if there are none if (d->masterPages.empty()) { d->masterPages.append(newMasterPage()); } if (d->pages.empty()) { d->pages.append(newPage(static_cast<KoPAMasterPage*>(d->masterPages.first()))); } if (!loadOdfEpilogue(body, paContext)) { return false; } loadOdfDocumentStyles(paContext); if (d->pages.size() > 1) { setActionEnabled(KoPAView::ActionDeletePage, false); } updatePageCount(); if (updater) updater->setProgress(100); return true; }
} KActionCollection* ActionManagerImpl::actionCollection() { return d->actionCollection; } QAction* ActionManagerImpl::action(const char* name) { return d->actionCollection != 0 ? d->actionCollection->action(name) : 0; } void ActionManagerImpl::setArticleActionsEnabled( bool enabled ) { #undef setActionEnabled #define setActionEnabled(name) { QAction* const a = action( name ); if ( a ) a->setEnabled( enabled ); } setActionEnabled("article_open") setActionEnabled("article_open_external") setActionEnabled("article_set_status_important") setActionEnabled("article_set_status") setActionEnabled("article_delete") setActionEnabled("file_sendlink") setActionEnabled("file_sendfile") setActionEnabled("article_open_in_background") #undef setActionEnabled } } // namespace Akregator #include "actionmanagerimpl.moc"