Changeset 20868

Show
Ignore:
Timestamp:
30.10.2009 19:53:03 (10 years ago)
Author:
ak19
Message:

Fixed a bug that Diego Spano found: in the Settings dialog, the browser path for the Other Browser option was not getting saved previously.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/src/java/org/greenstone/server/BaseServerSettings.java

    r20866 r20868  
    1212import org.apache.log4j.*; 
    1313 
    14 public abstract class BaseServerSettings extends JDialog 
     14public abstract class BaseServerSettings extends JDialog implements ActionListener 
    1515{ 
    1616    static Logger logger = Logger.getLogger(BaseServerSettings.class.getName()); 
    1717    static final int DEFPORT = 8080; 
    18  
    19     JCheckBox autoEnter; 
     18    static final Color bg_color = Color.white; 
     19 
     20    protected JCheckBox autoEnter; 
    2021 
    2122    protected JSpinner portNumber_spinner = null; 
     
    2526    protected JRadioButton other_browser_button = null; 
    2627    protected Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); 
    27  
    28     static final Color bg_color = Color.white;  
    2928 
    3029    protected int portNum = DEFPORT; 
     
    125124        default_browser_button = new JRadioButton(BaseServer.dictionary.get("ServerSettings.DefaultBrowser")); 
    126125        other_browser_button = new JRadioButton(BaseServer.dictionary.get("ServerSettings.OtherBrowser")); 
    127         other_browser_button.addActionListener(new BrowserSelectionListener()); 
    128         default_browser_button.addActionListener(new BrowserSelectionListener()); 
     126    default_browser_button.addActionListener(this); 
     127    other_browser_button.addActionListener(this);    
    129128 
    130129    ButtonGroup bg = new ButtonGroup(); 
     
    157156        other_browser_button.setSelected(true); 
    158157    } 
    159         browse_button.addActionListener(new BrowseActionListener());        
     158    browse_button.addActionListener(this); 
    160159         
    161160        JPanel down_panel = new JPanel(); 
     
    186185 
    187186 
    188     private class BrowseActionListener  
    189     implements ActionListener { 
    190      
    191     public void actionPerformed(ActionEvent ev) { 
     187    public void actionPerformed(ActionEvent ev) { 
     188    if(ev.getSource() == browse_button) { 
    192189        JFileChooser chooser = new JFileChooser(); 
    193            int returnVal = chooser.showOpenDialog(self);         
    194         
     190        int returnVal = chooser.showOpenDialog(self);         
     191         
    195192        if(returnVal == JFileChooser.APPROVE_OPTION) { 
    196                 File program_path = chooser.getSelectedFile(); 
     193        File program_path = chooser.getSelectedFile(); 
    197194        program_path_field.setText(program_path.getPath()); 
    198         }  
    199     } 
    200  
    201      } 
    202  
    203     private class BrowserSelectionListener  
    204     implements ActionListener { 
    205      
    206     public void actionPerformed(ActionEvent ev) { 
     195       }  
     196    } else { // one of the two Choose Browser radiobuttons 
    207197        if (default_browser_button.isSelected()){ 
    208198        program_path_field.setEnabled(false); 
    209                 browse_button.setEnabled(false); 
    210         } 
    211             else{ 
     199        browse_button.setEnabled(false); 
     200        } 
     201        else{ 
    212202        program_path_field.setEnabled(true); 
    213                 browse_button.setEnabled(true); 
    214         } 
    215     } 
    216  
    217      } 
     203        browse_button.setEnabled(true); 
     204        } 
     205    }        
     206    } 
    218207     
    219208 
     
    277266            browserPath = browserPath.replaceAll("\\\\","/"); 
    278267        } 
    279         newFileLines = scriptReadWrite.queryReplace(newFileLines,BaseServer.Property.BROWSER_PATH, browserPath); 
    280  
    281         scriptReadWrite.writeOutFile(BaseServer.config_properties_file, 
    282                          newFileLines); 
     268        newFileLines = scriptReadWrite.replaceOrAddLine(newFileLines, BaseServer.Property.BROWSER_PATH, browserPath, true); 
     269 
     270        scriptReadWrite.writeOutFile(BaseServer.config_properties_file, newFileLines); 
     271 
    283272        server.reloadConfigProperties(); 
    284273        server.reload(); // work out the URL again in case it has changed