diff options
| author | Niraj Modi | 2018-08-16 14:19:48 +0000 |
|---|---|---|
| committer | Niraj Modi | 2018-08-16 14:19:48 +0000 |
| commit | 3e7a9c5a436ad1b0897884d12c0cbb27fed0ff30 (patch) | |
| tree | 6b42979a76239de85694f2dab9fd29c822f5c14c | |
| parent | c40374befd8d24d76a47853f13d79979088fb724 (diff) | |
| download | eclipse.platform.ui-3e7a9c5a436ad1b0897884d12c0cbb27fed0ff30.tar.gz eclipse.platform.ui-3e7a9c5a436ad1b0897884d12c0cbb27fed0ff30.tar.xz eclipse.platform.ui-3e7a9c5a436ad1b0897884d12c0cbb27fed0ff30.zip | |
Bug 537998 - Prompt user to restart Eclipse SDK on Zoom change
notification
Change-Id: I13c6c14ed66bb2eac57cebc314e288d1a0b25009
Signed-off-by: Niraj Modi <niraj.modi@in.ibm.com>
3 files changed, 31 insertions, 0 deletions
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 f666600a484..7967e0a955e 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 @@ -1040,5 +1040,9 @@ public class WorkbenchMessages extends NLS { public static String Util_List; public static String Util_listNull; + // Zoom change messages + public static String Workbench_zoomChangedTitle; + public static String Workbench_zoomChangedMessage; + public static String Workbench_zoomChangedRestart; } 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 68a3168e364..7c9a59c3140 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 @@ -110,6 +110,7 @@ import org.eclipse.jface.action.StatusLineManager; import org.eclipse.jface.action.SubContributionItem; import org.eclipse.jface.commands.ActionHandler; import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.internal.provisional.action.CoolBarManager2; import org.eclipse.jface.internal.provisional.action.ICoolBarManager2; import org.eclipse.jface.internal.provisional.action.IToolBarManager2; @@ -133,6 +134,7 @@ import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Layout; +import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.ActiveShellExpression; @@ -785,6 +787,26 @@ public class WorkbenchWindow implements IWorkbenchWindow { getShell().setData(this); trackShellActivation(); + /** + * When SWT zoom changes for primary monitor, prompt user to restart Eclipse to + * apply the changes. + */ + getShell().addListener(SWT.ZoomChanged, new Listener() { + @Override + public void handleEvent(org.eclipse.swt.widgets.Event event) { + if (getShell().getDisplay().getPrimaryMonitor().equals(getShell().getMonitor())) { + int dialogResponse = MessageDialog.open(MessageDialog.QUESTION, getShell(), + WorkbenchMessages.Workbench_zoomChangedTitle, + WorkbenchMessages.Workbench_zoomChangedMessage, SWT.NONE, + WorkbenchMessages.Workbench_zoomChangedRestart, + IDialogConstants.NO_LABEL); + if (event.doit && dialogResponse == 0) { + getWorkbenchImpl().restart(true); + } + } + } + }); + } finally { HandlerServiceImpl.pop(); } 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 ca48b935e3c..6d0033a2909 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 @@ -1019,3 +1019,8 @@ FilteredTableBaseHandler_Close=&Close # ============================================================================== Util_List={0}, {1} Util_listNull=null + +# Zoom change messages +Workbench_zoomChangedTitle=Zoom changed +Workbench_zoomChangedMessage=Would you like to restart the Eclipse SDK to apply the zoom changes? +Workbench_zoomChangedRestart=&Restart Now |
