mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-23 10:22:52 +00:00
generic: adjust to KMimeType changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
c361c2533e
commit
3cf815c995
20 changed files with 32 additions and 56 deletions
|
@ -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)" ));
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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("<b>Type:</b> %1<br/>", mimeType->comment());
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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();
|
||||
/**
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Add table
Reference in a new issue