From ec54bd4e733723f12acb772abcb119457bbae4d8 Mon Sep 17 00:00:00 2001 From: dev747368 <48332326+dev747368@users.noreply.github.com> Date: Wed, 10 May 2023 16:45:44 +0000 Subject: [PATCH] GP-3419 add ctrl-0 key binding to reset font size --- .../app/plugin/core/misc/FontAdjustPlugin.java | 10 ++++++++++ .../src/main/java/docking/ComponentProvider.java | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/FontAdjustPlugin.java b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/FontAdjustPlugin.java index af5cc78ffb..96549a3894 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/FontAdjustPlugin.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/FontAdjustPlugin.java @@ -51,6 +51,10 @@ public class FontAdjustPlugin extends Plugin { .onAction(this::decrementFont) .buildAndInstall(tool); + new ActionBuilder("Reset Font", "tool") + .keyBinding("ctrl 0") + .onAction(this::resetFontSize) + .buildAndInstall(tool); } private void incrementFont(ActionContext context) { @@ -67,4 +71,10 @@ public class FontAdjustPlugin extends Plugin { } } + private void resetFontSize(ActionContext context) { + ComponentProvider provider = context.getComponentProvider(); + if (provider != null) { + provider.resetFontSize(); + } + } } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/ComponentProvider.java b/Ghidra/Framework/Docking/src/main/java/docking/ComponentProvider.java index 8573768bc2..bc3a3a46c9 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/ComponentProvider.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/ComponentProvider.java @@ -827,6 +827,18 @@ public abstract class ComponentProvider implements HelpDescriptor, ActionContext ThemeManager.getInstance().setFont(registeredFontId, font.deriveFont((float) size)); } + /** + * Tells the provider to reset the font size for this provider. + *
+ * See {@link #adjustFontSize(boolean)} + */ + public void resetFontSize() { + if (registeredFontId == null) { + return; + } + ThemeManager.getInstance().restoreFont(registeredFontId); + } + /** * Registers a fontId for the font that will be automatically adjusted when * {@link #adjustFontSize(boolean)} is called.