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
|
## Unversioned
|
||||||
|
|
||||||
- Minor: Fixed usercard resizing improperly without recent messages. (#6496)
|
- 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: 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: 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)
|
- Dev: Remove unused QTextCodec includes. (#6487)
|
||||||
|
|||||||
@@ -1257,9 +1257,10 @@ MessagePtr MessageBuilder::makeDeletionMessageFromIRC(
|
|||||||
MessageColor::System);
|
MessageColor::System);
|
||||||
|
|
||||||
auto deletedMessageText = originalMessage->messageText;
|
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
|
builder
|
||||||
|
|||||||
@@ -331,14 +331,15 @@ void makeModerateMessage(
|
|||||||
|
|
||||||
builder.emplaceSystemTextAndUpdate("saying:", text);
|
builder.emplaceSystemTextAndUpdate("saying:", text);
|
||||||
|
|
||||||
if (action.messageBody.view().length() > 50)
|
auto limit = getSettings()->deletedMessageLengthLimit.getValue();
|
||||||
|
if (limit > 0 && action.messageBody.view().length() > limit)
|
||||||
{
|
{
|
||||||
builder
|
builder
|
||||||
.emplace<TextElement>(action.messageBody.qt().left(50) + "…",
|
.emplace<TextElement>(action.messageBody.qt().left(limit) + "…",
|
||||||
MessageElementFlag::Text, MessageColor::Text)
|
MessageElementFlag::Text, MessageColor::Text)
|
||||||
->setLink({Link::JumpToMessage, action.messageID.qt()});
|
->setLink({Link::JumpToMessage, action.messageID.qt()});
|
||||||
|
|
||||||
text.append(action.messageBody.qt().left(50) + "…");
|
text.append(action.messageBody.qt().left(limit) + "…");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -320,6 +320,13 @@ public:
|
|||||||
true,
|
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
|
// Auto-completion
|
||||||
BoolSetting onlyFetchChattersForSmallerStreamers = {
|
BoolSetting onlyFetchChattersForSmallerStreamers = {
|
||||||
"/behaviour/autocompletion/onlyFetchChattersForSmallerStreamers", true};
|
"/behaviour/autocompletion/onlyFetchChattersForSmallerStreamers", true};
|
||||||
|
|||||||
@@ -556,6 +556,22 @@ void GeneralPage::initLayout(GeneralPageView &layout)
|
|||||||
[](auto args) {
|
[](auto args) {
|
||||||
return fuzzyToInt(args.value, 0);
|
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();
|
layout.addSeparator();
|
||||||
|
|
||||||
SettingWidget::checkbox("Draw a line below the most recent message before "
|
SettingWidget::checkbox("Draw a line below the most recent message before "
|
||||||
|
|||||||
Reference in New Issue
Block a user