diff --git a/ark/kerfuffle/archive.cpp b/ark/kerfuffle/archive.cpp
index a84808a3..053f601b 100644
--- a/ark/kerfuffle/archive.cpp
+++ b/ark/kerfuffle/archive.cpp
@@ -45,24 +45,11 @@ static bool comparePlugins(const KService::Ptr &p1, const KService::Ptr &p2)
return (p1->property(QLatin1String( "X-KDE-Priority" )).toInt()) > (p2->property(QLatin1String( "X-KDE-Priority" )).toInt());
}
-static QString determineMimeType(const QString& filename)
-{
- if (!QFile::exists(filename)) {
- return KMimeType::findByPath(filename)->name();
- }
-
- QFile file(filename);
- if (!file.open(QIODevice::ReadOnly)) {
- return QString();
- }
- return KMimeType::findByNameAndContent(filename, &file)->name();
-}
-
static KService::List findPluginOffers(const QString& filename, const QString& fixedMimeType)
{
KService::List offers;
- const QString mimeType = fixedMimeType.isEmpty() ? determineMimeType(filename) : fixedMimeType;
+ const QString mimeType = fixedMimeType.isEmpty() ? KMimeType::findByUrl(KUrl(filename))->name() : fixedMimeType;
if (!mimeType.isEmpty()) {
offers = KMimeTypeTrader::self()->query(mimeType, QLatin1String( "Kerfuffle/Plugin" ), QLatin1String( "(exist Library)" ));
diff --git a/ark/part/archivemodel.cpp b/ark/part/archivemodel.cpp
index c0142076..17534300 100644
--- a/ark/part/archivemodel.cpp
+++ b/ark/part/archivemodel.cpp
@@ -80,7 +80,7 @@ public:
if (entry[IsDirectory].toBool()) {
m_icon = KIconLoader::global()->loadMimeTypeIcon(KMimeType::mimeType(QLatin1String("inode/directory"))->iconName(), KIconLoader::Small);
} else {
- const KMimeType::Ptr mimeType = KMimeType::findByPath(m_entry[FileName].toString(), 0, true);
+ const KMimeType::Ptr mimeType = KMimeType::findByUrl(KUrl(m_entry[FileName].toString()));
m_icon = KIconLoader::global()->loadMimeTypeIcon(mimeType->iconName(), KIconLoader::Small);
}
}
diff --git a/ark/part/arkviewer.cpp b/ark/part/arkviewer.cpp
index af2c18d7..cad95af6 100644
--- a/ark/part/arkviewer.cpp
+++ b/ark/part/arkviewer.cpp
@@ -88,7 +88,8 @@ void ArkViewer::dialogClosed()
void ArkViewer::view(const QString& fileName, QWidget *parent)
{
- KMimeType::Ptr mimeType = KMimeType::findByPath(fileName);
+ const KUrl fileNameUrl = KUrl(fileName);
+ KMimeType::Ptr mimeType = KMimeType::findByUrl(fileNameUrl);
kDebug() << "MIME type" << mimeType->name();
KService::Ptr viewer = ArkViewer::getViewer(mimeType);
@@ -99,7 +100,7 @@ void ArkViewer::view(const QString& fileName, QWidget *parent)
// So there is no point in using KRun::runUrl() which would need
// to do the same again.
- const KUrl::List fileUrlList = KUrl(fileName);
+ const KUrl::List fileUrlList = fileNameUrl;
// The last argument (tempFiles) set to true means that the temporary
// file will be removed when the viewer application exits.
KRun::run(*viewer, fileUrlList, parent, true);
diff --git a/ark/part/infopanel.cpp b/ark/part/infopanel.cpp
index c69505bb..3a8c4307 100644
--- a/ark/part/infopanel.cpp
+++ b/ark/part/infopanel.cpp
@@ -104,7 +104,7 @@ void InfoPanel::setIndex(const QModelIndex& index)
if (entry[ IsDirectory ].toBool()) {
mimeType = KMimeType::mimeType(QLatin1String( "inode/directory" ));
} else {
- mimeType = KMimeType::findByPath(entry[ FileName ].toString(), 0, true);
+ mimeType = KMimeType::findByUrl(KUrl(entry[ FileName ].toString()));
}
iconWidget->setPixmap(getMimeIcon(mimeType->iconName()));
@@ -186,7 +186,7 @@ QString InfoPanel::metadataTextFor(const QModelIndex &index)
if (entry[ IsDirectory ].toBool()) {
mimeType = KMimeType::mimeType(QLatin1String( "inode/directory" ));
} else {
- mimeType = KMimeType::findByPath(entry[ FileName ].toString(), 0, true);
+ mimeType = KMimeType::findByUrl(KUrl(entry[ FileName ].toString()));
}
text += i18n("Type: %1
", mimeType->comment());
diff --git a/gwenview/lib/document/loadingdocumentimpl.cpp b/gwenview/lib/document/loadingdocumentimpl.cpp
index 7b0f32ef..0928ce93 100644
--- a/gwenview/lib/document/loadingdocumentimpl.cpp
+++ b/gwenview/lib/document/loadingdocumentimpl.cpp
@@ -87,10 +87,10 @@ struct LoadingDocumentImplPrivate
{
QString mimeType;
const KUrl& url = q->document()->url();
- if (KProtocolInfo::determineMimetypeFromExtension(url.protocol())) {
- mimeType = KMimeType::findByNameAndContent(url.fileName(), mData)->name();
- } else {
+ if (!mData.isEmpty()) {
mimeType = KMimeType::findByContent(mData)->name();
+ } else {
+ mimeType = KMimeType::findByUrl(url)->name();
}
MimeTypeUtils::Kind kind = MimeTypeUtils::mimeTypeKind(mimeType);
kDebug() << "mimeType:" << mimeType << ", kind:" << kind;
diff --git a/ksnapshot/ksnapshotobject.cpp b/ksnapshot/ksnapshotobject.cpp
index 3b61fdbf..3dd5714d 100644
--- a/ksnapshot/ksnapshotobject.cpp
+++ b/ksnapshot/ksnapshotobject.cpp
@@ -128,7 +128,7 @@ bool KSnapshotObject::save( const KUrl& url, QWidget *widget )
bool KSnapshotObject::saveEqual( const KUrl& url,QWidget *widget )
{
QByteArray type = "PNG";
- QString mime = KMimeType::findByUrl( url.fileName(), 0, url.isLocalFile(), true )->name();
+ QString mime = KMimeType::findByUrl( url )->name();
const QString formatType = KImageIO::typeForMime(mime, KImageIO::Writing);
if ( !formatType.isEmpty() )
type = formatType.toLatin1();
diff --git a/okular/core/document.cpp b/okular/core/document.cpp
index 63a1874c..4d5b490b 100644
--- a/okular/core/document.cpp
+++ b/okular/core/document.cpp
@@ -1994,25 +1994,13 @@ Document::OpenResult Document::openDocument( const QString & docFile, const KUrl
KService::List offers = KMimeTypeTrader::self()->query(mime->name(),"okular/Generator",constraint);
if ( offers.isEmpty() && !triedMimeFromFileContent )
{
- KMimeType::Ptr newmime = KMimeType::findByFileContent( docFile );
triedMimeFromFileContent = true;
+ KMimeType::Ptr newmime = KMimeType::findByUrl( docFile );
if ( newmime->name() != mime->name() )
{
mime = newmime;
offers = KMimeTypeTrader::self()->query( mime->name(), "okular/Generator", constraint );
}
- if ( offers.isEmpty() )
- {
- // There's still no offers, do a final mime search based on the filename
- // We need this because sometimes (e.g. when downloading from a webserver) the mimetype we
- // use is the one fed by the server, that may be wrong
- newmime = KMimeType::findByUrl( docFile );
- if ( newmime->name() != mime->name() )
- {
- mime = newmime;
- offers = KMimeTypeTrader::self()->query( mime->name(), "okular/Generator", constraint );
- }
- }
}
if (offers.isEmpty())
{
@@ -2050,7 +2038,7 @@ Document::OpenResult Document::openDocument( const QString & docFile, const KUrl
OpenResult openResult = d->openDocumentInternal( offer, isstdin, docFile, filedata, password );
if ( openResult == OpenError && !triedMimeFromFileContent )
{
- KMimeType::Ptr newmime = KMimeType::findByFileContent( docFile );
+ KMimeType::Ptr newmime = KMimeType::findByUrl( docFile );
triedMimeFromFileContent = true;
if ( newmime->name() != mime->name() )
{
@@ -3407,7 +3395,7 @@ void Document::processAction( const Action * action )
// Albert: the only pdf i have that has that kind of link don't define
// an application and use the fileName as the file to open
fileName = d->giveAbsolutePath( fileName );
- KMimeType::Ptr mime = KMimeType::findByPath( fileName );
+ KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(fileName) );
// Check executables
if ( KRun::isExecutableFile( fileName, mime->name() ) )
{
@@ -3415,7 +3403,7 @@ void Document::processAction( const Action * action )
if ( !exe->parameters().isEmpty() )
{
fileName = d->giveAbsolutePath( exe->parameters() );
- mime = KMimeType::findByPath( fileName );
+ mime = KMimeType::findByUrl( KUrl(fileName) );
if ( KRun::isExecutableFile( fileName, mime->name() ) )
{
// this case is a link pointing to an executable with a parameter
@@ -3840,7 +3828,7 @@ QByteArray Document::fontData(const FontInfo &font) const
Document::OpenResult Document::openDocumentArchive( const QString & docFile, const KUrl & url, const QString & password )
{
- const KMimeType::Ptr mime = KMimeType::findByPath( docFile, 0, false /* content too */ );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(docFile) );
if ( !mime->is( "application/vnd.kde.okular-archive" ) )
return OpenError;
@@ -3908,7 +3896,7 @@ Document::OpenResult Document::openDocumentArchive( const QString & docFile, con
}
}
- const KMimeType::Ptr docMime = KMimeType::findByPath( tempFileName, 0, true /* local file */ );
+ const KMimeType::Ptr docMime = KMimeType::findByUrl( KUrl(tempFileName) );
d->m_archiveData = archiveData.get();
d->m_archivedFileName = documentFileName;
const OpenResult ret = openDocument( tempFileName, url, docMime, password );
diff --git a/okular/generators/comicbook/document.cpp b/okular/generators/comicbook/document.cpp
index b570d118..05fc9df3 100644
--- a/okular/generators/comicbook/document.cpp
+++ b/okular/generators/comicbook/document.cpp
@@ -56,7 +56,7 @@ bool Document::open( const QString &fileName )
{
close();
- const KMimeType::Ptr mime = KMimeType::findByFileContent( fileName );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(fileName) );
// qDebug() << Q_FUNC_INFO << mime->name();
/**
diff --git a/okular/part.cpp b/okular/part.cpp
index 5552545a..31034cee 100644
--- a/okular/part.cpp
+++ b/okular/part.cpp
@@ -1138,7 +1138,7 @@ Document::OpenResult Part::doOpenFile( const KMimeType::Ptr &mimeA, const QStrin
{
*isCompressedFile = true;
uncompressOk = handleCompressed( fileNameToOpen, localFilePath(), compressedMime );
- mime = KMimeType::findByPath( fileNameToOpen );
+ mime = KMimeType::findByUrl( KUrl(fileNameToOpen) );
}
else
{
@@ -1238,7 +1238,7 @@ bool Part::openFile()
const QFileInfo fileInfo( fileNameToOpen );
if ( !isstdin && !fileInfo.exists() )
return false;
- KMimeType::Ptr pathMime = KMimeType::findByPath( fileNameToOpen );
+ KMimeType::Ptr pathMime = KMimeType::findByUrl( KUrl(fileNameToOpen) );
if ( !arguments().mimeType().isEmpty() )
{
KMimeType::Ptr argMime = KMimeType::mimeType( arguments().mimeType() );
@@ -1260,7 +1260,7 @@ bool Part::openFile()
}
if (mimes[0]->name() == "text/plain") {
- KMimeType::Ptr contentMime = KMimeType::findByFileContent( fileNameToOpen );
+ KMimeType::Ptr contentMime = KMimeType::findByUrl( KUrl(fileNameToOpen) );
mimes.prepend( contentMime );
}
}
diff --git a/okular/tests/addremoveannotationtest.cpp b/okular/tests/addremoveannotationtest.cpp
index 79ed80d9..99fda690 100644
--- a/okular/tests/addremoveannotationtest.cpp
+++ b/okular/tests/addremoveannotationtest.cpp
@@ -45,7 +45,7 @@ void AddRemoveAnnotationTest::initTestCase()
void AddRemoveAnnotationTest::init()
{
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument(testFile, KUrl(), mime);
}
diff --git a/okular/tests/annotationstest.cpp b/okular/tests/annotationstest.cpp
index a5f0d92c..725f0179 100644
--- a/okular/tests/annotationstest.cpp
+++ b/okular/tests/annotationstest.cpp
@@ -47,7 +47,7 @@ void AnnotationTest::initTestCase()
cg.writeEntry("annotExportAsArchive", false);
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument(testFile, KUrl(), mime);
}
diff --git a/okular/tests/documenttest.cpp b/okular/tests/documenttest.cpp
index e38d22ae..4862ad09 100644
--- a/okular/tests/documenttest.cpp
+++ b/okular/tests/documenttest.cpp
@@ -33,7 +33,7 @@ void DocumentTest::testCloseDuringRotationJob()
Okular::SettingsCore::instance( "documenttest" );
Okular::Document *m_document = new Okular::Document( 0 );
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
Okular::DocumentObserver *dummyDocumentObserver = new Okular::DocumentObserver();
m_document->addObserver( dummyDocumentObserver );
diff --git a/okular/tests/editannotationcontentstest.cpp b/okular/tests/editannotationcontentstest.cpp
index 20fc7834..aa0232af 100644
--- a/okular/tests/editannotationcontentstest.cpp
+++ b/okular/tests/editannotationcontentstest.cpp
@@ -109,7 +109,7 @@ void EditAnnotationContentsTest::cleanupTestCase()
void EditAnnotationContentsTest::init()
{
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument(testFile, KUrl(), mime);
// Undo and Redo should be unavailable when docuemnt is first opened.
diff --git a/okular/tests/editformstest.cpp b/okular/tests/editformstest.cpp
index 8bb09902..b1e0236d 100644
--- a/okular/tests/editformstest.cpp
+++ b/okular/tests/editformstest.cpp
@@ -64,7 +64,7 @@ void EditFormsTest::cleanupTestCase()
void EditFormsTest::init()
{
const QString testFile = KDESRCDIR "data/formSamples.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument( testFile, KUrl(), mime );
// Undo and Redo should be unavailable when docuemnt is first opened.
diff --git a/okular/tests/modifyannotationpropertiestest.cpp b/okular/tests/modifyannotationpropertiestest.cpp
index 8928814b..9a4d5281 100644
--- a/okular/tests/modifyannotationpropertiestest.cpp
+++ b/okular/tests/modifyannotationpropertiestest.cpp
@@ -55,7 +55,7 @@ void ModifyAnnotationPropertiesTest::cleanupTestCase()
void ModifyAnnotationPropertiesTest::init()
{
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument(testFile, KUrl(), mime);
// Undo and Redo should be unavailable when docuemnt is first opened.
diff --git a/okular/tests/searchtest.cpp b/okular/tests/searchtest.cpp
index 49f852df..c4079a94 100644
--- a/okular/tests/searchtest.cpp
+++ b/okular/tests/searchtest.cpp
@@ -173,7 +173,7 @@ void SearchTest::test311232()
QObject::connect(&d, SIGNAL(searchFinished(int,Okular::Document::SearchStatus)), &receiver, SLOT(searchFinished(int,Okular::Document::SearchStatus)));
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
d.openDocument(testFile, KUrl(), mime);
const int searchId = 0;
diff --git a/okular/tests/translateannotationtest.cpp b/okular/tests/translateannotationtest.cpp
index b2a5ea6d..bc5bd8b2 100644
--- a/okular/tests/translateannotationtest.cpp
+++ b/okular/tests/translateannotationtest.cpp
@@ -111,7 +111,7 @@ void TranslateAnnotationTest::cleanupTestCase()
void TranslateAnnotationTest::init()
{
const QString testFile = KDESRCDIR "data/file1.pdf";
- const KMimeType::Ptr mime = KMimeType::findByPath( testFile );
+ const KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(testFile) );
m_document->openDocument(testFile, KUrl(), mime);
// Undo and Redo should be unavailable when docuemnt is first opened.
diff --git a/okular/ui/annotationwidgets.cpp b/okular/ui/annotationwidgets.cpp
index 78d519e8..29f63ec9 100644
--- a/okular/ui/annotationwidgets.cpp
+++ b/okular/ui/annotationwidgets.cpp
@@ -685,7 +685,7 @@ QWidget * FileAttachmentAnnotationWidget::createExtraWidget()
tmplabel->setTextInteractionFlags( Qt::TextSelectableByMouse );
lay->addWidget( tmplabel, 3, 0, 1, 2 );
- KMimeType::Ptr mime = KMimeType::findByPath( ef->name(), 0, true );
+ KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(ef->name()) );
if ( mime )
{
tmplabel = new QLabel( widget );
diff --git a/okular/ui/embeddedfilesdialog.cpp b/okular/ui/embeddedfilesdialog.cpp
index 08160a0e..66d27317 100644
--- a/okular/ui/embeddedfilesdialog.cpp
+++ b/okular/ui/embeddedfilesdialog.cpp
@@ -60,7 +60,7 @@ EmbeddedFilesDialog::EmbeddedFilesDialog(QWidget *parent, const Okular::Document
{
QTreeWidgetItem *twi = new QTreeWidgetItem();
twi->setText(0, ef->name());
- KMimeType::Ptr mime = KMimeType::findByPath( ef->name(), 0, true );
+ KMimeType::Ptr mime = KMimeType::findByUrl( KUrl(ef->name()) );
if (mime)
{
twi->setIcon(0, KIcon(mime->iconName()));
diff --git a/thumbnailers/audio/AudioThumbs.cpp b/thumbnailers/audio/AudioThumbs.cpp
index c22f72f3..7537f824 100644
--- a/thumbnailers/audio/AudioThumbs.cpp
+++ b/thumbnailers/audio/AudioThumbs.cpp
@@ -60,7 +60,7 @@ bool ATCreator::create(const QString &path, int /*w*/, int /*h*/, QImage &img)
{
bool bRet = false;
- KMimeType::Ptr type = KMimeType::findByPath(path, 0, true);
+ KMimeType::Ptr type = KMimeType::findByUrl(KUrl(path));
if (type->is("audio/mpeg")) {
TagLib::MPEG::File mp3File(path.toUtf8());