feat: add setting for character limit of truncated deleted messages (#6491)
This commit is contained in:
committed by
GitHub
parent
a7de887ee0
commit
1d06086bb9
@@ -3,6 +3,7 @@
|
||||
## Unversioned
|
||||
|
||||
- Minor: Fixed usercard resizing improperly without recent messages. (#6496)
|
||||
- Minor: Added setting for character limit of deleted messages. (#6491)
|
||||
- Dev: Update release documentation. (#6498)
|
||||
- Dev: Make code sanitizers opt in with the `CHATTERINO_SANITIZER_SUPPORT` CMake option. After that's enabled, use the `SANITIZE_*` flag to enable individual sanitizers. (#6493)
|
||||
- Dev: Remove unused QTextCodec includes. (#6487)
|
||||
|
||||
@@ -1257,9 +1257,10 @@ MessagePtr MessageBuilder::makeDeletionMessageFromIRC(
|
||||
MessageColor::System);
|
||||
|
||||
auto deletedMessageText = originalMessage->messageText;
|
||||
if (deletedMessageText.length() > 50)
|
||||
auto limit = getSettings()->deletedMessageLengthLimit.getValue();
|
||||
if (limit > 0 && deletedMessageText.length() > limit)
|
||||
{
|
||||
deletedMessageText = deletedMessageText.left(50) + "…";
|
||||
deletedMessageText = deletedMessageText.left(limit) + "…";
|
||||
}
|
||||
|
||||
builder
|
||||
|
||||
@@ -331,14 +331,15 @@ void makeModerateMessage(
|
||||
|
||||
builder.emplaceSystemTextAndUpdate("saying:", text);
|
||||
|
||||
if (action.messageBody.view().length() > 50)
|
||||
auto limit = getSettings()->deletedMessageLengthLimit.getValue();
|
||||
if (limit > 0 && action.messageBody.view().length() > limit)
|
||||
{
|
||||
builder
|
||||
.emplace<TextElement>(action.messageBody.qt().left(50) + "…",
|
||||
.emplace<TextElement>(action.messageBody.qt().left(limit) + "…",
|
||||
MessageElementFlag::Text, MessageColor::Text)
|
||||
->setLink({Link::JumpToMessage, action.messageID.qt()});
|
||||
|
||||
text.append(action.messageBody.qt().left(50) + "…");
|
||||
text.append(action.messageBody.qt().left(limit) + "…");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -320,6 +320,13 @@ public:
|
||||
true,
|
||||
};
|
||||
|
||||
/// The maximum length the contents of a deleted message can be
|
||||
/// before we truncate it in the chat
|
||||
IntSetting deletedMessageLengthLimit = {
|
||||
"/behaviour/deletedMessageLengthLimit",
|
||||
50,
|
||||
};
|
||||
|
||||
// Auto-completion
|
||||
BoolSetting onlyFetchChattersForSmallerStreamers = {
|
||||
"/behaviour/autocompletion/onlyFetchChattersForSmallerStreamers", true};
|
||||
|
||||
@@ -556,6 +556,22 @@ void GeneralPage::initLayout(GeneralPageView &layout)
|
||||
[](auto args) {
|
||||
return fuzzyToInt(args.value, 0);
|
||||
});
|
||||
layout.addDropdown<int>(
|
||||
"Limit length of deleted messages",
|
||||
{"No limit", "50 characters", "100 characters", "200 characters",
|
||||
"300 characters", "400 characters"},
|
||||
s.deletedMessageLengthLimit,
|
||||
[](auto val) {
|
||||
return val ? QString::number(val) + " characters"
|
||||
: QString("No limit");
|
||||
},
|
||||
[](const auto &args) {
|
||||
return fuzzyToInt(args.value, 0);
|
||||
},
|
||||
true,
|
||||
{"Limits the amount of characters displayed in deleted messages "
|
||||
"when announced via system message."});
|
||||
|
||||
layout.addSeparator();
|
||||
|
||||
SettingWidget::checkbox("Draw a line below the most recent message before "
|
||||
|
||||
Reference in New Issue
Block a user