2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-03 08:05:12 +00:00

Option to disable Up shortcut to edit in chat

This commit is contained in:
RadRussianRus
2019-12-30 21:10:11 +03:00
parent 2dc0071b29
commit 1d4bbd6f81
4 changed files with 23 additions and 10 deletions

View File

@@ -225,6 +225,11 @@ bool Manager::readCustomFile() {
SetDialogListLines(settingsChatListLines); SetDialogListLines(settingsChatListLines);
} }
} }
const auto settingsDisableUpEditIt = settings.constFind(qsl("disable_up_edit"));
if (settingsDisableUpEditIt != settings.constEnd() && (*settingsDisableUpEditIt).isBool()) {
cSetDisableUpEdit((*settingsDisableUpEditIt).toBool());
}
return true; return true;
} }
@@ -260,6 +265,7 @@ void Manager::writeDefaultFile() {
settings.insert(qsl("net_speed_boost"), QJsonValue(QJsonValue::Null)); settings.insert(qsl("net_speed_boost"), QJsonValue(QJsonValue::Null));
settings.insert(qsl("show_phone_in_drawer"), cShowPhoneInDrawer()); settings.insert(qsl("show_phone_in_drawer"), cShowPhoneInDrawer());
settings.insert(qsl("chat_list_lines"), DialogListLines()); settings.insert(qsl("chat_list_lines"), DialogListLines());
settings.insert(qsl("disable_up_edit"), cDisableUpEdit());
auto settingsScales = QJsonArray(); auto settingsScales = QJsonArray();
settings.insert(qsl("scales"), settingsScales); settings.insert(qsl("scales"), settingsScales);
@@ -313,6 +319,7 @@ void Manager::writeCurrentSettings() {
settings.insert(qsl("net_speed_boost"), cNetSpeedBoost()); settings.insert(qsl("net_speed_boost"), cNetSpeedBoost());
settings.insert(qsl("show_phone_in_drawer"), cShowPhoneInDrawer()); settings.insert(qsl("show_phone_in_drawer"), cShowPhoneInDrawer());
settings.insert(qsl("chat_list_lines"), DialogListLines()); settings.insert(qsl("chat_list_lines"), DialogListLines());
settings.insert(qsl("disable_up_edit"), cDisableUpEdit());
auto settingsScales = QJsonArray(); auto settingsScales = QJsonArray();
auto currentScales = cInterfaceScales(); auto currentScales = cInterfaceScales();

View File

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

View File

@@ -271,3 +271,5 @@ int DialogListLines() {
rpl::producer<int> DialogListLinesChanges() { rpl::producer<int> DialogListLinesChanges() {
return gDialogListLines.changes(); return gDialogListLines.changes();
} }
bool gDisableUpEdit = false;

View File

@@ -226,3 +226,5 @@ void ClearCustomScales();
void SetDialogListLines(int lines); void SetDialogListLines(int lines);
[[nodiscard]] int DialogListLines(); [[nodiscard]] int DialogListLines();
[[nodiscard]] rpl::producer<int> DialogListLinesChanges(); [[nodiscard]] rpl::producer<int> DialogListLinesChanges();
DeclareSetting(bool, DisableUpEdit);