MCPcopy Create free account
hub / github.com/KDE/gwenview / createAdapterForDocument

Method createAdapterForDocument

lib/documentview/documentview.cpp:522–553  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

520}
521
522void DocumentView::createAdapterForDocument()
523{
524 const MimeTypeUtils::Kind documentKind = d->mDocument->kind();
525 if (d->mAdapter && documentKind == d->mAdapter->kind() && documentKind != MimeTypeUtils::KIND_UNKNOWN) {
526 // Do not reuse for KIND_UNKNOWN: we may need to change the message
527 LOG("Reusing current adapter");
528 return;
529 }
530 AbstractDocumentViewAdapter *adapter = nullptr;
531 switch (documentKind) {
532 case MimeTypeUtils::KIND_RASTER_IMAGE:
533 adapter = new RasterImageViewAdapter;
534 break;
535 case MimeTypeUtils::KIND_SVG_IMAGE:
536 adapter = new SvgViewAdapter;
537 break;
538 case MimeTypeUtils::KIND_VIDEO:
539 adapter = new VideoViewAdapter;
540 connect(adapter, SIGNAL(videoFinished()), SIGNAL(videoFinished()));
541 break;
542 case MimeTypeUtils::KIND_UNKNOWN:
543 adapter = new MessageViewAdapter;
544 static_cast<MessageViewAdapter *>(adapter)->setErrorMessage(i18n("Gwenview does not know how to display this kind of document"));
545 break;
546 default:
547 qCWarning(GWENVIEW_LIB_LOG) << "should not be called for documentKind=" << documentKind;
548 adapter = new MessageViewAdapter;
549 break;
550 }
551
552 d->setCurrentAdapter(adapter);
553}
554
555void DocumentView::openUrl(const QUrl &url, const DocumentView::Setup &setup)
556{

Callers

nothing calls this directly

Calls 3

setErrorMessageMethod · 0.80
setCurrentAdapterMethod · 0.80
kindMethod · 0.45

Tested by

no test coverage detected