This is an automated email from the ASF dual-hosted git repository.

mattcasters pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new e17423956b Fix#7504  oversized Expand/Collapse buttons on Look & Feel 
tab (#7505)
e17423956b is described below

commit e17423956b6cca333521b0d5a0bcfe52106f1639
Author: Lance <[email protected]>
AuthorDate: Mon Jul 13 04:05:44 2026 +0800

    Fix#7504  oversized Expand/Collapse buttons on Look & Feel tab (#7505)
    
    * Fix oversized Expand/Collapse buttons on Look & Feel tab
    
    Signed-off-by: lance <[email protected]>
    
    * Fix oversized Expand/Collapse buttons on Look & Feel tab
    
    Signed-off-by: lance <[email protected]>
    
    ---------
    
    Signed-off-by: lance <[email protected]>
---
 .../configuration/tabs/ConfigGuiOptionsTab.java    | 88 +++++++++++++++-------
 .../core/dialog/messages/messages_de_DE.properties |  2 +
 .../core/dialog/messages/messages_es_AR.properties |  2 +
 .../core/dialog/messages/messages_es_ES.properties |  2 +
 .../core/dialog/messages/messages_fr_FR.properties |  2 +
 .../core/dialog/messages/messages_it_IT.properties |  2 +
 .../core/dialog/messages/messages_ja_JP.properties |  2 +
 .../core/dialog/messages/messages_ko_KR.properties |  2 +
 .../core/dialog/messages/messages_pt_BR.properties |  2 +
 .../core/dialog/messages/messages_zh_CN.properties |  2 +
 10 files changed, 78 insertions(+), 28 deletions(-)

diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
index a64e3dc9ee..6d56069a6c 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
@@ -19,9 +19,11 @@
 package org.apache.hop.ui.hopgui.perspective.configuration.tabs;
 
 import org.apache.hop.core.Const;
+import org.apache.hop.core.Props;
 import org.apache.hop.core.config.HopConfig;
 import org.apache.hop.core.gui.plugin.GuiPlugin;
 import org.apache.hop.core.gui.plugin.tab.GuiTab;
+import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement;
 import org.apache.hop.core.util.EnvUtil;
 import org.apache.hop.history.AuditManager;
 import org.apache.hop.history.AuditState;
@@ -32,7 +34,10 @@ import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.dialog.BaseDialog;
 import org.apache.hop.ui.core.dialog.ErrorDialog;
 import org.apache.hop.ui.core.gui.GuiResource;
+import org.apache.hop.ui.core.gui.GuiToolbarWidgets;
+import org.apache.hop.ui.core.gui.IToolbarContainer;
 import org.apache.hop.ui.hopgui.HopGui;
+import org.apache.hop.ui.hopgui.ToolbarFacade;
 import 
org.apache.hop.ui.hopgui.perspective.configuration.ConfigurationPerspective;
 import org.apache.hop.ui.util.EnvironmentUtils;
 import org.eclipse.swt.SWT;
@@ -49,7 +54,6 @@ import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Combo;
@@ -70,6 +74,15 @@ public class ConfigGuiOptionsTab {
   public static final String ENTER_OPTIONS_DIALOG_ENTER_NUMBER_HINT =
       "EnterOptionsDialog.EnterNumber.Hint";
 
+  public static final String GUI_PLUGIN_TOOLBAR_PARENT_ID = 
"ConfigGuiOptionsTab-Toolbar";
+  public static final String TOOLBAR_ITEM_EXPAND_ALL =
+      "ConfigGuiOptionsTab-Toolbar-10010-ExpandAll";
+  public static final String TOOLBAR_ITEM_COLLAPSE_ALL =
+      "ConfigGuiOptionsTab-Toolbar-10020-CollapseAll";
+
+  private Composite lookComp;
+  private ScrolledComposite lookScrolledComposite;
+
   private FontData defaultFontData;
   private Font defaultFont;
   private FontData fixedFontData;
@@ -327,33 +340,22 @@ public class ConfigGuiOptionsTab {
     // Track the last control for vertical positioning
     Control lastControl = null;
 
-    // Expand all / Collapse all buttons for the sections below
-    Composite wExpandButtons = new Composite(wLookComp, SWT.NONE);
-    PropsUi.setLook(wExpandButtons);
-    wExpandButtons.setLayout(new RowLayout(SWT.HORIZONTAL));
-    FormData fdExpandButtons = new FormData();
-    fdExpandButtons.left = new FormAttachment(0, 0);
-    fdExpandButtons.top = new FormAttachment(0, margin);
-    wExpandButtons.setLayoutData(fdExpandButtons);
-
-    int iconSize = (int) (PropsUi.getInstance().getZoomFactor() * 24);
-
-    Button wExpandAll = new Button(wExpandButtons, SWT.PUSH);
-    PropsUi.setLook(wExpandAll);
-    wExpandAll.setImage(
-        GuiResource.getInstance().getImage("ui/images/expand-all.svg", 
iconSize, iconSize));
-    wExpandAll.setToolTipText(BaseMessages.getString(PKG, 
"EnterOptionsDialog.ExpandAll.Tooltip"));
-    wExpandAll.addListener(SWT.Selection, e -> 
setAllSectionsExpanded(wLookComp, sLookComp, true));
-
-    Button wCollapseAll = new Button(wExpandButtons, SWT.PUSH);
-    PropsUi.setLook(wCollapseAll);
-    wCollapseAll.setImage(
-        GuiResource.getInstance().getImage("ui/images/collapse-all.svg", 
iconSize, iconSize));
-    wCollapseAll.setToolTipText(
-        BaseMessages.getString(PKG, "EnterOptionsDialog.CollapseAll.Tooltip"));
-    wCollapseAll.addListener(
-        SWT.Selection, e -> setAllSectionsExpanded(wLookComp, sLookComp, 
false));
-    lastControl = wExpandButtons;
+    // Expand all / Collapse all toolbar for the sections below
+    IToolbarContainer expandToolbarContainer =
+        ToolbarFacade.createToolbarContainer(wLookComp, SWT.WRAP | SWT.LEFT | 
SWT.HORIZONTAL);
+    Control expandToolbar = expandToolbarContainer.getControl();
+    GuiToolbarWidgets expandToolbarWidgets = new GuiToolbarWidgets();
+    expandToolbarWidgets.registerGuiPluginObject(this);
+    expandToolbarWidgets.createToolbarWidgets(expandToolbarContainer, 
GUI_PLUGIN_TOOLBAR_PARENT_ID);
+    FormData fdExpandToolbar = new FormData();
+    fdExpandToolbar.left = new FormAttachment(0, 0);
+    fdExpandToolbar.top = new FormAttachment(0, margin);
+    expandToolbar.setLayoutData(fdExpandToolbar);
+    expandToolbar.pack();
+    PropsUi.setLook(expandToolbar, Props.WIDGET_STYLE_TOOLBAR);
+    lookComp = wLookComp;
+    lookScrolledComposite = sLookComp;
+    lastControl = expandToolbar;
 
     // Preferred language - at the top
     Control[] defaultLocaleControls =
@@ -1537,6 +1539,36 @@ public class ConfigGuiOptionsTab {
     scrolled.setMinHeight(lookComp.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
   }
 
+  @GuiToolbarElement(
+      root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
+      id = TOOLBAR_ITEM_EXPAND_ALL,
+      toolTip = 
"i18n:org.apache.hop.ui.core.dialog:EnterOptionsDialog.ExpandAll.Tooltip",
+      image = "ui/images/expand-all.svg")
+  public void expandAllSections() {
+    if (lookComp == null
+        || lookComp.isDisposed()
+        || lookScrolledComposite == null
+        || lookScrolledComposite.isDisposed()) {
+      return;
+    }
+    setAllSectionsExpanded(lookComp, lookScrolledComposite, true);
+  }
+
+  @GuiToolbarElement(
+      root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
+      id = TOOLBAR_ITEM_COLLAPSE_ALL,
+      toolTip = 
"i18n:org.apache.hop.ui.core.dialog:EnterOptionsDialog.CollapseAll.Tooltip",
+      image = "ui/images/collapse-all.svg")
+  public void collapseAllSections() {
+    if (lookComp == null
+        || lookComp.isDisposed()
+        || lookScrolledComposite == null
+        || lookScrolledComposite.isDisposed()) {
+      return;
+    }
+    setAllSectionsExpanded(lookComp, lookScrolledComposite, false);
+  }
+
   /** Reject any change that would make the text field contain something other 
than digits. */
   private void verifyNumber(Event e) {
     String currentText = ((Text) e.widget).getText();
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_de_DE.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_de_DE.properties
index 1135323683..d714f6d656 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_de_DE.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_de_DE.properties
@@ -113,6 +113,8 @@ EnterOptionsDialog.HideMenuBar.ToolTip=Wenn diese Option 
aktiviert ist, wird die
 EnterOptionsDialog.IconSize.Label=Icongr\u00F6\u00DFe auf der 
Arbeitsoberfl\u00E4che
 EnterOptionsDialog.LineWidth.Label=Liniendicke auf der Arbeitsoberfl\u00E4che
 EnterOptionsDialog.LookAndFeel.Label=Aussehen und Bedienung
+EnterOptionsDialog.ExpandAll.Tooltip=Alle Abschnitte erweitern
+EnterOptionsDialog.CollapseAll.Tooltip=Alle Abschnitte einklappen
 EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.Label=maximale 
Textgr\u00F6\u00DFe f\u00FCr Ausf\u00FChrungslogging
 EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.ToolTip=Die maximale 
Gr\u00F6\u00DFe des Protokolltextes, der in der 
Ausf\u00FChrungsinformationsperspektive angezeigt wird, um Fehler wegen 
Speicherplatzmangels zu vermeiden.
 EnterOptionsDialog.NoteFont.Label=Schriftart f\u00FCr Notizen
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_AR.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_AR.properties
index 6366381d88..504bb9fc72 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_AR.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_AR.properties
@@ -77,6 +77,8 @@ EnterOptionsDialog.GraphFont.Label=Fuente en el espacio de 
trabajo:
 EnterOptionsDialog.IconSize.Label=Tama\u00F1o de \u00EDconos en espacio de 
trabajo:
 EnterOptionsDialog.LineWidth.Label=Ancho de l\u00EDnea en espacio de trabajo:
 EnterOptionsDialog.LookAndFeel.Label=Apariencia
+EnterOptionsDialog.ExpandAll.Tooltip=Expandir todas las secciones
+EnterOptionsDialog.CollapseAll.Tooltip=Contraer todas las secciones
 EnterOptionsDialog.NoteFont.Label=Fuente para notas:
 EnterOptionsDialog.OpenLastFileStartup.Label=\u00BFAbrir el \u00FAltimo 
archivo al iniciar?
 EnterOptionsDialog.Title=Opciones de Hop
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_ES.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_ES.properties
index 0da1a01bd3..6a87d426f8 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_ES.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_es_ES.properties
@@ -112,6 +112,8 @@ EnterOptionsDialog.HideMenuBar.ToolTip=Al activar esta 
opci\u00F3n, se oculta la
 EnterOptionsDialog.IconSize.Label=Tama\u00F1o del icono en el espacio de 
trabajo
 EnterOptionsDialog.LineWidth.Label=Anchura de la l\u00EDnea en el espacio de 
trabajo
 EnterOptionsDialog.LookAndFeel.Label=Aspecto && tacto
+EnterOptionsDialog.ExpandAll.Tooltip=Expandir todas las secciones
+EnterOptionsDialog.CollapseAll.Tooltip=Contraer todas las secciones
 EnterOptionsDialog.NoteFont.Label=Fuente para las notas
 EnterOptionsDialog.OpenLastFileStartup.Label=Abrir el \u00FAltimo archivo al 
iniciar
 EnterOptionsDialog.ShowCanvasGrid.Label=Mostrar cuadr\u00EDcula de lienzo
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
index d0975cd747..59a1118ac3 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
@@ -95,6 +95,8 @@ EnterOptionsDialog.HideMenuBar.ToolTip=L''activation de cette 
option permet de m
 EnterOptionsDialog.IconSize.Label=Taille des ic\u00F4nes:
 EnterOptionsDialog.LineWidth.Label=Epaisseur des liens
 EnterOptionsDialog.LookAndFeel.Label=Apparence
+EnterOptionsDialog.ExpandAll.Tooltip=D\u00E9velopper toutes les sections
+EnterOptionsDialog.CollapseAll.Tooltip=R\u00E9duire toutes les sections
 EnterOptionsDialog.NoteFont.Label=Police des notes
 EnterOptionsDialog.OpenLastFileStartup.Label=Ouvrir les derniers fichiers 
utilis\u00E9s au d\u00E9marrage
 EnterOptionsDialog.RestartWarning.Option1=Fermer
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_it_IT.properties
index 764f0366fb..c0d6a1500a 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_it_IT.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_it_IT.properties
@@ -111,6 +111,8 @@ EnterOptionsDialog.HideMenuBar.Label=Nascondi il menu
 EnterOptionsDialog.IconSize.Label=Dimensione delle icone nel workspace: 
 EnterOptionsDialog.LineWidth.Label=Larghezza linea nel workspace: 
 EnterOptionsDialog.LookAndFeel.Label=Look && Feel
+EnterOptionsDialog.ExpandAll.Tooltip=Espandi tutte le sezioni
+EnterOptionsDialog.CollapseAll.Tooltip=Comprimi tutte le sezioni
 EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.Label=Massima lunghezza del 
log visualizzato
 EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.ToolTip=Imposta la 
lunghezza massima del testo mostrato nella execution information perspective in 
maniera da evitare errori di memoria esaurita (out of memory).
 EnterOptionsDialog.NoteFont.Label=Font per le note: 
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ja_JP.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ja_JP.properties
index 69070c24e9..00f0b11aee 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ja_JP.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ja_JP.properties
@@ -85,6 +85,8 @@ 
EnterOptionsDialog.HelpToolTipsEnabled.Label=\u30D8\u30EB\u30D7\u30C4\u30FC\u30E
 
EnterOptionsDialog.IconSize.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u30A2\u30A4\u30B3\u30F3\u30B5\u30A4\u30BA:
 
 
EnterOptionsDialog.LineWidth.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u7DDA\u5E45:
 
 EnterOptionsDialog.LookAndFeel.Label=\u5916\u89B3
+EnterOptionsDialog.ExpandAll.Tooltip=\u3059\u3079\u3066\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u5C55\u958B
+EnterOptionsDialog.CollapseAll.Tooltip=\u3059\u3079\u3066\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u3092\u6298\u308A\u305F\u305F\u3080
 EnterOptionsDialog.NoteFont.Label=\u30E1\u30E2\u306E\u30D5\u30A9\u30F3\u30C8: 
 
EnterOptionsDialog.OpenLastFileStartup.Label=\u8D77\u52D5\u6642\u306B\u6700\u5F8C\u306B\u958B\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F:
 
 EnterOptionsDialog.Title=Hop \u30AA\u30D7\u30B7\u30E7\u30F3
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ko_KR.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ko_KR.properties
index efec118e3b..a21746d730 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ko_KR.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_ko_KR.properties
@@ -78,6 +78,8 @@ 
EnterOptionsDialog.HelpToolTipsEnabled.Label=\uB3C4\uC6C0\uB9D0 \uD234\uD301 \uB
 EnterOptionsDialog.IconSize.Label=\uC791\uC5C5\uACF5\uAC04 \uC544\uC774\uCF58 
\uD06C\uAE30:
 EnterOptionsDialog.LineWidth.Label=\uC791\uC5C5\uACF5\uAC04 \uC904 
\uB113\uC774:
 EnterOptionsDialog.LookAndFeel.Label=\uB8E9\uC564\uD544
+EnterOptionsDialog.ExpandAll.Tooltip=\uBAA8\uB4E0 \uC139\uC158 
\uD3BC\uCE58\uAE30
+EnterOptionsDialog.CollapseAll.Tooltip=\uBAA8\uB4E0 \uC139\uC158 \uC811\uAE30
 EnterOptionsDialog.NoteFont.Label=\uB178\uD2B8\uC758 \uD3F0\uD2B8:
 EnterOptionsDialog.OpenLastFileStartup.Label=\uC2DC\uC791\uD560 \uB54C\uC5D0 
\uB9C8\uC9C0\uB9C9 \uD30C\uC77C \uC5F4\uAE30?
 EnterOptionsDialog.Title=Hop \uC635\uC158
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
index 4ca7835d31..184b76761e 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
@@ -73,6 +73,8 @@ EnterOptionsDialog.GridSize.Label=Tamanho da grade na tela:
 EnterOptionsDialog.HelpToolTipsEnabled.Label=Exibir dicas de ferramentas
 EnterOptionsDialog.HideMenuBar.Label=Ocultar barra de menu
 EnterOptionsDialog.LookAndFeel.Label=Apar\u00EAncia & Sentimento
+EnterOptionsDialog.ExpandAll.Tooltip=Expandir todas as se\u00E7\u00F5es
+EnterOptionsDialog.CollapseAll.Tooltip=Recolher todas as se\u00E7\u00F5es
 EnterOptionsDialog.NoteFont.Label=Fonte para notas:
 EnterOptionsDialog.OpenLastFileStartup.Label=Reabrir abas ao iniciar
 EnterOptionsDialog.RestartWarning.DialogTitle=Reiniciar
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
index b9cd2e899e..3e7666920f 100644
--- 
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
+++ 
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
@@ -113,6 +113,8 @@ 
EnterOptionsDialog.HideMenuBar.ToolTip=\u542F\u7528\u6B64\u9009\u9879\u4ECE\u752
 
EnterOptionsDialog.IconSize.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u56FE\u6807\u5927\u5C0F:
 
EnterOptionsDialog.LineWidth.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u7EBF\u5BBD\u5EA6:
 EnterOptionsDialog.LookAndFeel.Label=\u89C2\u611F
+EnterOptionsDialog.ExpandAll.Tooltip=\u5C55\u5F00\u6240\u6709\u533A\u5757
+EnterOptionsDialog.CollapseAll.Tooltip=\u6298\u53E0\u6240\u6709\u533A\u5757
 
EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.Label=\u6267\u884C\u65E5\u5FD7\u6587\u672C\u6700\u5927\u503C
 
EnterOptionsDialog.MaxExecutionLoggingTextSizeSize.ToolTip=\u5728\u6267\u884C\u4FE1\u606F\u89C6\u56FE\u4E2D\u663E\u793A\u7684\u65E5\u5FD7\u6587\u672C\u7684\u6700\u5927\u5927\u5C0F\uFF0C\u4EE5\u9632\u6B62\u5185\u5B58\u6EA2\u51FA\u9519\u8BEF\u3002
 EnterOptionsDialog.NoteFont.Label=\u6CE8\u91CA\u5B57\u4F53:

Reply via email to