[Option][GUI] Disable edit by Up

This commit is contained in:
Eric Kotato 2022-08-26 22:30:07 +03:00 committed by Eric Kotato
parent 374bc85dc7
commit bfda76f7f9
5 changed files with 22 additions and 10 deletions

View file

@ -32,6 +32,7 @@
"ktg_settings_sticker_scale_both": "Apply to sticker width",
"ktg_settings_sticker_scale_both_about": "When enabled, sticker maximum width will be changed along with sticker height.",
"ktg_settings_emoji_outline": "Big emoji outline",
"ktg_settings_disable_up_edit": "Disable edit by Up key",
"ktg_settings_always_show_scheduled": "Always show scheduled",
"ktg_settings_chat_list_compact": "Compact chat list",
"ktg_fonts_title": "Fonts",

View file

@ -6186,15 +6186,18 @@ void HistoryWidget::keyPressEvent(QKeyEvent *e) {
} else if (e->key() == Qt::Key_Down && !commonModifiers) {
_scroll->keyPressEvent(e);
} else if (e->key() == Qt::Key_Up && !commonModifiers) {
const auto item = _history
? _history->lastEditableMessage()
: nullptr;
if (item
&& _field->empty()
&& !_editMsgId
&& !_replyToId) {
editMessage(item);
return;
if (!::Kotato::JsonSettings::GetBool("disable_up_edit")) {
const auto item = _history
? _history->lastEditableMessage()
: nullptr;
if (item
&& item->allowsEdit(base::unixtime::now())
&& _field->empty()
&& !_editMsgId
&& !_replyToId) {
editMessage(item);
return;
}
}
_scroll->keyPressEvent(e);
} else if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter) {

View file

@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "history/view/controls/history_view_compose_controls.h"
#include "kotato/kotato_settings.h"
#include "base/event_filter.h"
#include "base/platform/base_platform_info.h"
#include "base/qt_signal_producer.h"
@ -1384,7 +1385,9 @@ void ComposeControls::initKeyHandler() {
_attachRequests.fire({});
return;
}
if (key == Qt::Key_Up && !hasModifiers) {
if (key == Qt::Key_Up
&& !hasModifiers
&& !::Kotato::JsonSettings::GetBool("disable_up_edit")) {
if (!isEditingMessage() && _field->empty()) {
_editLastMessageRequests.fire(std::move(keyEvent));
return;

View file

@ -316,6 +316,9 @@ const std::map<QString, Definition, std::greater<QString>> DefinitionMap {
.type = SettingType::IntSetting,
.defaultValue = 2,
.limitHandler = IntLimit(1, 2, 2), }},
{ "disable_up_edit", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
};
using OldOptionKey = QString;

View file

@ -105,6 +105,8 @@ void SetupKotatoChats(
AddSkip(container);
AddSubsectionTitle(container, rktr("ktg_settings_chats"));
SettingsMenuJsonSwitch(ktg_settings_disable_up_edit, disable_up_edit);
AddButton(
container,
rktr("ktg_settings_chat_list_compact"),