From 12785c00bd8aacd179187a15877bb778c73254fe Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 10 Aug 2025 18:24:52 +0200 Subject: [PATCH] impr: Condense and modernize data inspector view --- main/gui/source/main.cpp | 1 + plugins/builtin/romfs/lang/de_DE.json | 16 +++++----- plugins/builtin/romfs/lang/en_US.json | 16 +++++----- plugins/builtin/romfs/lang/es_ES.json | 14 ++++----- plugins/builtin/romfs/lang/fr_FR.json | 16 +++++----- plugins/builtin/romfs/lang/hu_HU.json | 16 +++++----- plugins/builtin/romfs/lang/it_IT.json | 12 ++++---- plugins/builtin/romfs/lang/ja_JP.json | 12 ++++---- plugins/builtin/romfs/lang/ko_KR.json | 16 +++++----- plugins/builtin/romfs/lang/pl_PL.json | 16 +++++----- plugins/builtin/romfs/lang/pt_BR.json | 12 ++++---- plugins/builtin/romfs/lang/ru_RU.json | 6 ++-- plugins/builtin/romfs/lang/zh_CN.json | 6 ++-- plugins/builtin/romfs/lang/zh_TW.json | 6 ++-- .../builtin/source/content/data_inspector.cpp | 10 +++---- .../content/views/view_data_inspector.cpp | 30 +++++++++---------- 16 files changed, 102 insertions(+), 103 deletions(-) diff --git a/main/gui/source/main.cpp b/main/gui/source/main.cpp index 9f819da6f..c49cccaa8 100644 --- a/main/gui/source/main.cpp +++ b/main/gui/source/main.cpp @@ -18,6 +18,7 @@ namespace hex::init { void runCommandLine(int argc, char **argv); } + /** * @brief Main entry point of ImHex * @param argc Argument count diff --git a/plugins/builtin/romfs/lang/de_DE.json b/plugins/builtin/romfs/lang/de_DE.json index b21d5907c..32b1d9e7e 100644 --- a/plugins/builtin/romfs/lang/de_DE.json +++ b/plugins/builtin/romfs/lang/de_DE.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "Webseite nachschlagen", "hex.builtin.command.web.result": "'{0}' nachschlagen", "hex.builtin.drag_drop.text": "Dateien hier ablegen um sie zu öffnen...", - "hex.builtin.inspector.ascii": "ASCII Zeichen", - "hex.builtin.inspector.binary": "Binär (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binär", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "DOS Date", "hex.builtin.inspector.dos_time": "DOS Time", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,10 +89,10 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "RGB565 Farbe", "hex.builtin.inspector.rgba8": "RGBA8 Farbe", - "hex.builtin.inspector.sleb128": "Signed LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "String", "hex.builtin.inspector.wstring": "Wide String", "hex.builtin.inspector.time": "time_t", @@ -104,7 +104,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "Unsigned LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "Standard", diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 126b21e93..e4663f02f 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -78,8 +78,8 @@ "hex.builtin.command.web.desc": "Website lookup", "hex.builtin.command.web.result": "Navigate to '{0}'", "hex.builtin.drag_drop.text": "Drop files here to open them...", - "hex.builtin.inspector.ascii": "ASCII Character", - "hex.builtin.inspector.binary": "Binary (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binary", "hex.builtin.inspector.bfloat16": "bfloat16", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.custom_encoding": "Custom Encoding", @@ -87,9 +87,9 @@ "hex.builtin.inspector.custom_encoding.no_encoding": "No encoding selected", "hex.builtin.inspector.dos_date": "DOS Date", "hex.builtin.inspector.dos_time": "DOS Time", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.fp24": "fp24", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", @@ -99,10 +99,10 @@ "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", "hex.builtin.inspector.jump_to_address": "Jump to address", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "RGB565 Color", "hex.builtin.inspector.rgba8": "RGBA8 Color", - "hex.builtin.inspector.sleb128": "Signed LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "String", "hex.builtin.inspector.wstring": "Wide String", "hex.builtin.inspector.string16": "String16", @@ -116,7 +116,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "Unsigned LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.inspector.char16": "char16_t", diff --git a/plugins/builtin/romfs/lang/es_ES.json b/plugins/builtin/romfs/lang/es_ES.json index b644e2b9a..0d0bc9d37 100644 --- a/plugins/builtin/romfs/lang/es_ES.json +++ b/plugins/builtin/romfs/lang/es_ES.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "Búsqueda (de) web", "hex.builtin.command.web.result": "Navegar a '{0}'", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "Carácter ASCII", - "hex.builtin.inspector.binary": "Binario (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binario", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "Fecha DOS", "hex.builtin.inspector.dos_time": "Hora DOS", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -92,7 +92,7 @@ "hex.builtin.inspector.long_double": "", "hex.builtin.inspector.rgb565": "Color RGB565", "hex.builtin.inspector.rgba8": "Color RGBA8", - "hex.builtin.inspector.sleb128": "LEB128 con Signo", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "Cadena ", "hex.builtin.inspector.wstring": "Cadena (wide)", "hex.builtin.inspector.time": "time_t", @@ -104,7 +104,7 @@ "hex.builtin.inspector.u48": "", "hex.builtin.inspector.u64": "", "hex.builtin.inspector.u8": "", - "hex.builtin.inspector.uleb128": "LEB128 sin Signo", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "Código UTF-8", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "Por defecto", diff --git a/plugins/builtin/romfs/lang/fr_FR.json b/plugins/builtin/romfs/lang/fr_FR.json index 9fe0dfd35..397bc4de3 100644 --- a/plugins/builtin/romfs/lang/fr_FR.json +++ b/plugins/builtin/romfs/lang/fr_FR.json @@ -76,14 +76,14 @@ "hex.builtin.command.web.desc": "Recherche sur le web", "hex.builtin.command.web.result": "Naviguer vers '{0}'", "hex.builtin.drag_drop.text": "Déposez des fichiers ici pour les ouvrir...", - "hex.builtin.inspector.ascii": "Caractère ASCII", - "hex.builtin.inspector.binary": "Binaire (8 bits)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binaire", "hex.builtin.inspector.bool": "booléen", "hex.builtin.inspector.dos_date": "Date DOS", "hex.builtin.inspector.dos_time": "Heure DOS", - "hex.builtin.inspector.double": "double (64 bits)", - "hex.builtin.inspector.float": "float (32 bits)", - "hex.builtin.inspector.float16": "demi-float (16 bits)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "demi-float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -92,10 +92,10 @@ "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", "hex.builtin.inspector.jump_to_address": "Aller à l'adresse", - "hex.builtin.inspector.long_double": "long double (128 bits)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "Couleur RGB565", "hex.builtin.inspector.rgba8": "Couleur RGBA8", - "hex.builtin.inspector.sleb128": "LEB128 signé", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "Chaîne", "hex.builtin.inspector.wstring": "Chaîne large", "hex.builtin.inspector.string16": "Chaîne16", @@ -109,7 +109,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "LEB128 non signé", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "Point de code UTF-8", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.inspector.char16": "char16_t", diff --git a/plugins/builtin/romfs/lang/hu_HU.json b/plugins/builtin/romfs/lang/hu_HU.json index 1a45b95e6..58ad5232c 100644 --- a/plugins/builtin/romfs/lang/hu_HU.json +++ b/plugins/builtin/romfs/lang/hu_HU.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "Weboldal keresés", "hex.builtin.command.web.result": "Navigálás ide: '{0}'", "hex.builtin.drag_drop.text": "Húzz ide fájlokat a megnyitásukhoz...", - "hex.builtin.inspector.ascii": "ASCII Karakter", - "hex.builtin.inspector.binary": "Bináris (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Bináris", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "DOS Dátum", "hex.builtin.inspector.dos_time": "DOS Idő", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,10 +89,10 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "RGB565 Szín", "hex.builtin.inspector.rgba8": "RGBA8 Szín", - "hex.builtin.inspector.sleb128": "Előjeles LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "String", "hex.builtin.inspector.wstring": "Széles string", "hex.builtin.inspector.time": "time_t", @@ -104,7 +104,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "Előjeletlen LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 kód pont", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "Alapértelmezett", diff --git a/plugins/builtin/romfs/lang/it_IT.json b/plugins/builtin/romfs/lang/it_IT.json index 8970c52aa..4fb58ae9d 100644 --- a/plugins/builtin/romfs/lang/it_IT.json +++ b/plugins/builtin/romfs/lang/it_IT.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "Consulta il Web", "hex.builtin.command.web.result": "Naviga a '{0}'", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "ASCII Character", - "hex.builtin.inspector.binary": "Binary (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binary", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "", "hex.builtin.inspector.dos_time": "", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,7 +89,7 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "Colori RGB565", "hex.builtin.inspector.rgba8": "Colori RGBA8", "hex.builtin.inspector.sleb128": "", diff --git a/plugins/builtin/romfs/lang/ja_JP.json b/plugins/builtin/romfs/lang/ja_JP.json index 8dd4427f7..0ef1d3ca7 100644 --- a/plugins/builtin/romfs/lang/ja_JP.json +++ b/plugins/builtin/romfs/lang/ja_JP.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "ウェブサイト参照", "hex.builtin.command.web.result": "'{0}' を開く", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "ASCII", - "hex.builtin.inspector.binary": "バイナリ (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "バイナリ", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "", "hex.builtin.inspector.dos_time": "", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,7 +89,7 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "RGB565 Color", "hex.builtin.inspector.rgba8": "RGBA8 Color", "hex.builtin.inspector.sleb128": "", diff --git a/plugins/builtin/romfs/lang/ko_KR.json b/plugins/builtin/romfs/lang/ko_KR.json index a52dd28bf..0ad72ca58 100644 --- a/plugins/builtin/romfs/lang/ko_KR.json +++ b/plugins/builtin/romfs/lang/ko_KR.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "웹사이트 탐색", "hex.builtin.command.web.result": "'{0}'(으)로 이동", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "ASCII 문자", - "hex.builtin.inspector.binary": "2진수 (8비트)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "2진수", "hex.builtin.inspector.bool": "부울", "hex.builtin.inspector.dos_date": "DOS 날짜", "hex.builtin.inspector.dos_time": "DOS 시간", - "hex.builtin.inspector.double": "더블 (64비트)", - "hex.builtin.inspector.float": "플로트 (32비트)", - "hex.builtin.inspector.float16": "하프 플로트 (16비트)", + "hex.builtin.inspector.double": "더블", + "hex.builtin.inspector.float": "플로트", + "hex.builtin.inspector.float16": "하프 플로트", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,10 +89,10 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "롱 더블 (128비트)", + "hex.builtin.inspector.long_double": "롱 더블", "hex.builtin.inspector.rgb565": "RGB565 색상", "hex.builtin.inspector.rgba8": "RGBA8 색상", - "hex.builtin.inspector.sleb128": "부호 있는 LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "문자열", "hex.builtin.inspector.wstring": "와이드 문자열", "hex.builtin.inspector.time": "time_t", @@ -104,7 +104,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "부호 없는 LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 코드 포인트", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "기본", diff --git a/plugins/builtin/romfs/lang/pl_PL.json b/plugins/builtin/romfs/lang/pl_PL.json index 8ce8407fa..9e6cd2455 100644 --- a/plugins/builtin/romfs/lang/pl_PL.json +++ b/plugins/builtin/romfs/lang/pl_PL.json @@ -103,8 +103,8 @@ "hex.builtin.information_section.relationship_analysis.filter": "Filtr", "hex.builtin.information_section.relationship_analysis.layered_distribution": "Rozkład warstwowy", "hex.builtin.information_section.relationship_analysis.sample_size": "Rozmiar próbki", - "hex.builtin.inspector.ascii": "Znak ASCII", - "hex.builtin.inspector.binary": "Binarny (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binarny", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.char16": "char16_t", "hex.builtin.inspector.char32": "char32_t", @@ -113,9 +113,9 @@ "hex.builtin.inspector.custom_encoding.no_encoding": "Nie wybrano kodowania", "hex.builtin.inspector.dos_date": "Data DOS", "hex.builtin.inspector.dos_time": "Czas DOS", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -124,10 +124,10 @@ "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", "hex.builtin.inspector.jump_to_address": "Przejdź do adresu", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "Kolor RGB565", "hex.builtin.inspector.rgba8": "Kolor RGBA8", - "hex.builtin.inspector.sleb128": "Signed LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "Ciąg znaków", "hex.builtin.inspector.string16": "String16", "hex.builtin.inspector.string32": "String32", @@ -140,7 +140,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "Unsigned LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "Punkt kodowy UTF-8", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.inspector.wstring": "Szeroki ciąg znaków", diff --git a/plugins/builtin/romfs/lang/pt_BR.json b/plugins/builtin/romfs/lang/pt_BR.json index a59067865..cfdb51e0b 100644 --- a/plugins/builtin/romfs/lang/pt_BR.json +++ b/plugins/builtin/romfs/lang/pt_BR.json @@ -74,14 +74,14 @@ "hex.builtin.command.web.desc": "Website lookup", "hex.builtin.command.web.result": "Navegar para '{0}'", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "ASCII Character", - "hex.builtin.inspector.binary": "Binary (8 bit)", + "hex.builtin.inspector.ascii": "char", + "hex.builtin.inspector.binary": "Binary", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "DOS Date", "hex.builtin.inspector.dos_time": "DOS Time", - "hex.builtin.inspector.double": "double (64 bit)", - "hex.builtin.inspector.float": "float (32 bit)", - "hex.builtin.inspector.float16": "half float (16 bit)", + "hex.builtin.inspector.double": "double", + "hex.builtin.inspector.float": "float", + "hex.builtin.inspector.float16": "half float", "hex.builtin.inspector.guid": "GUID", "hex.builtin.inspector.i16": "int16_t", "hex.builtin.inspector.i24": "int24_t", @@ -89,7 +89,7 @@ "hex.builtin.inspector.i48": "int48_t", "hex.builtin.inspector.i64": "int64_t", "hex.builtin.inspector.i8": "int8_t", - "hex.builtin.inspector.long_double": "long double (128 bit)", + "hex.builtin.inspector.long_double": "long double", "hex.builtin.inspector.rgb565": "RGB565 Color", "hex.builtin.inspector.rgba8": "RGBA8 Color", "hex.builtin.inspector.sleb128": "", diff --git a/plugins/builtin/romfs/lang/ru_RU.json b/plugins/builtin/romfs/lang/ru_RU.json index d707e7dc8..aa9b56fd7 100644 --- a/plugins/builtin/romfs/lang/ru_RU.json +++ b/plugins/builtin/romfs/lang/ru_RU.json @@ -76,7 +76,7 @@ "hex.builtin.command.web.desc": "Просмотреть сайт", "hex.builtin.command.web.result": "Перейти в '{0}'", "hex.builtin.drag_drop.text": "Перетащите сюда файлы, чтобы открыть их...", - "hex.builtin.inspector.ascii": "ASCII символ", + "hex.builtin.inspector.ascii": "char", "hex.builtin.inspector.binary": "Двоичный вид", "hex.builtin.inspector.bool": "Логическое значение", "hex.builtin.inspector.dos_date": "DOS дата", @@ -94,7 +94,7 @@ "hex.builtin.inspector.long_double": "long double (128 бит)", "hex.builtin.inspector.rgb565": "RGB565 цвет", "hex.builtin.inspector.rgba8": "RGBA8 цвет", - "hex.builtin.inspector.sleb128": "Знаковый LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "Строка", "hex.builtin.inspector.wstring": "Wide строка", "hex.builtin.inspector.time": "time_t", @@ -106,7 +106,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "Беззнаковый LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 код", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "По умолчанию", diff --git a/plugins/builtin/romfs/lang/zh_CN.json b/plugins/builtin/romfs/lang/zh_CN.json index d268a7774..54e8fd15c 100644 --- a/plugins/builtin/romfs/lang/zh_CN.json +++ b/plugins/builtin/romfs/lang/zh_CN.json @@ -76,7 +76,7 @@ "hex.builtin.command.web.desc": "网站解析", "hex.builtin.command.web.result": "导航到 '{0}'", "hex.builtin.drag_drop.text": "将文件拖放到此处以打开它们……", - "hex.builtin.inspector.ascii": "ASCII 字符", + "hex.builtin.inspector.ascii": "char", "hex.builtin.inspector.binary": "二进制(8 位)", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.custom_encoding": "自定义编码文件", @@ -98,7 +98,7 @@ "hex.builtin.inspector.long_double": "long double(128 位)", "hex.builtin.inspector.rgb565": "RGB565 颜色", "hex.builtin.inspector.rgba8": "RGBA8 颜色", - "hex.builtin.inspector.sleb128": "有符号LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "字符串", "hex.builtin.inspector.wstring": "宽字符串", "hex.builtin.inspector.string16": "", @@ -112,7 +112,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "无符号LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 码位", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.inspector.char16": "", diff --git a/plugins/builtin/romfs/lang/zh_TW.json b/plugins/builtin/romfs/lang/zh_TW.json index 4b9d5f6b0..031f43556 100644 --- a/plugins/builtin/romfs/lang/zh_TW.json +++ b/plugins/builtin/romfs/lang/zh_TW.json @@ -74,7 +74,7 @@ "hex.builtin.command.web.desc": "網站查詢", "hex.builtin.command.web.result": "前往 '{0}'", "hex.builtin.drag_drop.text": "", - "hex.builtin.inspector.ascii": "ASCII 字元", + "hex.builtin.inspector.ascii": "char", "hex.builtin.inspector.binary": "二進位 (8 位元)", "hex.builtin.inspector.bool": "bool", "hex.builtin.inspector.dos_date": "DOS 日期", @@ -92,7 +92,7 @@ "hex.builtin.inspector.long_double": "long double (128 位元)", "hex.builtin.inspector.rgb565": "RGB565 顏色", "hex.builtin.inspector.rgba8": "RGBA8 顏色", - "hex.builtin.inspector.sleb128": "有號數 LEB128", + "hex.builtin.inspector.sleb128": "sLEB128", "hex.builtin.inspector.string": "字串", "hex.builtin.inspector.wstring": "寬字串", "hex.builtin.inspector.time": "time_t", @@ -104,7 +104,7 @@ "hex.builtin.inspector.u48": "uint48_t", "hex.builtin.inspector.u64": "uint64_t", "hex.builtin.inspector.u8": "uint8_t", - "hex.builtin.inspector.uleb128": "無號數 LEB128", + "hex.builtin.inspector.uleb128": "uLEB128", "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "wchar_t", "hex.builtin.layouts.default": "預設", diff --git a/plugins/builtin/source/content/data_inspector.cpp b/plugins/builtin/source/content/data_inspector.cpp index b0a4df360..9f8edb2d9 100644 --- a/plugins/builtin/source/content/data_inspector.cpp +++ b/plugins/builtin/source/content/data_inspector.cpp @@ -391,7 +391,7 @@ namespace hex::plugin::builtin { auto c = hex::changeEndianness(wideChar, endian); auto value = fmt::format("{0}", c <= 255 ? makePrintable(c) : wolv::util::wstringToUtf8(std::wstring(&c, 1)).value_or("???")); - return [value] { ImGuiExt::TextFormatted("'{0}'", value.c_str()); return value; }; + return [value] { ImGuiExt::TextFormatted("L'{0}'", value.c_str()); return value; }; }, [](const std::string &value, std::endian endian) -> std::vector { std::vector bytes; @@ -419,7 +419,7 @@ namespace hex::plugin::builtin { auto c = hex::changeEndianness(wideChar, endian); auto value = fmt::format("{0}", c <= 255 ? makePrintable(c) : wolv::util::utf16ToUtf8(std::u16string(&c, 1)).value_or("???")); - return [value] { ImGuiExt::TextFormatted("'{0}'", value.c_str()); return value; }; + return [value] { ImGuiExt::TextFormatted("u'{0}'", value.c_str()); return value; }; }, [](const std::string &value, std::endian endian) -> std::vector { std::vector bytes; @@ -447,7 +447,7 @@ namespace hex::plugin::builtin { auto c = hex::changeEndianness(wideChar, endian); auto value = fmt::format("{0}", c <= 255 ? makePrintable(c) : wolv::util::utf32ToUtf8(std::u32string(&c, 1)).value_or("???")); - return [value] { ImGuiExt::TextFormatted("'{0}'", value.c_str()); return value; }; + return [value] { ImGuiExt::TextFormatted("U'{0}'", value.c_str()); return value; }; }, [](const std::string &value, std::endian endian) -> std::vector { std::vector bytes; @@ -478,7 +478,7 @@ namespace hex::plugin::builtin { u8 codepointSize = ImTextCharFromUtf8(&codepoint, utf8Buffer, nullptr); std::memcpy(codepointString, utf8Buffer, std::min(codepointSize, u8(4))); - auto value = fmt::format("'{0}' (U+0x{1:04X})", + auto value = fmt::format("'{0}' (U+{1:04X})", codepoint == 0xFFFD ? "Invalid" : (codepointSize == 1 ? makePrintable(codepointString[0]) : codepointString), codepoint); @@ -693,7 +693,7 @@ namespace hex::plugin::builtin { if (encodingFile.valid() && !value.empty()) { ImGuiExt::TextFormatted("({})\"{}\"", encodingFile.getName(), value); } else { - ImGuiExt::TextFormatted("hex.builtin.inspector.custom_encoding.no_encoding"_lang); + ImGuiExt::TextFormattedDisabled("hex.builtin.inspector.custom_encoding.no_encoding"_lang); } return copyValue; diff --git a/plugins/builtin/source/content/views/view_data_inspector.cpp b/plugins/builtin/source/content/views/view_data_inspector.cpp index 7b13430ce..5568b6e66 100644 --- a/plugins/builtin/source/content/views/view_data_inspector.cpp +++ b/plugins/builtin/source/content/views/view_data_inspector.cpp @@ -258,13 +258,6 @@ namespace hex::plugin::builtin { return; } - u32 validLineCount = m_cachedData.size(); - if (!m_tableEditingModeEnabled) { - validLineCount = std::count_if(m_cachedData.begin(), m_cachedData.end(), [this](const auto &entry) { - return !m_hiddenValues.contains(entry.filterValue); - }); - } - const auto selection = ImHexApi::HexEditor::getSelection(); const auto selectedEntryIt = std::find_if(m_cachedData.begin(), m_cachedData.end(), [this](const InspectorCacheEntry &entry) { return entry.unlocalizedName == m_selectedEntryName; @@ -304,9 +297,11 @@ namespace hex::plugin::builtin { } ImGui::EndDisabled(); + static bool hideSettings = true; + if (ImGui::BeginTable("##datainspector", m_tableEditingModeEnabled ? 3 : 2, - ImGuiTableFlags_Borders | ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_RowBg, - ImVec2(0, ImGui::GetTextLineHeightWithSpacing() * (validLineCount + 1)))) { + ImGuiTableFlags_Borders | ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_RowBg | ImGuiTableFlags_ScrollY, + ImVec2(0, ImGui::GetContentRegionAvail().y - ImGui::GetTextLineHeightWithSpacing() * (hideSettings ? 2.75 : 7.5)))) { ImGui::TableSetupScrollFreeze(0, 1); ImGui::TableSetupColumn("hex.builtin.view.data_inspector.table.name"_lang, ImGuiTableColumnFlags_WidthFixed); @@ -332,16 +327,13 @@ namespace hex::plugin::builtin { ImGui::EndTable(); } - ImGuiExt::DimmedButtonToggle("hex.ui.common.edit"_lang, &m_tableEditingModeEnabled, - ImVec2(ImGui::GetContentRegionAvail().x, 0)); - - ImGui::NewLine(); - ImGui::Separator(); - ImGui::NewLine(); + ImGui::SetCursorPosX(ImGui::GetContentRegionAvail().x - ImGui::CalcTextSize(ICON_VS_EDIT).x); + ImGuiExt::DimmedButtonToggle(ICON_VS_EDIT, &m_tableEditingModeEnabled); + ImGui::SetItemTooltip("%s", "hex.ui.common.edit"_lang.get()); // Draw inspector settings - if (ImGuiExt::BeginSubWindow("hex.ui.common.settings"_lang)) { + if (ImGuiExt::BeginSubWindow("hex.ui.common.settings"_lang, &hideSettings, hideSettings ? ImVec2(0, 1) : ImVec2(0, 0))) { ImGui::PushItemWidth(-1); { // Draw endian setting @@ -417,6 +409,12 @@ namespace hex::plugin::builtin { if (!entry.editing) { // Handle regular display case + if (ImGui::BeginPopup("##DataInspectorRowContextMenu")) { + ImGuiExt::TextFormattedDisabled("{} bits", entry.requiredSize * 8); + ImGui::Separator(); + ImGui::EndPopup(); + } + // Render inspector row value const auto ©Value = entry.displayFunction();