fix: call scanMimeInfo and scanAutostart when reloadApplications

issue: https://github.com/linuxdeepin/developer-center/issues/6702

Signed-off-by: ComixHe <heyuming@deepin.org>
This commit is contained in:
ComixHe 2024-01-04 14:22:01 +08:00 committed by Comix
parent 8e83422603
commit 810d5b996a
3 changed files with 11 additions and 0 deletions

View File

@ -622,6 +622,11 @@ void ApplicationManager1Service::ReloadApplications()
for (const auto &key : apps) { for (const auto &key : apps) {
removeOneApplication(key); removeOneApplication(key);
} }
m_mimeManager->reset();
scanMimeInfos();
scanAutoStart();
} }
ObjectMap ApplicationManager1Service::GetManagedObjects() const ObjectMap ApplicationManager1Service::GetManagedObjects() const

View File

@ -120,3 +120,8 @@ void MimeManager1Service::appendMimeInfo(MimeInfo &&info)
{ {
m_infos.emplace_back(std::move(info)); m_infos.emplace_back(std::move(info));
} }
void MimeManager1Service::reset() noexcept
{
m_infos.clear();
}

View File

@ -23,6 +23,7 @@ public:
void appendMimeInfo(MimeInfo &&info); void appendMimeInfo(MimeInfo &&info);
[[nodiscard]] const auto &infos() const noexcept { return m_infos; } [[nodiscard]] const auto &infos() const noexcept { return m_infos; }
[[nodiscard]] auto &infos() noexcept { return m_infos; } [[nodiscard]] auto &infos() noexcept { return m_infos; }
void reset() noexcept;
public Q_SLOTS: public Q_SLOTS:
[[nodiscard]] ObjectMap listApplications(const QString &mimeType) const noexcept; [[nodiscard]] ObjectMap listApplications(const QString &mimeType) const noexcept;