ida: add adjustable font menu in IDA plugin#2995
ida: add adjustable font menu in IDA plugin#2995vee1e wants to merge 12 commits intomandiant:masterfrom
Conversation
There was a problem hiding this comment.
Please add bug fixes, new features, breaking changes and anything else you think is worthwhile mentioning to the master (unreleased) section of CHANGELOG.md. If no CHANGELOG update is needed add the following to the PR description: [x] No CHANGELOG update needed
|
@gemini-code-assist review |
There was a problem hiding this comment.
Code Review
This pull request introduces user-configurable font settings for the capa IDA plugin, adding a font selection dialog and ensuring the chosen font is propagated across the main UI components, including the rule generator and data models. Review feedback highlights opportunities to refactor duplicated font-loading logic, improve the consistency of font application across all UI elements (such as search bars and status labels), and ensure that hardcoded labels also respect the user's font preferences.
There was a problem hiding this comment.
Code Review
This pull request introduces a feature allowing users to customize the font used throughout the plugin UI, including a new font selection dialog and propagation logic across various components. The review feedback suggests refactoring duplicated font-loading logic into a helper method, improving the maintainability of the font propagation loop in the main form, and adding missing docstrings to new methods for better consistency.
CHANGELOG updated or no update needed, thanks! 😄
7047e16 to
6f68b9f
Compare
|
@gemini-code-assist review |
There was a problem hiding this comment.
Code Review
This pull request introduces a "Font…" action to the IDA plugin, allowing users to customize the explorer font with desktop DPI awareness. Key changes include adding font settings to the configuration dialog, implementing font propagation across various UI components (tree views, editors, and previews), and ensuring that tree expansion states are preserved during font updates. The reviewer feedback highlights opportunities to refactor duplicated font retrieval logic, extend font updates to static labels in the Rule Generator tab for UI consistency, and add a null check when traversing the proxy model chain to improve code robustness.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
Ready for review, MacOS demo video is given in the description. Please let me know if anything else is needed. @Still34 can you try? I haven't tested the latest commit on Linux yet, but it should work like before. Also @mike-hunhoff do you have any additional review comments? I saw the previous closed PR and implemented the changes you requested in this too. |
|
Yup, |
|
I'm not sure if I agree with this change, for non-code specific elements I think what we had previously makes more sense in readability. |
|
yeah from your screenshot it seems to kill visibility a lot. i'll revert those elements back to normal ida fonts. |
|
made a few changes, now normal UI elements like "Rule Information" and "Address" aren't addressed by the font selector. also non-monospaced fonts persist that way. out.mp4 |
|
@mr-tz @mike-hunhoff would you be open to review this and potentially test it on Linux/Windows? I've verified the intended functionality with MacOS (~25s demo video above). |

Closes #2570
Summary
FixedFontso high‑DPI displays benefit from Qt’s DPI-aware sizingChecklist
Visual Output
MacOS
out.mp4
Linux
[WIP]
There's still bugs, a few nasty crashes and I haven't verified it on Linux/Windows so keeping this as draft for now.also one trailing whitespace trim in CHANGELOG, that's just an artifact of my vim config auto stripping them.
Disclaimer: GPT Codex 5.1 mini and 5.4 were used to research on Qt documentation and parse the large crashdump report.