2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
3 // 2011 Free Software Foundation, Inc
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 #include "aos4_gnash_prefs.h"
23 Object
*Objects
[OBJ_NUM
];
24 #define OBJ(x) Objects[x]
25 #define GAD(x) (struct Gadget *)Objects[x]
27 CONST_STRPTR PageLabels_1
[] = {"Logging", "Security", "Network", "Media", "Player", NULL
};
29 #define SPACE LAYOUT_AddChild, SpaceObject, End
33 struct MsgPort
*AppPort
;
36 make_window(struct GnashPrefs
*preferences
)
41 printf("1)%s - %d\n",preferences->logfilename,strlen(preferences->logfilename));
42 printf("2)%s - %d\n",preferences->sharedobjdir,strlen(preferences->sharedobjdir));
43 printf("3)%s - %d\n",preferences->savemediadir,strlen(preferences->savemediadir));
44 printf("4)%s - %d\n",preferences->playerversion,strlen(preferences->playerversion));
45 printf("5)%s - %d\n",preferences->detectedos,strlen(preferences->detectedos));
46 printf("6)%s - %d\n",preferences->urlopener,strlen(preferences->urlopener));
55 snprintf(verb_level
,3,"%d",preferences
->verbosity
);
57 page1
= (Object
*) VLayoutObject
,
58 LAYOUT_BevelStyle
, BVS_GROUP
,
59 LAYOUT_Label
, "Logging options",
60 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
61 LAYOUT_AddChild
, VLayoutObject
,
62 LAYOUT_BevelStyle
, BVS_NONE
,
63 LAYOUT_Label
, "Verbosity level:",
64 LAYOUT_LabelPlace
, BVJ_TOP_LEFT
,
65 LAYOUT_AddChild
, OBJ(OBJ_SCROLLER_VALUE
) = (Object
*) ButtonObject
,
67 GA_ID
, OBJ_SCROLLER_VALUE
,
69 BUTTON_Transparent
, TRUE
,
70 BUTTON_BevelStyle
, BVS_NONE
,
71 BUTTON_Justification
, BCJ_LEFT
,
73 LAYOUT_AddChild
, OBJ(OBJ_SCROLLER
) = (Object
*) ScrollerObject
,
76 SCROLLER_Top
, preferences
->verbosity
,
77 SCROLLER_Arrows
, FALSE
,
78 SCROLLER_Orientation
, SORIENT_HORIZ
,
80 LAYOUT_AddChild
, OBJ(OBJ_LOGTOFILE
) = (Object
*) CheckBoxObject
,
83 GA_Text
, "Log to _file",
84 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
85 CHECKBOX_Checked
, (preferences
->logtofile
==1) ? TRUE
: FALSE
,
87 LAYOUT_AddChild
, OBJ(OBJ_LOGFILENAME_VALUE
) = (Object
*) StringObject
,
88 GA_ID
, OBJ_LOGFILENAME_VALUE
,
91 STRINGA_MaxChars
, 254,
92 STRINGA_MinVisible
, 10,
93 //STRINGA_TextVal, preferences->logfilename,
95 CHILD_Label
, LabelObject
, LABEL_Text
, "Logfile name:", LabelEnd
,
96 LAYOUT_AddChild
, OBJ(OBJ_LOGPARSER
) = (Object
*) CheckBoxObject
,
99 GA_Text
, "Log _parser output",
100 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
101 CHECKBOX_Checked
, (preferences
->logparser
==1) ? TRUE
: FALSE
,
103 LAYOUT_AddChild
, OBJ(OBJ_LOGSWF
) = (Object
*) CheckBoxObject
,
106 GA_Text
, "Log SWF _actions",
107 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
108 CHECKBOX_Checked
, (preferences
->logswf
==1) ? TRUE
: FALSE
,
110 LAYOUT_AddChild
, OBJ(OBJ_LOGMALFORMEDSWF
) = (Object
*) CheckBoxObject
,
111 GA_ID
, OBJ_LOGMALFORMEDSWF
,
113 GA_Text
, "Log malformed SWF _errors",
114 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
115 CHECKBOX_Checked
, (preferences
->logmalformedswf
==1) ? TRUE
: FALSE
,
117 LAYOUT_AddChild
, OBJ(OBJ_LOGACTIONSCRIPT
) = (Object
*) CheckBoxObject
,
118 GA_ID
, OBJ_LOGACTIONSCRIPT
,
120 GA_Text
, "Log ActionScript _coding errors",
121 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
122 CHECKBOX_Checked
, (preferences
->logactionscript
==1) ? TRUE
: FALSE
,
124 LAYOUT_AddChild
, OBJ(OBJ_LOGLOCALCONNECTION
) = (Object
*) CheckBoxObject
,
125 GA_ID
, OBJ_LOGLOCALCONNECTION
,
127 GA_Text
, "Log _Local Connection activity",
128 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
129 CHECKBOX_Checked
, (preferences
->loglocalconn
==1) ? TRUE
: FALSE
,
133 page2
= (Object
*) VLayoutObject
,
134 LAYOUT_BevelStyle
, BVS_NONE
,
135 LAYOUT_AddChild
, VLayoutObject
,
136 LAYOUT_BevelStyle
, BVS_GROUP
,
137 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
138 LAYOUT_Label
, "Security",
139 LAYOUT_AddChild
, OBJ(OBJ_CONNECTLOCALHOST
) = (Object
*) CheckBoxObject
,
140 GA_ID
, OBJ_CONNECTLOCALHOST
,
142 GA_Text
, "Connect only to local _host",
143 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
144 CHECKBOX_Checked
, (preferences
->connectlocalhost
==1) ? TRUE
: FALSE
,
145 End
, //CheckBoxObject
146 CHILD_WeightedHeight
, 0,
147 LAYOUT_AddChild
, OBJ(OBJ_CONNECTLOCALDOMAIN
) = (Object
*) CheckBoxObject
,
148 GA_ID
, OBJ_CONNECTLOCALDOMAIN
,
150 GA_Text
, "Connect only to local _domain",
151 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
152 CHECKBOX_Checked
, (preferences
->connectlocaldomain
==1) ? TRUE
: FALSE
,
153 End
, //CheckBoxObject
154 CHILD_WeightedHeight
, 0,
155 LAYOUT_AddChild
, OBJ(OBJ_DISABLESSL
) = (Object
*) CheckBoxObject
,
156 GA_ID
, OBJ_DISABLESSL
,
158 GA_Text
, "Disable SSL _verification",
159 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
160 CHECKBOX_Checked
, (preferences
->disablessl
==1) ? TRUE
: FALSE
,
161 End
, //CheckBoxObject
162 CHILD_WeightedHeight
, 0,
165 LAYOUT_AddChild
, VLayoutObject
,
166 LAYOUT_BevelStyle
, BVS_GROUP
,
167 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
168 LAYOUT_Label
, "Privacy",
169 CHILD_WeightedHeight
, 0,
170 LAYOUT_AddChild
, OBJ(OBJ_SHAREDOBJDIR_VALUE
) = (Object
*) StringObject
,
171 GA_ID
, OBJ_SHAREDOBJDIR_VALUE
,
174 STRINGA_MaxChars
, 254,
175 STRINGA_MinVisible
, 10,
176 //STRINGA_TextVal, preferences->sharedobjdir,
178 CHILD_Label
, LabelObject
, LABEL_Text
, "Shared objects directory:", LabelEnd
,
179 CHILD_WeightedHeight
, 0,
180 LAYOUT_AddChild
, OBJ(OBJ_DONTWRITESHAREDOBJ
) = (Object
*) CheckBoxObject
,
181 GA_ID
, OBJ_DONTWRITESHAREDOBJ
,
183 GA_Text
, "Do _not write Shared Object files",
184 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
185 CHECKBOX_Checked
, (preferences
->dontwriteso
==1) ? TRUE
: FALSE
,
186 End
, //CheckBoxObject
187 CHILD_WeightedHeight
, 0,
188 LAYOUT_AddChild
, OBJ(OBJ_ONLYLOCALSHAREDOBJ
) = (Object
*) CheckBoxObject
,
189 GA_ID
, OBJ_ONLYLOCALSHAREDOBJ
,
191 GA_Text
, "Only _access local Shared Object files",
192 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
193 CHECKBOX_Checked
, (preferences
->onlylocalso
==1) ? TRUE
: FALSE
,
194 End
, //CheckBoxObject
195 CHILD_WeightedHeight
, 0,
196 LAYOUT_AddChild
, OBJ(OBJ_DISABLELOCALCONNOBJ
) = (Object
*) CheckBoxObject
,
197 GA_ID
, OBJ_DISABLELOCALCONNOBJ
,
199 GA_Text
, "Disable Local _Connection object",
200 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
201 CHECKBOX_Checked
, (preferences
->disablelocal
==1) ? TRUE
: FALSE
,
202 End
, //CheckBoxObject
203 CHILD_WeightedHeight
, 0,
205 End
, // VLayoutObject
206 End
; // VLayoutObject
208 page3
= (Object
*) VLayoutObject
,
209 LAYOUT_BevelStyle
, BVS_GROUP
,
210 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
211 LAYOUT_Label
, "Network",
212 LAYOUT_AddChild
, OBJ(OBJ_NETWORKTIMEOUT
) = (Object
*) IntegerObject
,
213 GA_ID
, OBJ_NETWORKTIMEOUT
,
216 INTEGER_Arrows
, TRUE
,
219 INTEGER_Maximum
, 120,
220 INTEGER_Number
, preferences
->nettimeout
,
222 CHILD_NominalSize
, TRUE
,
223 CHILD_Label
, LabelObject
, LABEL_Text
, "Network timeout in secs (0 for no timeout)", LabelEnd
,
224 CHILD_WeightedHeight
, 0,
228 page4
= (Object
*) VLayoutObject
,
229 LAYOUT_BevelStyle
, BVS_NONE
,
230 LAYOUT_AddChild
, VLayoutObject
,
231 LAYOUT_BevelStyle
, BVS_GROUP
,
232 LAYOUT_Label
, "Sound",
233 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
234 LAYOUT_AddChild
, VLayoutObject
,
235 LAYOUT_AddChild
, OBJ(OBJ_USESOUNDHANDLER
) = (Object
*) CheckBoxObject
,
236 GA_ID
, OBJ_USESOUNDHANDLER
,
238 GA_Text
, "Use sound _handler",
239 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
240 CHECKBOX_Checked
, (preferences
->usesound
==1) ? TRUE
: FALSE
,
241 End
, //CheckBoxObject
242 CHILD_WeightedHeight
, 0,
245 LAYOUT_AddChild
, VLayoutObject
,
246 LAYOUT_BevelStyle
, BVS_GROUP
,
247 LAYOUT_Label
, "Media Streams",
248 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
249 LAYOUT_AddChild
, OBJ(OBJ_SAVEMEDIASTREAMS
) = (Object
*) CheckBoxObject
,
250 GA_ID
, OBJ_SAVEMEDIASTREAMS
,
252 GA_Text
, "Save media streams to disk",
253 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
254 CHECKBOX_Checked
, (preferences
->savemedia
==1) ? TRUE
: FALSE
,
255 End
, //CheckBoxObject
256 LAYOUT_AddChild
, OBJ(OBJ_SEVEDYNAMICSTREAMS
) = (Object
*) CheckBoxObject
,
257 GA_ID
, OBJ_SEVEDYNAMICSTREAMS
,
259 GA_Text
, "Save dynamically loaded media to disk",
260 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
261 CHECKBOX_Checked
, (preferences
->savedynamic
==1) ? TRUE
: FALSE
,
262 End
, //CheckBoxObject
264 LAYOUT_AddChild
, OBJ(OBJ_MEDIASAVEDIR_VALUE
) = (Object
*) StringObject
,
265 GA_ID
, OBJ_MEDIASAVEDIR_VALUE
,
268 STRINGA_MaxChars
, 254,
269 STRINGA_MinVisible
, 10,
270 //STRINGA_TextVal, preferences->savemediadir,
272 CHILD_NominalSize
, TRUE
,
273 CHILD_Label
, LabelObject
, LABEL_Text
, "Save media directory:", LabelEnd
,
274 CHILD_WeightedHeight
, 0,
278 page5
= (Object
*) VLayoutObject
,
279 LAYOUT_BevelStyle
, BVS_NONE
,
280 LAYOUT_AddChild
, VLayoutObject
,
281 LAYOUT_BevelStyle
, BVS_GROUP
,
282 LAYOUT_Label
, "Player description",
283 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
284 LAYOUT_AddChild
, VLayoutObject
,
285 LAYOUT_AddChild
, OBJ(OBJ_PLAYERVERSION_VALUE
) = (Object
*) StringObject
,
286 GA_ID
, OBJ_PLAYERVERSION_VALUE
,
289 STRINGA_MaxChars
, 31,
290 STRINGA_MinVisible
, 10,
291 //STRINGA_TextVal, preferences->playerversion,
293 CHILD_NominalSize
, TRUE
,
294 CHILD_Label
, LabelObject
, LABEL_Text
, "Player version:", LabelEnd
,
295 CHILD_WeightedHeight
, 0,
296 LAYOUT_AddChild
, OBJ(OBJ_OS_VALUE
) = (Object
*) StringObject
,
300 STRINGA_MinVisible
, 10,
301 STRINGA_MaxChars
, 31,
302 //STRINGA_TextVal, preferences->detectedos,
304 CHILD_NominalSize
, TRUE
,
305 CHILD_Label
, LabelObject
, LABEL_Text
, "Operating system:", LabelEnd
,
306 CHILD_WeightedHeight
, 0,
307 LAYOUT_AddChild
, OBJ(OBJ_URLOPENER_VALUE
) = (Object
*) StringObject
,
308 GA_ID
, OBJ_URLOPENER_VALUE
,
311 STRINGA_MinVisible
, 10,
312 STRINGA_MaxChars
, 254,
313 //STRINGA_TextVal, preferences->urlopener,
315 CHILD_NominalSize
, TRUE
,
316 CHILD_Label
, LabelObject
, LABEL_Text
, "URL opener:", LabelEnd
,
317 CHILD_WeightedHeight
, 0,
320 LAYOUT_AddChild
, VLayoutObject
,
321 LAYOUT_BevelStyle
, BVS_GROUP
,
322 LAYOUT_Label
, "Performance",
323 LAYOUT_LabelPlace
, BVJ_TOP_CENTER
,
324 LAYOUT_AddChild
, OBJ(OBJ_SIZEMOVIELIB
) = (Object
*) IntegerObject
,
325 GA_ID
, OBJ_SIZEMOVIELIB
,
328 INTEGER_Arrows
, TRUE
,
331 INTEGER_Maximum
, 9999,
332 INTEGER_Number
, preferences
->maxsizemovielib
,
334 CHILD_NominalSize
, TRUE
,
335 CHILD_Label
, LabelObject
, LABEL_Text
, "Max size of movie library", LabelEnd
,
336 CHILD_WeightedHeight
, 0,
337 LAYOUT_AddChild
, OBJ(OBJ_STARTINPAUSE
) = (Object
*) CheckBoxObject
,
338 GA_ID
, OBJ_STARTINPAUSE
,
340 GA_Text
, "Start _Gnash in pause mode",
341 CHECKBOX_TextPlace
, PLACETEXT_RIGHT
,
342 CHECKBOX_Checked
, (preferences
->startpaused
==1) ? TRUE
: FALSE
,
343 End
, //CheckBoxObject
348 OBJ(OBJ_CLICKTAB_MAIN
) = (Object
*) ClickTabObject
,
349 GA_Text
, PageLabels_1
,
351 CLICKTAB_PageGroup
, PageObject
,
360 return (Object
*) WindowObject
,
361 WA_ScreenTitle
, "Gnash preferences",
362 WA_Title
, "Gnash preferences",
364 WA_CloseGadget
, TRUE
,
365 WA_SizeGadget
, FALSE
,
366 WA_DepthGadget
, TRUE
,
368 WINDOW_IconifyGadget
, TRUE
,
369 WINDOW_IconTitle
, "Gnash",
370 WINDOW_AppPort
, AppPort
,
371 WINDOW_Position
, WPOS_CENTERSCREEN
,
372 WINDOW_Layout
, VLayoutObject
,
373 LAYOUT_AddChild
, OBJ(OBJ_CLICKTAB_MAIN
),
374 LAYOUT_AddChild
, HLayoutObject
,
377 LAYOUT_AddChild
, Button("_OK",OBJ_OK
),
378 LAYOUT_AddChild
, Button("_Quit",OBJ_CANCEL
),
379 CHILD_WeightedHeight
, 0,