Package cx.fbn.nevernote.dialog

Source Code of cx.fbn.nevernote.dialog.ConfigConnectionPage

/*
* This file is part of NixNote
* Copyright 2009 Randy Baumgarte
*
* This file may be licensed under the terms of of the
* GNU General Public License Version 2 (the ``GPL'').
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the GPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the GPL along with this
* program. If not, go to http://www.gnu.org/licenses/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/


//**********************************************
//**********************************************
//* This dialog is the Edit/Preferences dialog
//* when "Connection" is selected.  Used to store
//* Evernote information.
//**********************************************
//**********************************************

package cx.fbn.nevernote.dialog;

import java.util.List;

import com.trolltech.qt.gui.QCheckBox;
import com.trolltech.qt.gui.QComboBox;
import com.trolltech.qt.gui.QFormLayout;
import com.trolltech.qt.gui.QGridLayout;
import com.trolltech.qt.gui.QGroupBox;
import com.trolltech.qt.gui.QLabel;
import com.trolltech.qt.gui.QLineEdit;
import com.trolltech.qt.gui.QSpinBox;
import com.trolltech.qt.gui.QVBoxLayout;
import com.trolltech.qt.gui.QWidget;

import cx.fbn.nevernote.Global;
import cx.fbn.nevernote.utilities.SyncTimes;

public class ConfigConnectionPage extends QWidget {

  private final QCheckBox autoLogin;
  private final QComboBox syncInterval;
  private final SyncTimes syncTimes;
  private final QCheckBox  synchronizeOnClose;
  private final QCheckBox  synchronizeDeletedContents;
 
  private final QLineEdit proxyHost;
  private final QSpinBox proxyPort;
  private final QLineEdit proxyUserid;
  private final QLineEdit proxyPassword;
 
  public ConfigConnectionPage(QWidget parent) {
   
    // Userid settings
    QGroupBox useridGroup = new QGroupBox(tr("Connection"));
   
    syncInterval = new QComboBox(this);
    syncTimes = new SyncTimes();
    syncInterval.addItems(syncTimes.stringValues());
   
    autoLogin = new QCheckBox("Automatic Connect");
    synchronizeDeletedContents = new QCheckBox("Synchronze Deleted Note Content");
    synchronizeOnClose = new QCheckBox("Synchronize On Shutdown (only if connected)");
   
    QGroupBox proxyGroup = new QGroupBox("Proxy Settings");
    QLabel proxyHostLabel = new QLabel(tr("Host"));
    QLabel proxyPortLabel = new QLabel(tr("Port"));
    QLabel proxyUseridLabel = new QLabel(tr("Userid"));
    QLabel proxyPasswordLabel = new QLabel(tr("Password"));
    proxyHost = new QLineEdit();
    proxyPort = new QSpinBox();
    proxyUserid = new QLineEdit();
    proxyPassword = new QLineEdit();
    proxyPassword.setEchoMode(QLineEdit.EchoMode.Password);
   
    proxyHost.setText(Global.getProxyValue("url"));
    String portString = Global.getProxyValue("port");
    Integer port = new Integer(80);
    try {
      port = new Integer(portString.trim());
    } catch (Exception e) {
    }

    proxyPort.setMinimum(1);
    proxyPort.setMaximum(65565);
    proxyPort.setValue(port);
    proxyUserid.setText(Global.getProxyValue("userid"));
    proxyPassword.setText(Global.getProxyValue("password"));
   
    if (!proxyHost.text().trim().equals("") && proxyPort.text().trim().equals(""))
      proxyPort.setValue(80);
   
   
    QFormLayout useridLayout = new QFormLayout();
    useridLayout.addWidget(new QLabel(tr("Syncronization Interval")));
    useridLayout.addWidget(syncInterval);
    useridLayout.addWidget(autoLogin);
    useridLayout.addWidget(synchronizeOnClose);
    useridLayout.addWidget(synchronizeDeletedContents);
   
    QGridLayout proxyLayout = new QGridLayout();
    proxyLayout.addWidget(proxyHostLabel,1,1);
    proxyLayout.addWidget(proxyHost,1,2);
    proxyLayout.addWidget(proxyPortLabel,2,1);
    proxyLayout.addWidget(proxyPort,2,2);
    proxyLayout.addWidget(proxyUseridLabel,3,1);
    proxyLayout.addWidget(proxyUserid,3,2);
    proxyLayout.addWidget(proxyPasswordLabel,4,1);
    proxyLayout.addWidget(proxyPassword,4,2);
       
    useridGroup.setLayout(useridLayout);
    proxyGroup.setLayout(proxyLayout);
   
    // Add everything together
    QVBoxLayout mainLayout = new QVBoxLayout();
    mainLayout.addWidget(useridGroup);
    mainLayout.addWidget(proxyGroup);
    mainLayout.addStretch(1);
    setLayout(mainLayout);
   
  }

 
 
 
  //*******************************************
  //* Automatic login get/set
  //*******************************************
  public void setAutomaticLogin(boolean val) {
    autoLogin.setChecked(val);
  }
  public boolean getAutomaticLogin() {
    return autoLogin.isChecked();
  }

 

  //*****************************************
  //* Synchronize Deleted Note Content
  //*****************************************
  public void setSyncronizeDeletedContent(boolean val) {
    synchronizeDeletedContents.setChecked(val);
  }
  public boolean getSynchronizeDeletedContent() {
    return synchronizeDeletedContents.isChecked();
  }
 

 
  //******************************************
  //* Get Proxy settings
  //******************************************
  public String getProxyUrl() {
    return proxyHost.text().trim();
  }
  public String getProxyPort() {
    if (!proxyHost.text().trim().equalsIgnoreCase("") && proxyPort.text().trim().equals(""))
      return "80";
    if (proxyHost.text().trim().equals(""))
      return "";
    return proxyPort.text().trim();
  }
  public String getProxyUserid() {
    if (proxyHost.text().trim().equals(""))
      return "";
    return proxyUserid.text().trim();
  }
  public String getProxyPassword() {
    if (proxyHost.text().trim().equals(""))
      return "";
    return proxyPassword.text().trim();
  }

 
 
 
  //*****************************************
  //* Get/set synchronize on close
  //*****************************************
  public boolean getSynchronizeOnClose() {
    return synchronizeOnClose.isChecked();
  }
  public void setSynchronizeOnClose(boolean val) {
    synchronizeOnClose.setChecked(val);
  }
 
 
  //*****************************************
  //* Get/set sync intervals
  //*****************************************
  public String getSyncInterval() {
    int i = syncInterval.currentIndex();
    return syncInterval.itemText(i)
  }
  public void setSyncInterval(String s) {
    List<String> vals = syncTimes.stringValues();
    for (int i=0; i<vals.size(); i++) {
      if (vals.get(i).equalsIgnoreCase(s))
        syncInterval.setCurrentIndex(i);
    }
  }
}
TOP

Related Classes of cx.fbn.nevernote.dialog.ConfigConnectionPage

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.