Skip to content

Commit bd21b03

Browse files
committed
fix: Notification appName is not translated
as title Log: as title pms: BUG-294157
1 parent 6798319 commit bd21b03

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

panels/notification/server/configs/org.deepin.dde.shell.notification.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,17 @@
133133
"description[zh_CN]": "系统应用列表",
134134
"permissions": "readwrite",
135135
"visibility": "private"
136+
},
137+
"AppNamesMap": {
138+
"value": {"dde-control-center":"org.deepin.dde.control-center"},
139+
"serial": 0,
140+
"flags": [],
141+
"name": "app names map",
142+
"name[zh_CN]": "应用名称映射",
143+
"description": "app names map",
144+
"description[zh_CN]": "应用名称映射",
145+
"permissions": "readwrite",
146+
"visibility": "private"
136147
}
137148
}
138149
}

panels/notification/server/notificationmanager.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ NotificationManager::NotificationManager(QObject *parent)
6565

6666
QScopedPointer<DConfig> config(DConfig::create("org.deepin.dde.shell", "org.deepin.dde.shell.notification"));
6767
m_systemApps = config->value("systemApps").toStringList();
68+
// TODO temporary fix for AppNamesMap
69+
m_appNamesMap = config->value("AppNamesMap").toMap();
6870
}
6971

7072
NotificationManager::~NotificationManager()
@@ -192,13 +194,15 @@ uint NotificationManager::Notify(const QString &appName, uint replacesId, const
192194
return 0;
193195
}
194196

197+
QString tsAppName = m_setting->appValue(appId, NotificationSetting::AppName).toString();
198+
195199
QString strBody = body;
196200
strBody.replace(QLatin1String("\\\\"), QLatin1String("\\"), Qt::CaseInsensitive);
197201

198202
QString strIcon = appIcon;
199203
if (strIcon.isEmpty())
200204
strIcon = m_setting->appValue(appId, NotificationSetting::AppIcon).toString();
201-
NotifyEntity entity(appName, replacesId, strIcon, summary, strBody, actions, hints, expireTimeout);
205+
NotifyEntity entity(tsAppName, replacesId, strIcon, summary, strBody, actions, hints, expireTimeout);
202206
entity.setAppId(appId);
203207
entity.setProcessedType(NotifyEntity::None);
204208
entity.setReplacesId(replacesId);
@@ -454,6 +458,11 @@ QString NotificationManager::appIdByAppName(const QString &appName) const
454458
if (item.id == appName || item.appName == appName)
455459
return item.id;
456460
}
461+
462+
if (m_appNamesMap.contains(appName)) {
463+
return m_appNamesMap.value(appName).toString();
464+
}
465+
457466
return QString();
458467
}
459468

panels/notification/server/notificationmanager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ private slots:
9393
qint64 m_lastTimeoutPoint = std::numeric_limits<qint64>::max();
9494
QMultiHash<qint64, NotifyEntity> m_pendingTimeoutEntities;
9595
QStringList m_systemApps;
96+
QMap<QString, QVariant> m_appNamesMap;
9697
};
9798

9899
} // notification

0 commit comments

Comments
 (0)