Skip to content

Commit

Permalink
Use CTabFolder to improve dark theme on Windows
Browse files Browse the repository at this point in the history
Contributed by STMicroelectronics

Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
  • Loading branch information
Torbjorn-Svensson authored and niraj-modi committed Apr 20, 2022
1 parent 9ba10f6 commit 3b04269
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 17 deletions.
2 changes: 1 addition & 1 deletion bundles/org.eclipse.compare/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.compare; singleton:=true
Bundle-Version: 3.8.300.qualifier
Bundle-Version: 3.8.400.qualifier
Bundle-Activator: org.eclipse.compare.internal.CompareUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
Expand All @@ -47,8 +49,6 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
Expand Down Expand Up @@ -154,7 +154,7 @@ private String loadPreviewContentFromFile(String key) {
new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, SWAPPED),
};
private List<FieldEditor> editors = new ArrayList<>();
private TabItem fTextCompareTab;
private CTabItem fTextCompareTab;
private Button fDisableCappingCheckBox;


Expand Down Expand Up @@ -256,15 +256,16 @@ protected Control createContents(Composite parent) {
fOverlayStore.load();
fOverlayStore.start();

TabFolder folder= new TabFolder(parent, SWT.NONE);
CTabFolder folder= new CTabFolder(parent, SWT.NONE);
folder.setLayout(new TabFolderLayout());
folder.setLayoutData(new GridData(GridData.FILL_BOTH));

TabItem item= new TabItem(folder, SWT.NONE);
CTabItem item= new CTabItem(folder, SWT.NONE);
folder.setSelection(0);
item.setText(Utilities.getString("ComparePreferencePage.generalTab.label")); //$NON-NLS-1$
item.setControl(createGeneralPage(folder));

item= new TabItem(folder, SWT.NONE);
item= new CTabItem(folder, SWT.NONE);
item.setText(Utilities.getString("ComparePreferencePage.textCompareTab.label")); //$NON-NLS-1$
item.setControl(createTextComparePage(folder));
fTextCompareTab = item;
Expand Down
2 changes: 1 addition & 1 deletion bundles/org.eclipse.compare/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
</parent>
<groupId>org.eclipse.compare</groupId>
<artifactId>org.eclipse.compare</artifactId>
<version>3.8.300-SNAPSHOT</version>
<version>3.8.400-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
Expand All @@ -53,8 +55,6 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.team.internal.ui.TeamUIMessages;
import org.eclipse.team.internal.ui.TeamUIPlugin;
import org.eclipse.team.internal.ui.Utils;
Expand Down Expand Up @@ -88,8 +88,8 @@ public class PreferencePageContainerDialog extends TrayDialog
* @see #setMinimumPageSize(Point)
*/
private Point fMinimumPageSize = new Point(200,200);
private TabFolder tabFolder;
private Map<TabItem, PreferencePage> pageMap = new HashMap<>();
private CTabFolder tabFolder;
private Map<CTabItem, PreferencePage> pageMap = new HashMap<>();

/**
* Must declare our own images as the JFaceResource images will not be created unless
Expand Down Expand Up @@ -159,16 +159,17 @@ protected Control createDialogArea(Composite parent) {

private void createMultiplePageArea(Composite composite) {
// create a tab folder for the page
tabFolder = new TabFolder(composite, SWT.NONE);
tabFolder = new CTabFolder(composite, SWT.NONE);
tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));

for (PreferencePage page : pages) {
// text decoration options
TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE);
tabItem.setText(page.getTitle());//
tabItem.setControl(createPageArea(tabFolder, page));
pageMap.put(tabItem, page);
}
tabFolder.setSelection(0);

tabFolder.addSelectionListener(new SelectionAdapter() {
@Override
Expand All @@ -180,9 +181,9 @@ public void widgetSelected(SelectionEvent e) {
}

protected void updatePageSelection() {
TabItem[] items = tabFolder.getSelection();
if (items.length == 1) {
currentPage = pageMap.get(items[0]);
CTabItem item = tabFolder.getSelection();
if (item != null) {
currentPage = pageMap.get(item);
updateMessage();
}
firePageChanged(new PageChangedEvent(this, currentPage));
Expand Down

0 comments on commit 3b04269

Please sign in to comment.