001    package com.valhalla.jbother.preferences;
002    
003    import com.valhalla.settings.TempSettings;
004    import com.valhalla.settings.Settings;
005    import com.valhalla.gui.MJTextField;
006    
007    import javax.swing.*;
008    import java.util.ResourceBundle;
009    import java.util.Locale;
010    import java.awt.*;
011    
012    /**
013     * Created by luke on Jul 25, 2005 2:02:31 PM
014     */
015    
016    public class PluginDownloaderPreferencesPanel extends JPanel
017      implements PreferencesPanel
018    {
019        private ResourceBundle resources = ResourceBundle.getBundle(
020                "JBotherBundle", Locale.getDefault());
021    
022        private GridBagLayout grid = new GridBagLayout();
023    
024        private GridBagConstraints c = new GridBagConstraints();
025    
026        private JLabel pluginsMirrorLabel = new JLabel(resources.getString("pluginsMirror")
027                + ":");
028    
029        private JLabel pluginsMirrorScriptLabel = new JLabel(resources
030                .getString("pluginsMirrorScript")
031                + ":");
032    
033        private MJTextField pluginsMirrorTF = new MJTextField(5);
034    
035        private MJTextField pluginsMirrorScriptTF = new MJTextField(15);
036    
037        public PluginDownloaderPreferencesPanel(PreferencesDialog dialog) {
038            pluginsMirrorLabel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
039            pluginsMirrorScriptLabel.setBorder(BorderFactory
040                    .createEmptyBorder(0, 5, 0, 5));
041    
042            setBorder(BorderFactory.createTitledBorder(resources
043                    .getString("pluginsMirrorSettings")));
044            setLayout(grid);
045    
046            c.gridx = 0;
047            c.gridy = 0;
048            c.fill = GridBagConstraints.HORIZONTAL;
049            c.anchor = GridBagConstraints.WEST;
050            c.gridwidth = 1;
051    
052            // port
053            c.weightx = 0.0;
054            grid.setConstraints(pluginsMirrorLabel, c);
055            add(pluginsMirrorLabel);
056    
057            c.gridx++;
058            grid.setConstraints(pluginsMirrorTF, c);
059            add(pluginsMirrorTF);
060    
061            // interface
062            c.gridwidth = 1;
063            c.fill = GridBagConstraints.HORIZONTAL;
064            c.gridx = 0;
065            c.gridy++;
066            grid.setConstraints(pluginsMirrorScriptLabel, c);
067            add(pluginsMirrorScriptLabel);
068    
069            c.gridx = 1;
070            c.gridy = 1;
071            grid.setConstraints(pluginsMirrorScriptTF, c);
072            add(pluginsMirrorScriptTF);
073    
074            c.gridx = 2;
075            c.gridy = 2;
076            c.weightx = 1.0;
077            c.weighty = 1.0;
078            c.gridwidth = 2;
079            JLabel emptyLabel = new JLabel("");
080            grid.setConstraints(emptyLabel, c);
081            add(emptyLabel);
082    
083            loadSettings();
084        }
085    
086        public TempSettings getSettings() {
087            TempSettings mySettings = new TempSettings();
088            String pluginsMirrorStr = pluginsMirrorTF.getText();
089            mySettings.setProperty("pluginsDownloadMirror", pluginsMirrorStr);
090    
091            String pluginsMirrorScriptStr = pluginsMirrorScriptTF.getText();
092            mySettings.setProperty("pluginsDownloadScript", pluginsMirrorScriptStr);
093    
094            return mySettings;
095        }
096    
097        private void loadSettings() {
098            pluginsMirrorTF.setText(Settings.getInstance().
099              getProperty("pluginsDownloadMirror","www.jbother.org"));
100            pluginsMirrorScriptTF.setText(Settings.getInstance().
101              getProperty("pluginsDownloadScript","/plugins/index.rb"));
102        }
103    
104    }