OSDN Git Service

Update changelog to correct change date.
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / ConfigConnectionPage.java
1 /*\r
2  * This file is part of NixNote \r
3  * Copyright 2009 Randy Baumgarte\r
4  * \r
5  * This file may be licensed under the terms of of the\r
6  * GNU General Public License Version 2 (the ``GPL'').\r
7  *\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
12  *\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
17  *\r
18 */\r
19 \r
20 \r
21 //**********************************************\r
22 //**********************************************\r
23 //* This dialog is the Edit/Preferences dialog \r
24 //* when "Connection" is selected.  Used to store\r
25 //* Evernote information.\r
26 //**********************************************\r
27 //**********************************************\r
28 \r
29 package cx.fbn.nevernote.dialog;\r
30 \r
31 import java.util.List;\r
32 \r
33 import com.trolltech.qt.gui.QCheckBox;\r
34 import com.trolltech.qt.gui.QComboBox;\r
35 import com.trolltech.qt.gui.QFormLayout;\r
36 import com.trolltech.qt.gui.QGridLayout;\r
37 import com.trolltech.qt.gui.QGroupBox;\r
38 import com.trolltech.qt.gui.QLabel;\r
39 import com.trolltech.qt.gui.QLineEdit;\r
40 import com.trolltech.qt.gui.QSpinBox;\r
41 import com.trolltech.qt.gui.QVBoxLayout;\r
42 import com.trolltech.qt.gui.QWidget;\r
43 \r
44 import cx.fbn.nevernote.Global;\r
45 import cx.fbn.nevernote.utilities.SyncTimes;\r
46 \r
47 public class ConfigConnectionPage extends QWidget {\r
48         private final QLineEdit useridEdit;\r
49         private final QLineEdit passwordEdit;\r
50         private final QCheckBox rememberPassword;\r
51         private final QCheckBox autoLogin;\r
52         private final QComboBox syncInterval;\r
53         private final SyncTimes syncTimes;\r
54         private final QCheckBox synchronizeOnClose;\r
55         private final QCheckBox synchronizeDeletedContents;\r
56         \r
57         private final QLineEdit proxyHost;\r
58         private final QSpinBox proxyPort;\r
59         private final QLineEdit proxyUserid;\r
60         private final QLineEdit proxyPassword;\r
61         \r
62         public ConfigConnectionPage(QWidget parent) {\r
63                 \r
64                 // Userid settings\r
65                 QGroupBox useridGroup = new QGroupBox(tr("Connection"));\r
66                 QLabel useridLabel = new QLabel(tr("Userid"));\r
67                 QLabel passwordLabel = new QLabel(tr("Password"));\r
68 \r
69                 \r
70                 useridEdit = new QLineEdit();\r
71                 useridEdit.setText(Global.username);\r
72                 \r
73                 passwordEdit = new QLineEdit();\r
74                 passwordEdit.setText(Global.password);\r
75                 passwordEdit.setEchoMode(QLineEdit.EchoMode.Password);\r
76                 \r
77                 syncInterval = new QComboBox(this);\r
78                 syncTimes = new SyncTimes();\r
79                 syncInterval.addItems(syncTimes.stringValues());\r
80                 \r
81                 rememberPassword = new QCheckBox("Remember Userid & Password");\r
82                 autoLogin = new QCheckBox("Automatic Connect");\r
83                 synchronizeDeletedContents = new QCheckBox("Synchronze Deleted Note Content");\r
84                 synchronizeOnClose = new QCheckBox("Synchronize On Shutdown (only if connected)");\r
85                 \r
86                 QGroupBox proxyGroup = new QGroupBox("Proxy Settings");\r
87                 QLabel proxyHostLabel = new QLabel(tr("Host"));\r
88                 QLabel proxyPortLabel = new QLabel(tr("Port"));\r
89                 QLabel proxyUseridLabel = new QLabel(tr("Userid"));\r
90                 QLabel proxyPasswordLabel = new QLabel(tr("Password"));\r
91                 proxyHost = new QLineEdit();\r
92                 proxyPort = new QSpinBox();\r
93                 proxyUserid = new QLineEdit();\r
94                 proxyPassword = new QLineEdit();\r
95                 proxyPassword.setEchoMode(QLineEdit.EchoMode.Password);\r
96                 \r
97                 proxyHost.setText(Global.getProxyValue("url"));\r
98                 String portString = Global.getProxyValue("port");\r
99                 Integer port = new Integer(80);\r
100                 try {\r
101                         port = new Integer(portString.trim());\r
102                 } catch (Exception e) {\r
103                 }\r
104 \r
105                 proxyPort.setMinimum(1);\r
106                 proxyPort.setMaximum(65565);\r
107                 proxyPort.setValue(port);\r
108                 proxyUserid.setText(Global.getProxyValue("userid"));\r
109                 proxyPassword.setText(Global.getProxyValue("password"));\r
110                 \r
111                 if (!proxyHost.text().trim().equals("") && proxyPort.text().trim().equals(""))\r
112                         proxyPort.setValue(80);\r
113                 \r
114                 \r
115                 QFormLayout useridLayout = new QFormLayout();\r
116                 useridLayout.addWidget(useridLabel);\r
117                 useridLayout.addWidget(useridEdit);             \r
118                 useridLayout.addWidget(passwordLabel);\r
119                 useridLayout.addWidget(passwordEdit);\r
120                 useridLayout.addWidget(new QLabel(tr("Syncronization Interval")));\r
121                 useridLayout.addWidget(syncInterval);\r
122                 useridLayout.addWidget(rememberPassword);\r
123                 useridLayout.addWidget(autoLogin);\r
124                 useridLayout.addWidget(synchronizeOnClose);\r
125                 useridLayout.addWidget(synchronizeDeletedContents);\r
126                 \r
127                 QGridLayout proxyLayout = new QGridLayout();\r
128                 proxyLayout.addWidget(proxyHostLabel,1,1);\r
129                 proxyLayout.addWidget(proxyHost,1,2);\r
130                 proxyLayout.addWidget(proxyPortLabel,2,1);\r
131                 proxyLayout.addWidget(proxyPort,2,2);\r
132                 proxyLayout.addWidget(proxyUseridLabel,3,1);\r
133                 proxyLayout.addWidget(proxyUserid,3,2);\r
134                 proxyLayout.addWidget(proxyPasswordLabel,4,1);\r
135                 proxyLayout.addWidget(proxyPassword,4,2);\r
136                                 \r
137                 useridGroup.setLayout(useridLayout);\r
138                 proxyGroup.setLayout(proxyLayout);\r
139                 \r
140                 // Add everything together\r
141                 QVBoxLayout mainLayout = new QVBoxLayout();\r
142                 mainLayout.addWidget(useridGroup);\r
143                 mainLayout.addWidget(proxyGroup);\r
144                 mainLayout.addStretch(1);\r
145                 setLayout(mainLayout);\r
146                 \r
147         }\r
148 \r
149         \r
150         //*****************************************\r
151         //* Userid get/set methods \r
152         //*****************************************\r
153         public void setUserid(String id) {\r
154                 useridEdit.setText(id);\r
155         }\r
156         public String getUserid() {\r
157                 return useridEdit.text();\r
158         }\r
159         \r
160 \r
161         //*****************************************\r
162         //* Password get/set methods \r
163         //*****************************************\r
164         public void setPassword(String id) {\r
165                 passwordEdit.setText(id);\r
166         }\r
167         public String getPassword() {\r
168                 return passwordEdit.text();\r
169         }\r
170         \r
171 \r
172         //*******************************************\r
173         //* Remember Password get/set\r
174         //*******************************************\r
175         public void setRememberPassword(boolean val) {\r
176                 rememberPassword.setChecked(val);\r
177         }\r
178         public boolean getRememberPassword() {\r
179                 return rememberPassword.isChecked();\r
180         }\r
181         \r
182         \r
183         \r
184         \r
185         //*******************************************\r
186         //* Automatic login get/set\r
187         //*******************************************\r
188         public void setAutomaticLogin(boolean val) {\r
189                 autoLogin.setChecked(val);\r
190         }\r
191         public boolean getAutomaticLogin() {\r
192                 return autoLogin.isChecked();\r
193         }\r
194 \r
195         \r
196 \r
197         //*****************************************\r
198         //* Synchronize Deleted Note Content\r
199         //*****************************************\r
200         public void setSyncronizeDeletedContent(boolean val) {\r
201                 synchronizeDeletedContents.setChecked(val);\r
202         }\r
203         public boolean getSynchronizeDeletedContent() {\r
204                 return synchronizeDeletedContents.isChecked();\r
205         }\r
206         \r
207 \r
208         \r
209         //******************************************\r
210         //* Get Proxy settings\r
211         //******************************************\r
212         public String getProxyUrl() {\r
213                 return proxyHost.text().trim();\r
214         }\r
215         public String getProxyPort() {\r
216                 if (!proxyHost.text().trim().equalsIgnoreCase("") && proxyPort.text().trim().equals(""))\r
217                         return "80";\r
218                 if (proxyHost.text().trim().equals(""))\r
219                         return "";\r
220                 return proxyPort.text().trim();\r
221         }\r
222         public String getProxyUserid() {\r
223                 if (proxyHost.text().trim().equals(""))\r
224                         return "";\r
225                 return proxyUserid.text().trim();\r
226         }\r
227         public String getProxyPassword() {\r
228                 if (proxyHost.text().trim().equals(""))\r
229                         return "";\r
230                 return proxyPassword.text().trim();\r
231         }\r
232 \r
233         \r
234         \r
235         \r
236         //*****************************************\r
237         //* Get/set synchronize on close\r
238         //*****************************************\r
239         public boolean getSynchronizeOnClose() {\r
240                 return synchronizeOnClose.isChecked();\r
241         }\r
242         public void setSynchronizeOnClose(boolean val) {\r
243                 synchronizeOnClose.setChecked(val);\r
244         }\r
245         \r
246         \r
247         //*****************************************\r
248         //* Get/set sync intervals\r
249         //*****************************************\r
250         public String getSyncInterval() {\r
251                 int i = syncInterval.currentIndex();\r
252                 return syncInterval.itemText(i);        \r
253         }\r
254         public void setSyncInterval(String s) {\r
255                 List<String> vals = syncTimes.stringValues();\r
256                 for (int i=0; i<vals.size(); i++) {\r
257                         if (vals.get(i).equalsIgnoreCase(s))\r
258                                 syncInterval.setCurrentIndex(i);\r
259                 }\r
260         }\r
261 }\r