37
38
@SuppressWarnings("restriction")
38
39
public class GpsPreferencePage extends AbstractPreferencePage {
41
public static final String ID = "com.bdaum.zoom.gps.preferences.GpsPreferencePage"; //$NON-NLS-1$
40
42
private Button coordinateButton;
41
43
private Button placenameButton;
42
44
private Button tagButton;
43
45
private Button waypointButton;
44
46
private Button altitudeButton;
45
47
private Spinner timeShiftField;
46
private Spinner toleranceField;
48
private Spinner toleranceHourField;
49
private Spinner toleranceMinuteField;
47
50
private CTabFolder tabFolder;
48
51
private CTabItem tabItem0;
49
52
private CTabItem tabItem1;
69
75
setHelp(HelpContextIds.PREFERENCE_PAGE);
70
76
tabFolder = new CTabFolder(composite, SWT.BORDER);
71
77
tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
72
tabItem0 = createTabItem(tabFolder, Messages.getString("GpsPreferencePage.general")); //$NON-NLS-1$
78
tabItem0 = createTabItem(tabFolder,
79
Messages.getString("GpsPreferencePage.general")); //$NON-NLS-1$
73
80
tabItem0.setControl(createGeneralGroup(tabFolder));
74
tabItem1 = createTabItem(tabFolder, Messages.getString("GpsPreferencePage.webservices")); //$NON-NLS-1$
81
tabItem1 = createTabItem(tabFolder,
82
Messages.getString("GpsPreferencePage.webservices")); //$NON-NLS-1$
75
83
tabItem1.setControl(createWebServiceGroup(tabFolder));
76
84
tabFolder.setSimple(false);
77
85
tabFolder.setSelection(tabItem0);
90
98
private void createSelectionGroup(Composite composite) {
91
CGroup group = createGroup(composite, 1,
99
CGroup group = createGroup(composite, 2,
92
100
Messages.getString("AdvancedPreferencePage.webservice")); //$NON-NLS-1$
93
101
combo = new Combo(group, SWT.DROP_DOWN);
94
combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
95
IConfigurationElement[] namingServices = GpsActivator.getNamingServices();
102
combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2,
104
IConfigurationElement[] namingServices = GpsActivator
105
.getNamingServices();
96
106
serviceNames = new String[namingServices.length];
97
107
for (int i = 0; i < namingServices.length; i++) {
98
108
serviceNames[i] = namingServices[i].getAttribute("name"); //$NON-NLS-1$
99
Boolean b = new Boolean(namingServices[i].getAttribute("default")); //$NON-NLS-1$
109
if (new Boolean(namingServices[i].getAttribute("default"))) //$NON-NLS-1$
103
112
combo.setItems(serviceNames);
113
new Label(group, SWT.NONE).setText(Messages.getString("GpsPreferencePage.maxRequests")); //$NON-NLS-1$
114
reqhField = new Spinner(group, SWT.BORDER);
115
reqhField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false,
117
reqhField.setMaximum(100000);
118
reqhField.setMinimum(40);
119
reqhField.setIncrement(10);
120
reqhField.setPageIncrement(100);
106
123
private void createPremiumGroup(Composite composite) {
144
161
.getBoolean(PreferenceConstants.INCLUDECOORDINATES));
145
162
placenameButton.setSelection(preferenceStore
146
163
.getBoolean(PreferenceConstants.INCLUDENAMES));
164
editButton.setSelection(preferenceStore
165
.getBoolean(PreferenceConstants.EDIT));
147
166
tagButton.setSelection(preferenceStore
148
167
.getBoolean(PreferenceConstants.OVERWRITE));
149
168
waypointButton.setSelection(preferenceStore
150
169
.getBoolean(PreferenceConstants.USEWAYPOINTS));
151
170
timeShiftField.setSelection(preferenceStore
152
171
.getInt(PreferenceConstants.TIMESHIFT));
153
toleranceField.setSelection(preferenceStore
154
.getInt(PreferenceConstants.TOLERANCE));
172
toleranceHourField.setSelection(preferenceStore
173
.getInt(PreferenceConstants.TOLERANCE) / 60);
174
toleranceMinuteField.setSelection(preferenceStore
175
.getInt(PreferenceConstants.TOLERANCE) % 60);
176
reqhField.setSelection(preferenceStore
177
.getInt(PreferenceConstants.HOURLYLIMIT));
156
178
String service = preferenceStore
157
179
.getString(PreferenceConstants.NAMINGSERVICE);
158
180
int select = dflt;
180
202
preferenceStore.setValue(PreferenceConstants.INCLUDENAMES,
182
204
.getDefaultBoolean(PreferenceConstants.INCLUDENAMES));
205
preferenceStore.setValue(PreferenceConstants.EDIT,
206
preferenceStore.getDefaultBoolean(PreferenceConstants.EDIT));
183
207
preferenceStore.setValue(PreferenceConstants.OVERWRITE, preferenceStore
184
208
.getDefaultBoolean(PreferenceConstants.OVERWRITE));
185
209
preferenceStore.setValue(PreferenceConstants.USEWAYPOINTS,
189
213
preferenceStore.getDefaultInt(PreferenceConstants.TIMESHIFT));
190
214
preferenceStore.setValue(PreferenceConstants.TOLERANCE,
191
215
preferenceStore.getDefaultInt(PreferenceConstants.TOLERANCE));
193
216
preferenceStore.setValue(PreferenceConstants.NAMINGSERVICE,
195
218
.getDefaultString(PreferenceConstants.NAMINGSERVICE));
219
preferenceStore.setValue(PreferenceConstants.HOURLYLIMIT,
220
preferenceStore.getDefaultInt(PreferenceConstants.HOURLYLIMIT));
196
221
for (IConfigurationElement key : keyMap.keySet()) {
197
222
String id = key.getAttribute("id"); //$NON-NLS-1$
198
223
preferenceStore.setValue(id, preferenceStore.getDefaultString(id));
208
233
coordinateButton.getSelection());
209
234
preferenceStore.setValue(PreferenceConstants.INCLUDENAMES,
210
235
placenameButton.getSelection());
236
preferenceStore.setValue(PreferenceConstants.EDIT,
237
editButton.getSelection());
211
238
preferenceStore.setValue(PreferenceConstants.OVERWRITE,
212
239
tagButton.getSelection());
213
240
preferenceStore.setValue(PreferenceConstants.USEWAYPOINTS,
214
241
waypointButton.getSelection());
215
242
preferenceStore.setValue(PreferenceConstants.TIMESHIFT,
216
243
timeShiftField.getSelection());
217
preferenceStore.setValue(PreferenceConstants.TOLERANCE,
218
toleranceField.getSelection());
244
preferenceStore.setValue(
245
PreferenceConstants.TOLERANCE,
246
toleranceHourField.getSelection() * 60
247
+ toleranceMinuteField.getSelection());
219
248
preferenceStore.setValue(PreferenceConstants.NAMINGSERVICE,
220
249
combo.getText());
250
preferenceStore.setValue(PreferenceConstants.HOURLYLIMIT,
251
reqhField.getSelection());
221
252
for (Map.Entry<IConfigurationElement, Text> entry : keyMap.entrySet())
222
253
preferenceStore.setValue(entry.getKey().getAttribute("id"), //$NON-NLS-1$
223
254
entry.getValue().getText());
229
260
new Label(group, SWT.NONE).setText(Messages
230
261
.getString("GpsPreferencePage.Timeshift")); //$NON-NLS-1$
231
262
timeShiftField = new Spinner(group, SWT.BORDER);
232
timeShiftField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER,
263
timeShiftField.setLayoutData(new GridData(SWT.END, SWT.CENTER, false,
234
265
timeShiftField.setMaximum(12 * 60);
235
266
timeShiftField.setMinimum(-12 * 60);
236
267
timeShiftField.setIncrement(1);
237
268
timeShiftField.setPageIncrement(60);
239
269
new Label(group, SWT.NONE).setText(Messages
240
270
.getString("GpsPreferencePage.Tolerance")); //$NON-NLS-1$
241
toleranceField = new Spinner(group, SWT.BORDER);
242
toleranceField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER,
244
toleranceField.setMaximum(4 * 60);
245
toleranceField.setIncrement(1);
246
toleranceField.setPageIncrement(15);
271
Composite sub = new Composite(group, SWT.NONE);
272
sub.setLayoutData(new GridData(SWT.END, SWT.FILL, false, false));
273
GridLayout layout = new GridLayout(2, false);
274
layout.marginHeight = layout.marginWidth = 0;
275
sub.setLayout(layout);
276
toleranceHourField = new Spinner(sub, SWT.BORDER);
277
toleranceHourField.setLayoutData(new GridData(SWT.END, SWT.CENTER,
279
toleranceHourField.setMaximum(168);
280
toleranceHourField.setIncrement(1);
281
toleranceHourField.setPageIncrement(3);
282
toleranceMinuteField = new Spinner(sub, SWT.BORDER);
283
toleranceMinuteField.setLayoutData(new GridData(SWT.END, SWT.CENTER,
285
toleranceMinuteField.setMaximum(59);
286
toleranceMinuteField.setIncrement(1);
287
toleranceMinuteField.setPageIncrement(15);
249
290
private void createModeGroup(Composite composite) {
250
291
CGroup group = createGroup(composite, 1,
251
292
Messages.getString("GpsPreferencePage.mode")); //$NON-NLS-1$
293
editButton = WidgetFactory.createCheckButton(group,
294
Messages.getString("GpsPreferencePage.edit_trackpoints"), null); //$NON-NLS-1$
252
295
tagButton = WidgetFactory.createCheckButton(group,
253
296
Messages.getString("GpsPreferencePage.Overwrite_tags"), null); //$NON-NLS-1$
254
297
waypointButton = WidgetFactory.createCheckButton(group,