Support voice calls
This commit is contained in:
parent
c973fd759b
commit
7a206441c8
33 changed files with 1655 additions and 101 deletions
|
|
@ -77,6 +77,7 @@ UserSettings::load()
|
|||
presence_ =
|
||||
settings.value("user/presence", QVariant::fromValue(Presence::AutomaticPresence))
|
||||
.value<Presence>();
|
||||
useStunServer_ = settings.value("user/use_stun_server", false).toBool();
|
||||
|
||||
applyTheme();
|
||||
}
|
||||
|
|
@ -279,6 +280,16 @@ UserSettings::setTheme(QString theme)
|
|||
emit themeChanged(theme);
|
||||
}
|
||||
|
||||
void
|
||||
UserSettings::setUseStunServer(bool useStunServer)
|
||||
{
|
||||
if (useStunServer == useStunServer_)
|
||||
return;
|
||||
useStunServer_ = useStunServer;
|
||||
emit useStunServerChanged(useStunServer);
|
||||
save();
|
||||
}
|
||||
|
||||
void
|
||||
UserSettings::applyTheme()
|
||||
{
|
||||
|
|
@ -364,6 +375,7 @@ UserSettings::save()
|
|||
settings.setValue("font_family", font_);
|
||||
settings.setValue("emoji_font_family", emojiFont_);
|
||||
settings.setValue("presence", QVariant::fromValue(presence_));
|
||||
settings.setValue("use_stun_server", useStunServer_);
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
|
|
@ -429,6 +441,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
markdown_ = new Toggle{this};
|
||||
desktopNotifications_ = new Toggle{this};
|
||||
alertOnNotification_ = new Toggle{this};
|
||||
useStunServer_ = new Toggle{this};
|
||||
scaleFactorCombo_ = new QComboBox{this};
|
||||
fontSizeCombo_ = new QComboBox{this};
|
||||
fontSelectionCombo_ = new QComboBox{this};
|
||||
|
|
@ -482,6 +495,12 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
timelineMaxWidthSpin_->setMaximum(100'000'000);
|
||||
timelineMaxWidthSpin_->setSingleStep(10);
|
||||
|
||||
auto callsLabel = new QLabel{tr("CALLS"), this};
|
||||
callsLabel->setFixedHeight(callsLabel->minimumHeight() + LayoutTopMargin);
|
||||
callsLabel->setAlignment(Qt::AlignBottom);
|
||||
callsLabel->setFont(font);
|
||||
useStunServer_ = new Toggle{this};
|
||||
|
||||
auto encryptionLabel_ = new QLabel{tr("ENCRYPTION"), this};
|
||||
encryptionLabel_->setFixedHeight(encryptionLabel_->minimumHeight() + LayoutTopMargin);
|
||||
encryptionLabel_->setAlignment(Qt::AlignBottom);
|
||||
|
|
@ -612,6 +631,13 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
#endif
|
||||
|
||||
boxWrap(tr("Theme"), themeCombo_);
|
||||
|
||||
formLayout_->addRow(callsLabel);
|
||||
formLayout_->addRow(new HorizontalLine{this});
|
||||
boxWrap(tr("Allow Fallback Call Assist Server"),
|
||||
useStunServer_,
|
||||
tr("Will use turn.matrix.org as assist when your home server does not offer one."));
|
||||
|
||||
formLayout_->addRow(encryptionLabel_);
|
||||
formLayout_->addRow(new HorizontalLine{this});
|
||||
boxWrap(tr("Device ID"), deviceIdValue_);
|
||||
|
|
@ -724,6 +750,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
|
|||
settings_->setEnlargeEmojiOnlyMessages(!disabled);
|
||||
});
|
||||
|
||||
connect(useStunServer_, &Toggle::toggled, this, [this](bool disabled) {
|
||||
settings_->setUseStunServer(!disabled);
|
||||
});
|
||||
|
||||
connect(timelineMaxWidthSpin_,
|
||||
qOverload<int>(&QSpinBox::valueChanged),
|
||||
this,
|
||||
|
|
@ -766,6 +796,7 @@ UserSettingsPage::showEvent(QShowEvent *)
|
|||
enlargeEmojiOnlyMessages_->setState(!settings_->enlargeEmojiOnlyMessages());
|
||||
deviceIdValue_->setText(QString::fromStdString(http::client()->device_id()));
|
||||
timelineMaxWidthSpin_->setValue(settings_->timelineMaxWidth());
|
||||
useStunServer_->setState(!settings_->useStunServer());
|
||||
|
||||
deviceFingerprintValue_->setText(
|
||||
utils::humanReadableFingerprint(olm::client()->identity_keys().ed25519));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue