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();
 	}
 }