From db1a98803e7659c1dd77075227caeba3f751c94e Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 4 May 2024 21:56:54 +0300 Subject: [PATCH] kate: do not use KMimeType::defaultMimeTypePtr() even tho KMimeType is shared data QString is cheaper to create and pass around Signed-off-by: Ivailo Monev --- kate/part/document/katedocument.cpp | 17 ++++++++--------- kate/part/mode/katemodemanager.cpp | 14 ++++++++------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/kate/part/document/katedocument.cpp b/kate/part/document/katedocument.cpp index 40874527..39661b14 100644 --- a/kate/part/document/katedocument.cpp +++ b/kate/part/document/katedocument.cpp @@ -1851,16 +1851,17 @@ bool KateDocument::print () //BEGIN KTextEditor::DocumentInfoInterface (### unfinished) QString KateDocument::mimeType() { - KMimeType::Ptr result = KMimeType::defaultMimeTypePtr(); - // if the document has a URL, try KMimeType::findByURL if ( ! this->url().isEmpty() ) - result = KMimeType::findByUrl( this->url() ); + return KMimeType::findByUrl( this->url() )->name(); - else if ( this->url().isEmpty() || ! this->url().isLocalFile() ) - result = mimeTypeForContent(); + else if ( this->url().isEmpty() || ! this->url().isLocalFile() ) { + KMimeType::Ptr mime = mimeTypeForContent(); + if (mime) + return mime->name(); + } - return result->name(); + return KMimeType::defaultMimeType(); } KMimeType::Ptr KateDocument::mimeTypeForContent() @@ -1886,9 +1887,7 @@ KMimeType::Ptr KateDocument::mimeTypeForContent() } buf.resize( bufpos ); - int accuracy = 0; - KMimeType::Ptr mt = KMimeType::findByContent(buf, &accuracy); - return mt ? mt : KMimeType::defaultMimeTypePtr(); + return KMimeType::findByContent(buf); } //END KTextEditor::DocumentInfoInterface diff --git a/kate/part/mode/katemodemanager.cpp b/kate/part/mode/katemodemanager.cpp index a3a1c3ff..93617792 100644 --- a/kate/part/mode/katemodemanager.cpp +++ b/kate/part/mode/katemodemanager.cpp @@ -239,20 +239,22 @@ QString KateModeManager::fileType (KateDocument *doc, const QString &fileToReadF } // Try content-based mimetype - KMimeType::Ptr mt; + QString mime; if (!fileToReadFrom.isEmpty()) { - mt = KMimeType::findByUrl(KUrl(fileToReadFrom)); - if (!mt) - mt = KMimeType::defaultMimeTypePtr(); + mime = KMimeType::findByUrl(KUrl(fileToReadFrom))->name(); } else { - mt = doc->mimeTypeForContent(); + KMimeType::Ptr mt = doc->mimeTypeForContent(); + if (mt) + mime = mt->name(); + else + mime = KMimeType::defaultMimeType(); } QList types; foreach (KateFileType *type, m_types) { - if (type->mimetypes.indexOf (mt->name()) > -1) + if (type->mimetypes.indexOf (mime) > -1) types.append (type); }