From 8e7d0454df3025bf547bfab9727c20854a0ceb2d Mon Sep 17 00:00:00 2001 From: Sergei Kovalchuk Date: Tue, 21 May 2024 15:47:55 +0200 Subject: [PATCH 1/4] dbeaver/pro#2674 [TE] Shared credentials button is not visible on small screens Scrolled composite added --- .../connection/ConnectionPageSettings.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java index baf8b730c2d0..847bd3fc66a9 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java @@ -26,10 +26,7 @@ import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.CTabFolder; -import org.eclipse.swt.custom.CTabFolder2Adapter; -import org.eclipse.swt.custom.CTabFolderEvent; -import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.custom.*; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -425,9 +422,13 @@ private CTabItem createPageTab(@NotNull IDialogPage page, int index) { item.setToolTipText(page.getDescription()); if (page.getControl() == null) { - final Composite placeholder = new Composite(tabFolder, SWT.NONE); + final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL); + sc.setExpandHorizontal(true); + sc.setExpandVertical(true); + final Composite placeholder = new Composite(sc, SWT.NONE); placeholder.setLayout(new FillLayout()); - item.setControl(placeholder); + sc.setContent(placeholder); + item.setControl(sc); } else { final Control control = page.getControl(); control.setParent(tabFolder); @@ -447,9 +448,18 @@ private void activateCurrentItem() { Composite panel = (Composite) selection.getControl(); panel.setRedraw(false); try { - page.createControl(panel); - Dialog.applyDialogFont(panel); - panel.layout(true, true); + if (panel instanceof ScrolledComposite scrolledComposite) { + Composite placeholder = (Composite) scrolledComposite.getChildren()[0]; + page.createControl(placeholder); + Dialog.applyDialogFont(scrolledComposite); + placeholder.setSize(placeholder.computeSize(SWT.DEFAULT, SWT.DEFAULT)); + scrolledComposite.setMinSize(page.getControl().computeSize(SWT.DEFAULT, SWT.DEFAULT)); + scrolledComposite.layout(); + } else { + page.createControl(panel); + Dialog.applyDialogFont(panel); + panel.layout(true, true); + } } catch (Throwable e) { DBWorkbench.getPlatformUI().showError("Error creating configuration page", null, e); } finally { From 4f3d5498920f6afa5ae461064f4e66749b5aabf8 Mon Sep 17 00:00:00 2001 From: Sergei Kovalchuk Date: Wed, 22 May 2024 12:11:39 +0200 Subject: [PATCH 2/4] dbeaver/pro#2674 Composite reduced --- .../connection/ConnectionPageSettings.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java index 847bd3fc66a9..6931e79382e6 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java @@ -425,9 +425,6 @@ private CTabItem createPageTab(@NotNull IDialogPage page, int index) { final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL); sc.setExpandHorizontal(true); sc.setExpandVertical(true); - final Composite placeholder = new Composite(sc, SWT.NONE); - placeholder.setLayout(new FillLayout()); - sc.setContent(placeholder); item.setControl(sc); } else { final Control control = page.getControl(); @@ -448,13 +445,12 @@ private void activateCurrentItem() { Composite panel = (Composite) selection.getControl(); panel.setRedraw(false); try { - if (panel instanceof ScrolledComposite scrolledComposite) { - Composite placeholder = (Composite) scrolledComposite.getChildren()[0]; - page.createControl(placeholder); - Dialog.applyDialogFont(scrolledComposite); - placeholder.setSize(placeholder.computeSize(SWT.DEFAULT, SWT.DEFAULT)); - scrolledComposite.setMinSize(page.getControl().computeSize(SWT.DEFAULT, SWT.DEFAULT)); - scrolledComposite.layout(); + if (panel instanceof ScrolledComposite sc) { + page.createControl(sc); + Dialog.applyDialogFont(sc); + sc.setContent(page.getControl()); + sc.setMinSize(page.getControl().computeSize(SWT.DEFAULT, SWT.DEFAULT)); + sc.layout(); } else { page.createControl(panel); Dialog.applyDialogFont(panel); From fc11eb2bd2aacc934703cecc58c8c891423a75eb Mon Sep 17 00:00:00 2001 From: Sergei Kovalchuk Date: Fri, 24 May 2024 15:36:47 +0200 Subject: [PATCH 3/4] dbeaver/pro#2674 incorrect indentation fix --- .../dbeaver/ui/dialogs/connection/ConnectionPageSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java index 7c74c37fe6f0..b9e09cdceb50 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java @@ -421,7 +421,7 @@ private CTabItem createPageTab(@NotNull IDialogPage page, int index) { item.setToolTipText(page.getDescription()); if (page.getControl() == null) { - final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL); + final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL); sc.setExpandHorizontal(true); sc.setExpandVertical(true); item.setControl(sc); From fcbf4211ded78568425b8d26485d37f86c42cc45 Mon Sep 17 00:00:00 2001 From: Sergei Kovalchuk Date: Fri, 24 May 2024 15:40:04 +0200 Subject: [PATCH 4/4] dbeaver/pro#2674 V scroll fixed --- .../dbeaver/ui/dialogs/connection/ConnectionPageSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java index b9e09cdceb50..05f97872ca83 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageSettings.java @@ -421,7 +421,7 @@ private CTabItem createPageTab(@NotNull IDialogPage page, int index) { item.setToolTipText(page.getDescription()); if (page.getControl() == null) { - final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL); + final ScrolledComposite sc = new ScrolledComposite(tabFolder, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); sc.setExpandHorizontal(true); sc.setExpandVertical(true); item.setControl(sc);