|
|
|
@ -70,9 +70,10 @@ UserSettings::load(std::optional<QString> profile) |
|
|
|
|
settings.value(QStringLiteral("user/timeline/message_hover_highlight"), false).toBool(); |
|
|
|
|
enlargeEmojiOnlyMessages_ = |
|
|
|
|
settings.value(QStringLiteral("user/timeline/enlarge_emoji_only_msg"), false).toBool(); |
|
|
|
|
markdown_ = settings.value(QStringLiteral("user/markdown_enabled"), true).toBool(); |
|
|
|
|
bubbles_ = settings.value(QStringLiteral("user/bubbles_enabled"), false).toBool(); |
|
|
|
|
smallAvatars_ = settings.value(QStringLiteral("user/small_avatars_enabled"), false).toBool(); |
|
|
|
|
markdown_ = settings.value(QStringLiteral("user/markdown_enabled"), true).toBool(); |
|
|
|
|
invertEnterKey_ = settings.value(QStringLiteral("user/invert_enter_key"), false).toBool(); |
|
|
|
|
bubbles_ = settings.value(QStringLiteral("user/bubbles_enabled"), false).toBool(); |
|
|
|
|
smallAvatars_ = settings.value(QStringLiteral("user/small_avatars_enabled"), false).toBool(); |
|
|
|
|
animateImagesOnHover_ = |
|
|
|
|
settings.value(QStringLiteral("user/animate_images_on_hover"), false).toBool(); |
|
|
|
|
typingNotifications_ = |
|
|
|
@ -289,6 +290,17 @@ UserSettings::setMarkdown(bool state) |
|
|
|
|
save(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
UserSettings::setInvertEnterKey(bool state) |
|
|
|
|
{ |
|
|
|
|
if (state == invertEnterKey_) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
invertEnterKey_ = state; |
|
|
|
|
emit invertEnterKeyChanged(state); |
|
|
|
|
save(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
UserSettings::setBubbles(bool state) |
|
|
|
|
{ |
|
|
|
@ -820,6 +832,7 @@ UserSettings::save() |
|
|
|
|
settings.setValue(QStringLiteral("read_receipts"), readReceipts_); |
|
|
|
|
settings.setValue(QStringLiteral("group_view"), groupView_); |
|
|
|
|
settings.setValue(QStringLiteral("markdown_enabled"), markdown_); |
|
|
|
|
settings.setValue(QStringLiteral("invert_enter_key"), invertEnterKey_); |
|
|
|
|
settings.setValue(QStringLiteral("bubbles_enabled"), bubbles_); |
|
|
|
|
settings.setValue(QStringLiteral("small_avatars_enabled"), smallAvatars_); |
|
|
|
|
settings.setValue(QStringLiteral("animate_images_on_hover"), animateImagesOnHover_); |
|
|
|
@ -927,6 +940,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const |
|
|
|
|
return tr("Communities sidebar"); |
|
|
|
|
case Markdown: |
|
|
|
|
return tr("Send messages as Markdown"); |
|
|
|
|
case InvertEnterKey: |
|
|
|
|
return tr("Use shift+enter to send and enter to start a new line"); |
|
|
|
|
case Bubbles: |
|
|
|
|
return tr("Enable message bubbles"); |
|
|
|
|
case SmallAvatars: |
|
|
|
@ -1061,6 +1076,8 @@ UserSettingsModel::data(const QModelIndex &index, int role) const |
|
|
|
|
return i->groupView(); |
|
|
|
|
case Markdown: |
|
|
|
|
return i->markdown(); |
|
|
|
|
case InvertEnterKey: |
|
|
|
|
return i->invertEnterKey(); |
|
|
|
|
case Bubbles: |
|
|
|
|
return i->bubbles(); |
|
|
|
|
case SmallAvatars: |
|
|
|
@ -1201,6 +1218,10 @@ UserSettingsModel::data(const QModelIndex &index, int role) const |
|
|
|
|
return tr( |
|
|
|
|
"Allow using markdown in messages.\nWhen disabled, all messages are sent as a plain " |
|
|
|
|
"text."); |
|
|
|
|
case InvertEnterKey: |
|
|
|
|
return tr( |
|
|
|
|
"Invert the behavior of the enter key in the text input, making it send the message " |
|
|
|
|
"when shift+enter is pressed and starting a new line when enter is pressed."); |
|
|
|
|
case Bubbles: |
|
|
|
|
return tr( |
|
|
|
|
"Messages get a bubble background. This also triggers some layout changes (WIP)."); |
|
|
|
@ -1343,6 +1364,7 @@ UserSettingsModel::data(const QModelIndex &index, int role) const |
|
|
|
|
case StartInTray: |
|
|
|
|
case GroupView: |
|
|
|
|
case Markdown: |
|
|
|
|
case InvertEnterKey: |
|
|
|
|
case Bubbles: |
|
|
|
|
case SmallAvatars: |
|
|
|
|
case AnimateImagesOnHover: |
|
|
|
@ -1568,6 +1590,13 @@ UserSettingsModel::setData(const QModelIndex &index, const QVariant &value, int |
|
|
|
|
} else |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
case InvertEnterKey: { |
|
|
|
|
if (value.userType() == QMetaType::Bool) { |
|
|
|
|
i->setInvertEnterKey(value.toBool()); |
|
|
|
|
return true; |
|
|
|
|
} else |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
case Bubbles: { |
|
|
|
|
if (value.userType() == QMetaType::Bool) { |
|
|
|
|
i->setBubbles(value.toBool()); |
|
|
|
@ -1984,6 +2013,9 @@ UserSettingsModel::UserSettingsModel(QObject *p) |
|
|
|
|
connect(s.get(), &UserSettings::markdownChanged, this, [this]() { |
|
|
|
|
emit dataChanged(index(Markdown), index(Markdown), {Value}); |
|
|
|
|
}); |
|
|
|
|
connect(s.get(), &UserSettings::invertEnterKeyChanged, this, [this]() { |
|
|
|
|
emit dataChanged(index(InvertEnterKey), index(InvertEnterKey), {Value}); |
|
|
|
|
}); |
|
|
|
|
connect(s.get(), &UserSettings::bubblesChanged, this, [this]() { |
|
|
|
|
emit dataChanged(index(Bubbles), index(Bubbles), {Value}); |
|
|
|
|
}); |
|
|
|
@ -2002,7 +2034,7 @@ UserSettingsModel::UserSettingsModel(QObject *p) |
|
|
|
|
connect(s.get(), &UserSettings::decryptNotificationsChanged, this, [this]() { |
|
|
|
|
emit dataChanged(index(DecryptNotifications), index(DecryptNotifications), {Value}); |
|
|
|
|
}); |
|
|
|
|
connect(s.get(), &UserSettings::spaceNotificationsChanged, this, [this] { |
|
|
|
|
connect(s.get(), &UserSettings::spaceNotificationsChanged, this, [this]() { |
|
|
|
|
emit dataChanged(index(SpaceNotifications), index(SpaceNotifications), {Value}); |
|
|
|
|
}); |
|
|
|
|
connect(s.get(), &UserSettings::trayChanged, this, [this]() { |
|
|
|
|