Bug 229796 [sec] Prompt for restart session after deleting storage is confusing
diff --git a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/nls/messages.properties b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/nls/messages.properties
index 8508ef8..a6d0579 100644
--- a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/nls/messages.properties
+++ b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/nls/messages.properties
@@ -56,7 +56,7 @@
defaultGroup = Default secure preferences
confirmDeleteMsg = This action will delete default secure storage. All data in it will be lost. Are you sure you want to delete it?
postDeleteTitle = Storage deleted
-postDeleteMsg = Storage deleted. It is highly recommended to restart this session.
+postDeleteMsg = Secure storage deleted. Would you like to restart the application now?
tabPassword = Password
tabAdvanced = Advanced
tabContents = Contents
diff --git a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/TabContents.java b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/TabContents.java
index b886afe..d138168 100644
--- a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/TabContents.java
+++ b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/TabContents.java
@@ -28,6 +28,7 @@
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
+import org.eclipse.ui.PlatformUI;
public class TabContents implements ISecurePreferencesSelection, IDeleteListener {
@@ -198,10 +199,12 @@
InternalExchangeUtils.defaultStorageDelete();
// suggest restart in case somebody holds on to the deleted storage
- MessageBox postDeletionBox = new MessageBox(shell, SWT.OK);
- postDeletionBox.setText(SecUIMessages.postDeleteTitle);
+ MessageBox postDeletionBox = new MessageBox(shell, SWT.YES | SWT.NO);
+ postDeletionBox.setText(SecUIMessages.generalDialogTitle);
postDeletionBox.setMessage(SecUIMessages.postDeleteMsg);
- postDeletionBox.open();
+ int result = postDeletionBox.open();
+ if (result == SWT.YES)
+ PlatformUI.getWorkbench().restart();
}
}
diff --git a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/view/NodesView.java b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/view/NodesView.java
index 2cb9181..593ac79 100644
--- a/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/view/NodesView.java
+++ b/bundles/org.eclipse.equinox.security.ui/src/org/eclipse/equinox/internal/security/ui/storage/view/NodesView.java
@@ -233,7 +233,9 @@
}
public void postDeleted() {
- if (contentProvider != null)
- contentProvider.inputChanged(null, null, defaultPrefs);
+ if (contentProvider == null)
+ return;
+ nodeTreeViewer.setSelection(StructuredSelection.EMPTY);
+ nodeTreeViewer.refresh();
}
}