diff dwtx/jface/preference/PreferenceDialog.d @ 70:46a6e0e6ccd4

Merge with d-fied sources of 3.4M7
author Frank Benoit <benoit@tionex.de>
date Thu, 22 May 2008 01:36:46 +0200
parents 9d7d88f13040
children 4878bef4a38e
line wrap: on
line diff
--- a/dwtx/jface/preference/PreferenceDialog.d	Mon May 19 13:41:06 2008 +0200
+++ b/dwtx/jface/preference/PreferenceDialog.d	Thu May 22 01:36:46 2008 +0200
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2008 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -80,6 +80,7 @@
 import dwtx.jface.viewers.SelectionChangedEvent;
 import dwtx.jface.viewers.StructuredSelection;
 import dwtx.jface.viewers.TreeViewer;
+import dwtx.jface.viewers.ViewerComparator;
 import dwtx.jface.viewers.ViewerFilter;
 
 import dwt.dwthelper.utils;
@@ -231,7 +232,6 @@
         minimumPageSize = new Point(400, 400);
         pageChangedListeners = new ListenerList();
         super(parentShell);
-        setShellStyle(getShellStyle() | DWT.RESIZE | DWT.MAX);
         preferenceManager = manager;
     }
 
@@ -876,13 +876,12 @@
                     try {
                         (cast(IPersistentPreferenceStore) store).save();
                     } catch (IOException e) {
-                        MessageDialog
-                                .openError(
-                                        getShell(),
-                                        JFaceResources.getString("PreferenceDialog.saveErrorTitle"), //$NON-NLS-1$
-                                        JFaceResources
-                                                .format(
-                                                        "PreferenceDialog.saveErrorMessage", [ page.getTitle(), e.msg ])); //$NON-NLS-1$
+                        String message =JFaceResources.format(
+                                "PreferenceDialog.saveErrorMessage", new Object[] { page.getTitle(), e.getMessage() }); //$NON-NLS-1$ 
+                        Policy.getStatusHandler().show(
+                                new Status(IStatus.ERROR, Policy.JFACE, message, e),
+                                JFaceResources.getString("PreferenceDialog.saveErrorTitle")); //$NON-NLS-1$                                                            
+                                        
                     }
                 }
             }
@@ -1007,7 +1006,10 @@
 
                 clearSelectedNode();
                 String message = JFaceResources.getString("SafeRunnable.errorMessage"); //$NON-NLS-1$
-                MessageDialog.openError(getShell(), JFaceResources.getString("Error"), message); //$NON-NLS-1$
+
+                Policy.getStatusHandler().show(
+                        new Status(IStatus.ERROR, Policy.JFACE, message, e),
+                        JFaceResources.getString("Error")); //$NON-NLS-1$                                                             
 
             }
         });
@@ -1033,6 +1035,10 @@
         IPreferenceNode node = findNodeMatching(getSelectedNodePreference());
         if (node is null) {
             IPreferenceNode[] nodes = preferenceManager.getRootSubNodes();
+            ViewerComparator comparator = getTreeViewer().getComparator();
+            if (comparator !is null) {
+                comparator.sort(null, nodes);
+            }
             ViewerFilter[] filters = getTreeViewer().getFilters();
             for (int i = 0; i < nodes.length; i++) {
                 IPreferenceNode selectedNode = nodes[i];
@@ -1565,4 +1571,13 @@
             });
         }
     }
+    
+    /*
+     * (non-Javadoc)
+     * @see dwtx.jface.dialogs.Dialog#isResizable()
+     */
+    protected bool isResizable() {
+        return true;
+    }
+
 }