https://bugs.kde.org/show_bug.cgi?id=406506

--- Comment #12 from Méven Car <meve...@gmail.com> ---
(In reply to Méven Car from comment #10)
> I did some investigation to fix this.
> 
> The limitation is currently in kbaloorolesprovider 
> In QHash<QByteArray, QVariant> KBalooRolesProvider::roleValues(const
> Baloo::File& file,
> [...]
> // The baloo roles provider calls :
>     QMapIterator<KFileMetaData::Property::Property, QVariant>
> it(file.properties());
> 
> But has no other patch when baloo does not respond anything.
> Contrary to the InformationPanel that uses baloo-widgets FileMetaDataWidget
> widget that uses FileMetaDataProvider that uses IndexedDataRetriever when
> baloo has not find metadata.
> However IndexedDataRetriever calls directly the executable
> baloo_filemetadata_temp_extractor in a process to retrieve metadata for a
> file, and this is not a great idea to reuse the IndexedDataRetriever in a
> loop as the detail view needs, since for each file a process would need to
> get spawned, creating some overhead.
> And the dolphin view is filled synchronously in KFileItemModelRolesUpdater,
> making the UI freeze when the metadata are retrieved.
> 
> So the solution would be either reuse IndexedDataRetriever for the detail
> view and pay the price, or implement an API in Baloo to call do what
> baloo_filemetadata_temp_extractor does asynchronously and make dolphin able
> to load metadata asynchronously.

`baloo_filemetadata_temp_extractor` is in `extractor.cpp` whose code could be
turned into a KJob, that dolphin could use.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to