Author: sebb
Date: Sat Oct 15 15:00:13 2011
New Revision: 1183658

URL: http://svn.apache.org/viewvc?rev=1183658&view=rev
Log:
Bug 52037 - Remember user-set LaF over restarts.

Modified:
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java?rev=1183658&r1=1183657&r2=1183658&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
 (original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
 Sat Oct 15 15:00:13 2011
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Locale;
 import java.util.Set;
+import java.util.prefs.Preferences;
 
 import javax.swing.SwingUtilities;
 import javax.swing.UIManager;
@@ -45,6 +46,12 @@ public class LookAndFeelCommand implemen
 
     private static final Set<String> commands = new HashSet<String>();
 
+    private static final Preferences PREFS = 
Preferences.userNodeForPackage(LookAndFeelCommand.class);
+    // Note: Windows user preferences are stored relative to: 
HKEY_CURRENT_USER\Software\JavaSoft\Prefs
+
+    /** Prefix for the user preference key */
+    private static final String USER_PREFS_KEY = "laf"; //$NON-NLS-1$
+
     static {
         UIManager.LookAndFeelInfo[] lfs = JMeterMenuBar.getAllLAFs();
         for (int i = 0; i < lfs.length; i++) {
@@ -85,9 +92,15 @@ public class LookAndFeelCommand implemen
      * @return LAF classname
      */
     private static String getJMeterLaf(){
+        String laf;
+
+        laf = PREFS.get(USER_PREFS_KEY, null);
+        if (laf != null) {
+            return checkLafName(laf);            
+        }
+
         String osName = System.getProperty("os.name") // $NON-NLS-1$
                         .toLowerCase(Locale.ENGLISH);
-        String laf;
         // Spaces are not allowed in property names read from files
         laf = JMeterUtils.getProperty(JMETER_LAF+"."+osName.replace(' ', '_'));
         if (laf != null) {
@@ -124,6 +137,7 @@ public class LookAndFeelCommand implemen
             String className = 
ev.getActionCommand().substring(ActionNames.LAF_PREFIX.length()).replace('/', 
'.');
             UIManager.setLookAndFeel(className);
             
SwingUtilities.updateComponentTreeUI(GuiPackage.getInstance().getMainFrame());
+            PREFS.put(USER_PREFS_KEY, className);
         } catch (javax.swing.UnsupportedLookAndFeelException e) {
             JMeterUtils.reportErrorToUser("Look and Feel unavailable:" + 
e.toString());
         } catch (InstantiationException e) {

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1183658&r1=1183657&r2=1183658&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Sat Oct 15 15:00:13 2011
@@ -172,6 +172,7 @@ Mirror server now uses default port 8081
 <li>Bug 51876 - Functionality to search in Samplers TreeView</li>
 <li>Bug 52019 - Add menu option to Start a test ignoring Pause Timers</li>
 <li>Bug 52027 - Allow System or CrossPlatform LAF to be set from options 
menu</li>
+<li>Bug 52037 - Remember user-set LaF over restarts.</li>
 </ul>
 
 <h2>Non-functional changes</h2>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to