Better device name in Sailfish OS
This commit is contained in:
parent
f3656d962c
commit
f1b3c0e0ca
1 changed files with 28 additions and 9 deletions
|
@ -58,6 +58,29 @@ struct KdeConnectConfigPrivate {
|
|||
#endif
|
||||
};
|
||||
|
||||
static QString getDefaultDeviceName() {
|
||||
#ifdef SAILFISHOS
|
||||
const QString hwReleaseFile = QStringLiteral("/etc/hw-release");
|
||||
// QSettings will crash if the file does not exist or can be created, like in this case by us in /etc.
|
||||
// E.g. in the SFOS SDK Emulator there is no such file, so check before to protect against the crash.
|
||||
if (QFile::exists(hwReleaseFile)) {
|
||||
QSettings hwRelease(hwReleaseFile, QSettings::IniFormat);
|
||||
auto hwName = hwRelease.value(QStringLiteral("NAME")).toString();
|
||||
if (!hwName.isEmpty()) {
|
||||
return hwName;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QString username = QString::fromLatin1(qgetenv("USERNAME"));
|
||||
#else
|
||||
QString username = QString::fromLatin1(qgetenv("USER"));
|
||||
#endif
|
||||
return username + QStringLiteral("@") + QHostInfo::localHostName();
|
||||
}
|
||||
|
||||
|
||||
KdeConnectConfig& KdeConnectConfig::instance()
|
||||
{
|
||||
static KdeConnectConfig kcc;
|
||||
|
@ -86,19 +109,15 @@ KdeConnectConfig::KdeConnectConfig()
|
|||
|
||||
loadPrivateKey();
|
||||
loadCertificate();
|
||||
|
||||
if (name().isEmpty()) {
|
||||
setName(getDefaultDeviceName());
|
||||
}
|
||||
}
|
||||
|
||||
QString KdeConnectConfig::name()
|
||||
{
|
||||
QString username;
|
||||
#ifdef Q_OS_WIN
|
||||
username = QString::fromLatin1(qgetenv("USERNAME"));
|
||||
#else
|
||||
username = QString::fromLatin1(qgetenv("USER"));
|
||||
#endif
|
||||
QString defaultName = username + QStringLiteral("@") + QHostInfo::localHostName();
|
||||
QString name = d->m_config->value(QStringLiteral("name"), defaultName).toString();
|
||||
return name;
|
||||
return d->m_config->value(QStringLiteral("name")).toString();
|
||||
}
|
||||
|
||||
void KdeConnectConfig::setName(const QString& name)
|
||||
|
|
Loading…
Reference in a new issue