1
0
mirror of synced 2024-11-14 19:17:42 +01:00
ImHex/plugins/builtin/source/content
paxcut 866b956680
feat: Added per provider cursor position for the Pattern editor (#1861)
### Problem description
Currently, the pattern editor does not remember where the cursor is
located in each provider. For example, suppose you have 2 providers in
your project, and you scrolled down to line 200 in the first pattern to
make some changes and remembered that the code you want to insert is in
the second provider. Then you switch to the second provider, look for
the code and find it in line 235. Switch back to the first one, and you
are at the beginning of the file. So you again look for the line to edit
paste it to realize that it needs code a few lines before the place you
found it. You switch to the second provider, and you are at the top
again. This gets annoying very fast.

### Implementation description

This PR ensures that, when you return to the pattern in the editor for
any of the opened providers, the cursor will still be at the same place
it was when you switched to a different one. Each provider pattern saves
its cursor position and returns to it when you switch to that provider.
It does that by creating a PerProvider variable and using it when
providers are first opened to set it to the origin and when switching
providers it first saves the position of the old provider and then loads
and sets the saved position of the new provider.

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2024-09-15 15:28:37 +02:00
..
data_processor_nodes impr: Run data processor in a worker task 2024-07-11 23:30:54 +02:00
helpers impr: Handle demangling of identifiers without leading underscore 2024-07-11 20:38:22 +02:00
pl_visualizers fix: Multiple issues causing visualizers to crash when used _slightly_ incorrectly 2024-07-10 20:50:58 +02:00
popups/hex_editor fix: Task names not displaying correctly anymore 2024-07-27 14:09:52 +02:00
providers fix: Reading entire file content of base64 file into memory not working 2024-08-20 20:27:08 +02:00
tools feat: Added a quarter precision (8 bits) button to IEEE 745 tool (#1868) 2024-09-15 15:22:35 +02:00
tutorials impr: Code style improvements 2023-12-27 16:33:49 +01:00
views feat: Added per provider cursor position for the Pattern editor (#1861) 2024-09-15 15:28:37 +02:00
achievements.cpp fix: Ambiguous conversion to UnlocalizedString 2024-01-21 14:31:19 +01:00
background_services.cpp impr: Fix various issues with runtime-generated language strings 2024-08-03 11:32:17 +02:00
command_line_interface.cpp impr: Handle demangling of identifiers without leading underscore 2024-07-11 20:38:22 +02:00
command_palette_commands.cpp fix: Build issues due to unused variables 2024-01-21 21:39:50 +01:00
communication_interface.cpp refactor: Better interface for the event system 2023-12-08 10:29:44 +01:00
data_formatters.cpp feat: Added CSV, TSV and JSON as export options for Find results (#1673) 2024-06-18 20:57:55 +00:00
data_information_sections.cpp impr: Added data size widget 2024-05-19 10:21:54 +02:00
data_inspector.cpp fix: Misspelling of Endianness (#1609) 2024-03-28 22:25:28 +01:00
data_processor_nodes.cpp refactor: Split data processor nodes in several files (#1419) 2023-11-13 23:36:39 +01:00
data_visualizers.cpp impr: Further optimize ImGui text rendering 2024-06-27 17:09:20 +02:00
events.cpp impr: Make unsaved changes popup behave more like in other applications 2024-04-23 21:02:16 +02:00
file_extraction.cpp fix: Replace old defaults path system with a new one 2024-06-22 10:44:55 +02:00
file_handlers.cpp fix: Replace old defaults path system with a new one 2024-06-22 10:44:55 +02:00
global_actions.cpp impr: Make unsaved changes popup behave more like in other applications 2024-04-23 21:02:16 +02:00
init_tasks.cpp impr: Make all task names properly translatable 2024-07-27 16:29:06 +02:00
main_menu_items.cpp impr: Make all task names properly translatable 2024-07-27 16:29:06 +02:00
minimap_visualizers.cpp impr: Make the highlights minimap visualizer the default 2024-06-26 19:12:20 +02:00
out_of_box_experience.cpp fix: Sub windows being used incorrectly 2024-06-26 19:11:31 +02:00
pl_builtin_functions.cpp impr: Handle demangling of identifiers without leading underscore 2024-07-11 20:38:22 +02:00
pl_pragmas.cpp impr: Optimize includes in often used header files 2023-11-18 14:34:33 +01:00
pl_visualizers.cpp fix: Multiple issues causing visualizers to crash when used _slightly_ incorrectly 2024-07-10 20:50:58 +02:00
project.cpp fix: Remove accidentally committed test code 2024-06-22 23:03:54 +02:00
providers.cpp fix: Don't try to compile process memory provider into Web build 2024-06-07 20:32:04 +02:00
recent.cpp impr: Make all task names properly translatable 2024-07-27 16:29:06 +02:00
report_generators.cpp impr: Optimize api includes 2023-11-30 11:23:12 +01:00
settings_entries.cpp impr: Fix various issues with runtime-generated language strings 2024-08-03 11:32:17 +02:00
themes.cpp build: Updated ImGui, libfmt and libyara 2024-07-01 22:00:08 +02:00
tools_entries.cpp feat: Added simple HTTP request tool 2024-01-04 00:38:21 +01:00
ui_items.cpp impr: Fix various issues with runtime-generated language strings 2024-08-03 11:32:17 +02:00
views.cpp impr: Allow views to opt out of having their open state saved 2024-05-19 21:51:55 +02:00
welcome_screen.cpp impr: Make all task names properly translatable 2024-07-27 16:29:06 +02:00
window_decoration.cpp fix: Sidebar panels not being resizable anymore properly 2024-07-16 18:15:28 +02:00
workspaces.cpp feat: Allow workspaces to be deleted the same way as layouts 2024-02-28 22:10:48 +01:00