Bug 577476: Accessibility Issues With "Restart notification"
This basically reverts 839332d2
Also: Make all the "Restart dialog" look similar:
- Title now is in Title Case not Sentence style
- Title always is "xy Changed" not "xy Change"
- Text always is "Restart for ... to take full effect?"
- Buttons always are "Restart" and "Dont' restart"
Change-Id: Icac1b848ef48678753f392f954623ef21eb8f6ff
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/188195
Tested-by: Platform Bot <platform-bot@eclipse.org>
Tested-by: Lars Vogel <Lars.Vogel@vogella.com>
Reviewed-by: Lars Vogel <Lars.Vogel@vogella.com>
Reviewed-by: Sebastian Ratz <sebastian.ratz@sap.com>
Reviewed-by: Matthias Becker <ma.becker@sap.com>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
index e23341f..0f61a7a 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
@@ -1099,10 +1099,10 @@
ExtendedFileEditorsPreferencePage_strategyForUnassociatedFiles=&Open unassociated files with:
ExtendedFileEditorsPreferencePage_labelNotResolved={0} (label not resolved)
-SystemSettingsChange_title = High Contrast Mode Change
-SystemSettingsChange_message = The high contrast mode has changed. You will need to restart the workbench to complete the change. Restart now?
-SystemSettingsChange_yes = Yes
-SystemSettingsChange_no = No
+SystemSettingsChange_title = High Contrast Mode Changed
+SystemSettingsChange_message = Restart for the theme changes to take full effect?
+SystemSettingsChange_yes = &Restart
+SystemSettingsChange_no = &Don't Restart
IDEWorkbenchActivityHelper_jobName=Update Capability Enablement for Natures
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
index 31695ad..3f2561a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
@@ -995,6 +995,7 @@
// Zoom change messages
public static String Workbench_zoomChangedTitle;
public static String Workbench_zoomChangedMessage;
- public static String Workbench_zoomChangedRestart;
+ public static String Workbench_RestartButton;
+ public static String Workbench_DontRestartButton;
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
index fd492e7..a7506d7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
@@ -945,7 +945,7 @@
int dialogResponse = MessageDialog.open(MessageDialog.QUESTION, getShell(),
WorkbenchMessages.Workbench_zoomChangedTitle,
WorkbenchMessages.Workbench_zoomChangedMessage, SWT.NONE,
- WorkbenchMessages.Workbench_zoomChangedRestart, IDialogConstants.NO_LABEL);
+ WorkbenchMessages.Workbench_RestartButton, WorkbenchMessages.Workbench_DontRestartButton);
if (event.doit && dialogResponse == 0) {
getWorkbenchImpl().restart(true);
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
index e40b754..ac7a10a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
@@ -20,7 +20,6 @@
package org.eclipse.ui.internal.dialogs;
import static org.eclipse.jface.viewers.LabelProvider.createTextProvider;
-import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter;
import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_COLOR_AND_FONT_ID;
import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_OS_VERSION;
import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_THEME_ASSOCIATION;
@@ -49,9 +48,9 @@
import org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering;
import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.notifications.AbstractNotificationPopup;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.util.Util;
@@ -60,18 +59,16 @@
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.Window;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferenceConstants;
import org.eclipse.ui.IWorkbenchPreferencePage;
@@ -109,8 +106,6 @@
private Button themingEnabled;
- private NotificationPopUp notificationPopUp;
-
@Override
protected Control createContents(Composite parent) {
initializeDialogUnits(parent);
@@ -304,22 +299,29 @@
colorFontsDecorator.hide();
if (themeChanged || colorsAndFontsThemeChanged) {
- if (notificationPopUp == null) {
- notificationPopUp = new NotificationPopUp(getShell().getDisplay());
- notificationPopUp.open();
- }
+ showRestartDialog();
}
}
if (themingEnabledChanged) {
- if (notificationPopUp == null) {
- notificationPopUp = new NotificationPopUp(getShell().getDisplay());
- notificationPopUp.open();
- }
+ showRestartDialog();
}
return super.performOk();
}
+ /**
+ *
+ */
+ private void showRestartDialog() {
+ if (new MessageDialog(null, WorkbenchMessages.ThemeChangeWarningTitle, null,
+ WorkbenchMessages.ThemeChangeWarningText,
+ MessageDialog.QUESTION, 2, WorkbenchMessages.Workbench_RestartButton,
+ WorkbenchMessages.Workbench_DontRestartButton)
+ .open() == Window.OK) {
+ PlatformUI.getWorkbench().restart();
+ }
+ }
+
private IEclipsePreferences getSwtRendererPreferences() {
return InstanceScope.INSTANCE.getNode("org.eclipse.e4.ui.workbench.renderers.swt"); //$NON-NLS-1$
}
@@ -517,28 +519,4 @@
}
- private class NotificationPopUp extends AbstractNotificationPopup {
-
- public NotificationPopUp(Display display) {
- super(display);
- setDelayClose(0);
- setParentShell(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
- }
-
- @Override
- protected String getPopupShellTitle() {
- return WorkbenchMessages.ThemeChangeWarningTitle;
- }
-
-
- @Override
- protected void createContentArea(Composite parent) {
- parent.setLayout(new RowLayout());
-
- Link link = new Link(parent, SWT.WRAP);
- link.setText(WorkbenchMessages.ThemeChangeWarningHyperlinkedText);
- link.addSelectionListener(widgetSelectedAdapter(e -> PlatformUI.getWorkbench().restart(true)));
- }
- }
-
}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
index c3f93d1..aa50d81 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
@@ -494,9 +494,8 @@
PreferencePage_noDescription = (No description available)
PreferencePageParameterValues_pageLabelSeparator = \ >\
ThemingEnabled = E&nable theming
-ThemeChangeWarningText = A restart is required for the theme change to take full effect.
-ThemeChangeWarningHyperlinkedText = A <a>restart</a> is required for the theme change to take full effect.
-ThemeChangeWarningTitle = Theme change
+ThemeChangeWarningText = Restart for the theme changes to take full effect?
+ThemeChangeWarningTitle = Theme Changed
# --- Workbench -----
WorkbenchPreference_openMode=Open mode
WorkbenchPreference_doubleClick=D&ouble click
@@ -1003,6 +1002,7 @@
Util_List={0}, {1}
# Zoom change messages
-Workbench_zoomChangedTitle=Zoom changed
+Workbench_zoomChangedTitle=Zoom Changed
Workbench_zoomChangedMessage=Restart for the zoom changes to take full effect?
-Workbench_zoomChangedRestart=&Restart Now
+Workbench_RestartButton=&Restart
+Workbench_DontRestartButton=&Don't restart
diff --git a/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
index 00004f9..deeeb80 100644
--- a/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
@@ -133,7 +133,6 @@
org.eclipse.e4.ui.workbench.modeling,
org.eclipse.e4.ui.workbench.renderers.swt,
org.eclipse.emf.common.util,
- org.eclipse.jface.notifications,
org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
org.osgi.service.event;version="1.2.0",
org.w3c.dom,