Some defaults vary per platform

Although this was set up for Android, it applies certain changes to iOS as well, in case nheko ever is ported to iOS.
android
Loren Burkholder 4 years ago
parent f8392b8e45
commit 5610529bac
  1. 26
      src/UserSettingsPage.cpp
  2. 4
      src/UserSettingsPage.h

@ -13,6 +13,7 @@
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
#include <QMessageBox> #include <QMessageBox>
#include <QOperatingSystemVersion>
#include <QPainter> #include <QPainter>
#include <QProcessEnvironment> #include <QProcessEnvironment>
#include <QPushButton> #include <QPushButton>
@ -37,6 +38,15 @@
#include "config/nheko.h" #include "config/nheko.h"
namespace UserSettingsDefault {
constexpr auto os = QOperatingSystemVersion::currentType();
constexpr bool mobileOS =
(os == QOperatingSystemVersion::Android || os == QOperatingSystemVersion::IOS);
constexpr bool mobileMode = mobileOS;
// TODO: this should always be false; this is a temporary hack to get Android working
constexpr bool disableCertificateValidation = mobileOS ? true : false;
}
QSharedPointer<UserSettings> UserSettings::instance_; QSharedPointer<UserSettings> UserSettings::instance_;
UserSettings::UserSettings() UserSettings::UserSettings()
@ -90,11 +100,11 @@ UserSettings::load(std::optional<QString> profile)
decryptSidebar_ = settings.value("user/decrypt_sidebar", true).toBool(); decryptSidebar_ = settings.value("user/decrypt_sidebar", true).toBool();
privacyScreen_ = settings.value("user/privacy_screen", false).toBool(); privacyScreen_ = settings.value("user/privacy_screen", false).toBool();
privacyScreenTimeout_ = settings.value("user/privacy_screen_timeout", 0).toInt(); privacyScreenTimeout_ = settings.value("user/privacy_screen_timeout", 0).toInt();
mobileMode_ = settings.value("user/mobile_mode", false).toBool(); mobileMode_ = settings.value("user/mobile_mode", UserSettingsDefault::mobileMode).toBool();
emojiFont_ = settings.value("user/emoji_font_family", "default").toString(); emojiFont_ = settings.value("user/emoji_font_family", "default").toString();
baseFontSize_ = settings.value("user/font_size", QFont().pointSizeF()).toDouble(); baseFontSize_ = settings.value("user/font_size", QFont().pointSizeF()).toDouble();
auto tempPresence = settings.value("user/presence", "").toString().toStdString(); auto tempPresence = settings.value("user/presence", "").toString().toStdString();
auto presenceValue = QMetaEnum::fromType<Presence>().keyToValue(tempPresence.c_str()); auto presenceValue = QMetaEnum::fromType<Presence>().keyToValue(tempPresence.c_str());
if (presenceValue < 0) if (presenceValue < 0)
presenceValue = 0; presenceValue = 0;
presence_ = static_cast<Presence>(presenceValue); presence_ = static_cast<Presence>(presenceValue);
@ -128,8 +138,10 @@ UserSettings::load(std::optional<QString> profile)
settings.value(prefix + "user/only_share_keys_with_verified_users", false).toBool(); settings.value(prefix + "user/only_share_keys_with_verified_users", false).toBool();
useOnlineKeyBackup_ = settings.value(prefix + "user/online_key_backup", false).toBool(); useOnlineKeyBackup_ = settings.value(prefix + "user/online_key_backup", false).toBool();
disableCertificateValidation_ = disableCertificateValidation_ = settings
settings.value("disable_certificate_validation", false).toBool(); .value("disable_certificate_validation",
UserSettingsDefault::disableCertificateValidation)
.toBool();
applyTheme(); applyTheme();
} }

@ -235,9 +235,9 @@ public:
bool disableCertificateValidation() const bool disableCertificateValidation() const
{ {
#ifdef Q_OS_ANDROID #ifdef Q_OS_ANDROID
return true; return true;
#else #else
return disableCertificateValidation_; return disableCertificateValidation_;
#endif #endif
} }
QStringList hiddenTags() const { return hiddenTags_; } QStringList hiddenTags() const { return hiddenTags_; }

Loading…
Cancel
Save