From a83c6e28a16f998d89b956688f07ce5352a2864f Mon Sep 17 00:00:00 2001 From: saturneric Date: Wed, 27 Nov 2024 21:23:51 +0100 Subject: feat: improve ui logic and support more email operations --- src/ui/UIModuleManager.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/ui/UIModuleManager.cpp') diff --git a/src/ui/UIModuleManager.cpp b/src/ui/UIModuleManager.cpp index ed18f473..ba6172a4 100644 --- a/src/ui/UIModuleManager.cpp +++ b/src/ui/UIModuleManager.cpp @@ -61,7 +61,7 @@ auto UIModuleManager::DeclareMountPoint( auto UIModuleManager::MountEntry(const QString& id, QMap meta_data, - EntryFactory factory) -> bool { + QObjectFactory factory) -> bool { if (id.isEmpty() || !mount_points_.contains(id)) return false; if (factory == nullptr) return false; @@ -82,7 +82,7 @@ auto UIModuleManager::QueryMountedEntries(QString id) -> QList { } auto MountedUIEntry::GetWidget() const -> QWidget* { - return qobject_cast(static_cast(factory_(id_.toUtf8()))); + return qobject_cast(static_cast(factory_(nullptr))); } auto MountedUIEntry::GetMetaDataByDefault( @@ -176,4 +176,15 @@ void UIModuleManager::TranslateAllModulesParams() { #endif } +auto UIModuleManager::RegisterQObject(const QString& id, QObject* p) -> bool { + if (id.isEmpty() || registered_qobjects_.contains(id)) return false; + + registered_qobjects_[id] = p; + return true; +} + +auto UIModuleManager::GetQObject(const QString& id) -> QObject* { + return registered_qobjects_.value(id, nullptr); +} + } // namespace GpgFrontend::UI \ No newline at end of file -- cgit v1.2.3