Package com.valhalla.jbother.preferences

Source Code of com.valhalla.jbother.preferences.DataTransferPreferencesPanel

/*
Copyright (C) 2003 Adam Olsen

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

package com.valhalla.jbother.preferences;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.util.*;
import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.UnknownHostException;

import javax.swing.*;

import com.valhalla.gui.MJTextField;
import com.valhalla.settings.Settings;
import com.valhalla.settings.TempSettings;


/**
* preferences panel for file transfer-related settings.
*
* @author Lukasz Wiechec
* @created Feb 2, 2005 5:36:43 PM
* @version 1.0
*/

public class DataTransferPreferencesPanel extends JPanel
  implements PreferencesPanel
{
    private static String[] PROXIES = new String[] { "proxy.netlab.cz:7777", "proxy65.jabber.autocom.pl:7777", "proxy.jabber.org:7777" };
    private static String fId = "$Id$";

    private ResourceBundle resources = ResourceBundle.getBundle(
            "JBotherBundle", Locale.getDefault());

    private GridBagLayout grid = new GridBagLayout();

    private GridBagConstraints c = new GridBagConstraints();
   
    private JLabel proxy65Label = new JLabel(resources.getString("preferredProxy65") + ": ");
    private JLabel proxy65Note = new JLabel(resources.getString("proxy65Note"));
    private JComboBox proxy65Host = new JComboBox(getProxies());
    private JCheckBox preferIBB = new JCheckBox(resources.getString("preferIBB"));

    public DataTransferPreferencesPanel(PreferencesDialog dialog)
    {
        setBorder(BorderFactory.createTitledBorder(resources.getString("dataTransfer")));
        setLayout(grid);

        c.gridx = 0;
        c.gridy = 0;
        c.fill = GridBagConstraints.NONE;
        c.anchor = GridBagConstraints.WEST;
        c.gridwidth = 1;
        proxy65Host.setEditable(true);

        // port
        c.weightx = 0.0;
        grid.setConstraints(proxy65Label, c);
        add(proxy65Label);

        c.gridx++;
        grid.setConstraints(proxy65Host, c);
        add(proxy65Host);
       
        c.gridy++;
        grid.setConstraints(proxy65Note, c);
        add(proxy65Note);

        c.gridx = 0;
        c.gridy++;
        c.gridwidth = 2;
        grid.setConstraints(preferIBB, c);
        add(preferIBB);

        c.gridy++;
        c.weightx = 1.0;
        c.weighty = 1.0;
        c.gridwidth = 2;
        JLabel emptyLabel = new JLabel("");
        grid.setConstraints(emptyLabel, c);
        add(emptyLabel);

        loadSettings();
    }

    public TempSettings getSettings()
    {
        TempSettings mySettings = new TempSettings();
        mySettings.setProperty("proxy65Host", (String)proxy65Host.getSelectedItem());
        mySettings.setBoolean("preferIBB", preferIBB.isSelected());

        return mySettings;
    }

    private void loadSettings()
    {
        preferIBB.setSelected(Settings.getInstance().getBoolean("preferIBB"));
    }

    public static String[] getProxies()
    {
        String proxy = Settings.getInstance().getProperty("proxy65Host");
       
        ArrayList proxies = new ArrayList();
        if(proxy != null) proxies.add(proxy);
       
        for(int i = 0; i < PROXIES.length; i++)
        {
            if(proxy == null || !proxy.equals(PROXIES[i]))
            {
                proxies.add(PROXIES[i]);
            }
        }
       
        return (String[])proxies.toArray(new String[proxies.size()]);
    }
}
TOP

Related Classes of com.valhalla.jbother.preferences.DataTransferPreferencesPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.