Skip to content

Commit

Permalink
fix: update module metadata translations at soft restart
Browse files Browse the repository at this point in the history
  • Loading branch information
saturneric committed Sep 28, 2024
1 parent 7bf010a commit 5953e0e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 15 deletions.
22 changes: 8 additions & 14 deletions src/ui/UIModuleManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,18 +69,6 @@ auto UIModuleManager::MountEntry(const QString& id,
MountedUIEntry m_entry;
m_entry.id_ = id;

#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
for (const auto& meta : meta_data.asKeyValueRange()) {
meta_data[meta.first] =
QApplication::translate("GTrC", meta.second.toUtf8());
}
#else
for (auto it = meta_data.keyValueBegin(); it != meta_data.keyValueEnd();
++it) {
meta_data[it->first] = QApplication::translate("GTrC", it->second.toUtf8());
}
#endif

m_entry.meta_data_ = std::move(meta_data);
m_entry.factory_ = factory;

Expand All @@ -99,6 +87,7 @@ auto MountedUIEntry::GetWidget() const -> QWidget* {

auto MountedUIEntry::GetMetaDataByDefault(
const QString& key, QString default_value) const -> QString {
if (meta_data_translated_.contains(key)) return meta_data_translated_[key];
if (!meta_data_.contains(key)) return default_value;
return meta_data_[key];
}
Expand Down Expand Up @@ -162,19 +151,24 @@ void UIModuleManager::TranslateAllModulesParams() {
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
for (auto entry : mounted_entries_.asKeyValueRange()) {
for (auto& m_entry : entry.second) {
m_entry.meta_data_translated_.clear();
for (auto param : m_entry.meta_data_.asKeyValueRange()) {
m_entry.meta_data_[param.first] =
m_entry.meta_data_translated_[param.first] =
QApplication::translate("GTrC", param.second.toUtf8());
LOG_D() << "module entry metadata key: " << param.first
<< "value: " << param.second
<< "translated: " << m_entry.meta_data_translated_[param.first];
}
}
}
#else
for (auto it = mounted_entries_.keyValueBegin();
it != mounted_entries_.keyValueEnd(); ++it) {
for (auto& m_entry : it->second) {
m_entry.meta_data_translated_.clear();
for (auto it_p = m_entry.meta_data_.keyValueBegin();
it_p != m_entry.meta_data_.keyValueEnd(); ++it_p) {
m_entry.meta_data_[it_p->first] =
m_entry.meta_data_translated_[it_p->first] =
QApplication::translate("GTrC", it_p->second.toUtf8());
}
}
Expand Down
1 change: 1 addition & 0 deletions src/ui/UIModuleManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ namespace GpgFrontend::UI {
struct MountedUIEntry {
QString id_;
QMap<QString, QString> meta_data_;
QMap<QString, QString> meta_data_translated_;
EntryFactory factory_;

MountedUIEntry() = default;
Expand Down

0 comments on commit 5953e0e

Please sign in to comment.