2 * This file is part of NeverNote
\r
3 * Copyright 2009 Randy Baumgarte
\r
5 * This file may be licensed under the terms of of the
\r
6 * GNU General Public License Version 2 (the ``GPL'').
\r
8 * Software distributed under the License is distributed
\r
9 * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
\r
10 * express or implied. See the GPL for the specific language
\r
11 * governing rights and limitations.
\r
13 * You should have received a copy of the GPL along with this
\r
14 * program. If not, go to http://www.gnu.org/licenses/gpl.html
\r
15 * or write to the Free Software Foundation, Inc.,
\r
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
\r
20 package cx.fbn.nevernote.dialog;
\r
22 import java.util.List;
\r
24 import com.trolltech.qt.gui.QCheckBox;
\r
25 import com.trolltech.qt.gui.QComboBox;
\r
26 import com.trolltech.qt.gui.QFormLayout;
\r
27 import com.trolltech.qt.gui.QGridLayout;
\r
28 import com.trolltech.qt.gui.QGroupBox;
\r
29 import com.trolltech.qt.gui.QLabel;
\r
30 import com.trolltech.qt.gui.QLineEdit;
\r
31 import com.trolltech.qt.gui.QSpinBox;
\r
32 import com.trolltech.qt.gui.QVBoxLayout;
\r
33 import com.trolltech.qt.gui.QWidget;
\r
35 import cx.fbn.nevernote.Global;
\r
36 import cx.fbn.nevernote.utilities.SyncTimes;
\r
38 public class ConfigConnectionPage extends QWidget {
\r
39 private final QLineEdit useridEdit;
\r
40 private final QLineEdit passwordEdit;
\r
41 private final QCheckBox rememberPassword;
\r
42 private final QCheckBox autoLogin;
\r
43 private final QComboBox syncInterval;
\r
44 private final SyncTimes syncTimes;
\r
45 private final QCheckBox synchronizeOnClose;
\r
46 private final QCheckBox synchronizeDeletedContents;
\r
48 private final QLineEdit proxyHost;
\r
49 private final QSpinBox proxyPort;
\r
50 private final QLineEdit proxyUserid;
\r
51 private final QLineEdit proxyPassword;
\r
53 public ConfigConnectionPage(QWidget parent) {
\r
56 QGroupBox useridGroup = new QGroupBox(tr("Connection"));
\r
57 QLabel useridLabel = new QLabel(tr("Userid"));
\r
58 QLabel passwordLabel = new QLabel(tr("Password"));
\r
61 useridEdit = new QLineEdit();
\r
62 useridEdit.setText(Global.username);
\r
64 passwordEdit = new QLineEdit();
\r
65 passwordEdit.setText(Global.password);
\r
66 passwordEdit.setEchoMode(QLineEdit.EchoMode.Password);
\r
68 syncInterval = new QComboBox(this);
\r
69 syncTimes = new SyncTimes();
\r
70 syncInterval.addItems(syncTimes.stringValues());
\r
72 rememberPassword = new QCheckBox("Remember Userid & Password");
\r
73 autoLogin = new QCheckBox("Automatic Connect");
\r
74 synchronizeDeletedContents = new QCheckBox("Synchronze Deleted Note Content");
\r
75 synchronizeOnClose = new QCheckBox("Synchronize On Shutdown (only if connected)");
\r
77 QGroupBox proxyGroup = new QGroupBox("Proxy Settings");
\r
78 QLabel proxyHostLabel = new QLabel(tr("Host"));
\r
79 QLabel proxyPortLabel = new QLabel(tr("Port"));
\r
80 QLabel proxyUseridLabel = new QLabel(tr("Userid"));
\r
81 QLabel proxyPasswordLabel = new QLabel(tr("Password"));
\r
82 proxyHost = new QLineEdit();
\r
83 proxyPort = new QSpinBox();
\r
84 proxyUserid = new QLineEdit();
\r
85 proxyPassword = new QLineEdit();
\r
86 proxyPassword.setEchoMode(QLineEdit.EchoMode.Password);
\r
88 proxyHost.setText(Global.getProxyValue("url"));
\r
89 proxyPort.setValue(new Integer(Global.getProxyValue("port")));
\r
90 proxyPort.setMinimum(1);
\r
91 proxyPort.setMaximum(65565);
\r
92 proxyUserid.setText(Global.getProxyValue("userid"));
\r
93 proxyPassword.setText(Global.getProxyValue("password"));
\r
95 if (!proxyHost.text().trim().equals("") && proxyPort.text().trim().equals(""))
\r
96 proxyPort.setValue(80);
\r
99 QFormLayout useridLayout = new QFormLayout();
\r
100 useridLayout.addWidget(useridLabel);
\r
101 useridLayout.addWidget(useridEdit);
\r
102 useridLayout.addWidget(passwordLabel);
\r
103 useridLayout.addWidget(passwordEdit);
\r
104 useridLayout.addWidget(new QLabel(tr("Syncronization Interval")));
\r
105 useridLayout.addWidget(syncInterval);
\r
106 useridLayout.addWidget(rememberPassword);
\r
107 useridLayout.addWidget(autoLogin);
\r
108 useridLayout.addWidget(synchronizeOnClose);
\r
109 useridLayout.addWidget(synchronizeDeletedContents);
\r
111 QGridLayout proxyLayout = new QGridLayout();
\r
112 proxyLayout.addWidget(proxyHostLabel,1,1);
\r
113 proxyLayout.addWidget(proxyHost,1,2);
\r
114 proxyLayout.addWidget(proxyPortLabel,2,1);
\r
115 proxyLayout.addWidget(proxyPort,2,2);
\r
116 proxyLayout.addWidget(proxyUseridLabel,3,1);
\r
117 proxyLayout.addWidget(proxyUserid,3,2);
\r
118 proxyLayout.addWidget(proxyPasswordLabel,4,1);
\r
119 proxyLayout.addWidget(proxyPassword,4,2);
\r
121 useridGroup.setLayout(useridLayout);
\r
122 proxyGroup.setLayout(proxyLayout);
\r
124 // Add everything together
\r
125 QVBoxLayout mainLayout = new QVBoxLayout();
\r
126 mainLayout.addWidget(useridGroup);
\r
127 mainLayout.addWidget(proxyGroup);
\r
128 mainLayout.addStretch(1);
\r
129 setLayout(mainLayout);
\r
134 //*****************************************
\r
135 //* Userid get/set methods
\r
136 //*****************************************
\r
137 public void setUserid(String id) {
\r
138 useridEdit.setText(id);
\r
140 public String getUserid() {
\r
141 return useridEdit.text();
\r
145 //*****************************************
\r
146 //* Password get/set methods
\r
147 //*****************************************
\r
148 public void setPassword(String id) {
\r
149 passwordEdit.setText(id);
\r
151 public String getPassword() {
\r
152 return passwordEdit.text();
\r
156 //*******************************************
\r
157 //* Remember Password get/set
\r
158 //*******************************************
\r
159 public void setRememberPassword(boolean val) {
\r
160 rememberPassword.setChecked(val);
\r
162 public boolean getRememberPassword() {
\r
163 return rememberPassword.isChecked();
\r
169 //*******************************************
\r
170 //* Automatic login get/set
\r
171 //*******************************************
\r
172 public void setAutomaticLogin(boolean val) {
\r
173 autoLogin.setChecked(val);
\r
175 public boolean getAutomaticLogin() {
\r
176 return autoLogin.isChecked();
\r
181 //*****************************************
\r
182 //* Synchronize Deleted Note Content
\r
183 //*****************************************
\r
184 public void setSyncronizeDeletedContent(boolean val) {
\r
185 synchronizeDeletedContents.setChecked(val);
\r
187 public boolean getSynchronizeDeletedContent() {
\r
188 return synchronizeDeletedContents.isChecked();
\r
193 //******************************************
\r
194 //* Get Proxy settings
\r
195 //******************************************
\r
196 public String getProxyUrl() {
\r
197 return proxyHost.text().trim();
\r
199 public String getProxyPort() {
\r
200 if (!proxyHost.text().trim().equalsIgnoreCase("") && proxyPort.text().trim().equals(""))
\r
202 if (proxyHost.text().trim().equals(""))
\r
204 return proxyPort.text().trim();
\r
206 public String getProxyUserid() {
\r
207 if (proxyHost.text().trim().equals(""))
\r
209 return proxyUserid.text().trim();
\r
211 public String getProxyPassword() {
\r
212 if (proxyHost.text().trim().equals(""))
\r
214 return proxyPassword.text().trim();
\r
220 //*****************************************
\r
221 //* Get/set synchronize on close
\r
222 //*****************************************
\r
223 public boolean getSynchronizeOnClose() {
\r
224 return synchronizeOnClose.isChecked();
\r
226 public void setSynchronizeOnClose(boolean val) {
\r
227 synchronizeOnClose.setChecked(val);
\r
231 //*****************************************
\r
232 //* Get/set sync intervals
\r
233 //*****************************************
\r
234 public String getSyncInterval() {
\r
235 int i = syncInterval.currentIndex();
\r
236 return syncInterval.itemText(i);
\r
238 public void setSyncInterval(String s) {
\r
239 List<String> vals = syncTimes.stringValues();
\r
240 for (int i=0; i<vals.size(); i++) {
\r
241 if (vals.get(i).equalsIgnoreCase(s))
\r
242 syncInterval.setCurrentIndex(i);
\r