From 41ee0ae95a3bc74854bdbc74eb1d7e08a2d63aa9 Mon Sep 17 00:00:00 2001 From: "Michael Z. Kadaner" Date: Sun, 21 Jul 2024 19:04:50 -0400 Subject: [PATCH] Do not change the number of bytes per line in Hex View when not in Hex mode. It's uncouth to change appearance of something that is not visible at the moment. --- far/changelog | 5 +++++ far/vbuild.m4 | 2 +- far/viewer.cpp | 18 ++++++++++++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/far/changelog b/far/changelog index 17afa60514..a415b1f97b 100644 --- a/far/changelog +++ b/far/changelog @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- +MZK 2024-07-21 18:59:11-04:00 - build 6352 + +1. Do not change the number of bytes per line in Hex View when not in Hex mode. + -------------------------------------------------------------------------------- drkns 2024-07-21 12:25:59+01:00 - build 6351 diff --git a/far/vbuild.m4 b/far/vbuild.m4 index 823935c5d7..8be99a4529 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -6351 +6352 diff --git a/far/viewer.cpp b/far/viewer.cpp index bdd7a52182..6a5d6472a0 100644 --- a/far/viewer.cpp +++ b/far/viewer.cpp @@ -296,6 +296,8 @@ wchar_t Viewer::ZeroChar() const void Viewer::ChangeHexModeBytesPerLine(int const Amount) { + assert(m_DisplayMode == VMT_HEX); + if (Amount == 0) return; const auto AbsAmount = std::abs(Amount); @@ -1964,22 +1966,30 @@ bool Viewer::process_key(const Manager::Key& Key) case KEY_ALTLEFT: case KEY_RALTLEFT: - ChangeHexModeBytesPerLine(-1); + if (m_DisplayMode == VMT_HEX) + ChangeHexModeBytesPerLine(-1); + return true; case KEY_CTRLALTLEFT: case KEY_RCTRLALTLEFT: case KEY_CTRLRALTLEFT: case KEY_RCTRLRALTLEFT: - ChangeHexModeBytesPerLine(-16); + if (m_DisplayMode == VMT_HEX) + ChangeHexModeBytesPerLine(-16); + return true; case KEY_ALTRIGHT: case KEY_RALTRIGHT: - ChangeHexModeBytesPerLine(1); + if (m_DisplayMode == VMT_HEX) + ChangeHexModeBytesPerLine(1); + return true; case KEY_CTRLALTRIGHT: case KEY_RCTRLALTRIGHT: case KEY_CTRLRALTRIGHT: case KEY_RCTRLRALTRIGHT: - ChangeHexModeBytesPerLine(16); + if (m_DisplayMode == VMT_HEX) + ChangeHexModeBytesPerLine(16); + return true; case KEY_CTRLSHIFTLEFT: case KEY_CTRLSHIFTNUMPAD4: