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: