annotate Mac/scripts/EditPythonPrefs.py @ 4550:f1244036ebab legacy-trunk

Fixed to allow sys.path initializer to be longer than 255 chars.
author Jack Jansen <jack.jansen@cwi.nl>
date Wed, 20 Nov 1996 14:55:26 +0000
parents 85d38456adf0
children 77135da9f36c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """Edit the Python Preferences file."""
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
2 #
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
3 # This program is getting more and more clunky. It should really
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
4 # be rewritten in a modeless way some time soon.
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 from Dlg import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 from Events import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 from Res import *
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 import string
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 import struct
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 import macfs
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 import MacOS
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 import os
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 import sys
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 import Res # For Res.Error
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
17 # Resource in the Python resource chain
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
18 PREFNAME_NAME="PythonPreferenceFileName"
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
19
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 # resource IDs in our own resources (dialogs, etc)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 MESSAGE_ID = 256
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22
4398
ec4c42bea69d Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents: 4235
diff changeset
23 DIALOG_ID = 511
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 TEXT_ITEM = 1
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 OK_ITEM = 2
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 CANCEL_ITEM = 3
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
27 DIR_ITEM = 4
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
28 TITLE_ITEM = 5
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
29 OPTIONS_ITEM = 7
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
30
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
31 # The options dialog. There is a correspondence between
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
32 # the dialog item numbers and the option.
4398
ec4c42bea69d Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents: 4235
diff changeset
33 OPT_DIALOG_ID = 510
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
34 # 1 thru 9 are the options
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
35 # The GUSI creator/type and delay-console
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
36 OD_CREATOR_ITEM = 10
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
37 OD_TYPE_ITEM = 11
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
38 OD_DELAYCONSOLE_ITEM = 12
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
39 OD_OK_ITEM = 13
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
40 OD_CANCEL_ITEM = 14
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 # Resource IDs in the preferences file
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43 PATH_STRINGS_ID = 128
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 DIRECTORY_ID = 128
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
45 OPTIONS_ID = 128
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
46 GUSI_ID = 10240
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
47
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
48 # Override IDs (in the applet)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
49 OVERRIDE_PATH_STRINGS_ID = 129
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
50 OVERRIDE_DIRECTORY_ID = 129
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
51 OVERRIDE_OPTIONS_ID = 129
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
52 OVERRIDE_GUSI_ID = 10241
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
53
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
54 # Things we know about the GUSI resource. Note the code knows these too.
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
55 GUSIPOS_TYPE=0
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
56 GUSIPOS_CREATOR=4
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
57 GUSIPOS_SKIP=8
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
58 GUSIPOS_FLAGS=9
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
59 GUSIPOS_VERSION=10
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
60 GUSIVERSION='0181'
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
61 GUSIFLAGS_DELAY=0x20 # Mask
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
62
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
63 READ = 1
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64 WRITE = 2
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 smAllScripts = -3
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 kOnSystemDisk = 0x8000
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
67
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68 def restolist(data):
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69 """Convert STR# resource data to a list of strings"""
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70 if not data:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 return []
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72 num, = struct.unpack('h', data[:2])
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 data = data[2:]
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74 rv = []
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75 for i in range(num):
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
76 strlen = ord(data[0])
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 if strlen < 0: strlen = strlen + 256
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
78 str = data[1:strlen+1]
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
79 data = data[strlen+1:]
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
80 rv.append(str)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
81 return rv
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
82
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
83 def listtores(list):
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
84 """Convert a list of strings to STR# resource data"""
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
85 rv = struct.pack('h', len(list))
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
86 for str in list:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
87 rv = rv + chr(len(str)) + str
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
88 return rv
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
89
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
90 def message(str = "Hello, world!", id = MESSAGE_ID):
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
91 """Show a simple alert with a text message"""
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
92 d = GetNewDialog(id, -1)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
93 d.SetDialogDefaultItem(1)
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
94 tp, h, rect = d.GetDialogItem(2)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
95 SetDialogItemText(h, str)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
96 while 1:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
97 n = ModalDialog(None)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
98 if n == 1: break
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
99
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
100 def optinteract((options, creator, type, delaycons)):
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
101 """Let the user interact with the options dialog"""
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
102 old_options = (options[:], creator, type, delaycons)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
103 d = GetNewDialog(OPT_DIALOG_ID, -1)
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
104 tp, h, rect = d.GetDialogItem(OD_CREATOR_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
105 SetDialogItemText(h, creator)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
106 tp, h, rect = d.GetDialogItem(OD_TYPE_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
107 SetDialogItemText(h, type)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
108 d.SetDialogDefaultItem(OD_OK_ITEM)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
109 d.SetDialogCancelItem(OD_CANCEL_ITEM)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
110 while 1:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
111 for i in range(len(options)):
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
112 tp, h, rect = d.GetDialogItem(i+1)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
113 h.as_Control().SetControlValue(options[i])
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
114 tp, h, rect = d.GetDialogItem(OD_DELAYCONSOLE_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
115 h.as_Control().SetControlValue(delaycons)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
116 n = ModalDialog(None)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
117 if n == OD_OK_ITEM:
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
118 tp, h, rect = d.GetDialogItem(OD_CREATOR_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
119 ncreator = GetDialogItemText(h)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
120 tp, h, rect = d.GetDialogItem(OD_TYPE_ITEM)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
121 ntype = GetDialogItemText(h)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
122 if len(ncreator) == 4 and len(ntype) == 4:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
123 return options, ncreator, ntype, delaycons
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
124 else:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
125 sys.stderr.write('\007')
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
126 elif n == OD_CANCEL_ITEM:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
127 return old_options
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
128 elif n in (OD_CREATOR_ITEM, OD_TYPE_ITEM):
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
129 pass
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
130 elif n == OD_DELAYCONSOLE_ITEM:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
131 delaycons = (not delaycons)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
132 elif 1 <= n <= len(options):
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
133 options[n-1] = (not options[n-1])
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
134
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
135
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
136 def interact(list, pythondir, options, title):
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
137 """Let the user interact with the dialog"""
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
138 opythondir = pythondir
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
139 try:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
140 # Try to go to the "correct" dir for GetDirectory
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
141 os.chdir(pythondir.as_pathname())
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
142 except os.error:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
143 pass
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
144 d = GetNewDialog(DIALOG_ID, -1)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
145 tp, h, rect = d.GetDialogItem(TITLE_ITEM)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
146 SetDialogItemText(h, title)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
147 tp, h, rect = d.GetDialogItem(TEXT_ITEM)
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
148 ## SetDialogItemText(h, string.joinfields(list, '\r'))
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
149 h.data = string.joinfields(list, '\r')
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
150 d.SelectDialogItemText(TEXT_ITEM, 0, 32767)
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
151 d.SelectDialogItemText(TEXT_ITEM, 0, 0)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
152 ## d.SetDialogDefaultItem(OK_ITEM)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
153 d.SetDialogCancelItem(CANCEL_ITEM)
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
154 d.GetDialogWindow().ShowWindow()
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
155 d.DrawDialog()
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
156 while 1:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
157 n = ModalDialog(None)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
158 if n == OK_ITEM:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
159 break
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
160 if n == CANCEL_ITEM:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
161 return None
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
162 ## if n == REVERT_ITEM:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
163 ## return [], pythondir
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
164 if n == DIR_ITEM:
2979
7eea9b426802 Added prompts to various file-select dialogs
Jack Jansen <jack.jansen@cwi.nl>
parents: 2873
diff changeset
165 fss, ok = macfs.GetDirectory('Select python home folder:')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
166 if ok:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
167 pythondir = fss
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
168 if n == OPTIONS_ITEM:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
169 options = optinteract(options)
4550
f1244036ebab Fixed to allow sys.path initializer to be longer than 255 chars.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4448
diff changeset
170 tmp = string.splitfields(h.data, '\r')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
171 rv = []
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
172 for i in tmp:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
173 if i:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
174 rv.append(i)
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
175 return rv, pythondir, options
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
176
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
177 def getprefpath(id):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
178 # Load the path and directory resources
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
179 try:
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
180 sr = GetResource('STR#', id)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
181 except (MacOS.Error, Res.Error):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
182 return None, None
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
183 d = sr.data
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
184 l = restolist(d)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
185 return l, sr
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
186
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
187 def getprefdir(id):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
188 try:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
189 dr = GetResource('alis', id)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
190 fss, fss_changed = macfs.RawAlias(dr.data).Resolve()
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
191 except (MacOS.Error, Res.Error):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
192 return None, None, 1
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
193 return fss, dr, fss_changed
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
194
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
195 def getoptions(id):
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
196 try:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
197 opr = GetResource('Popt', id)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
198 except (MacOS.Error, Res.Error):
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
199 return [0]*9, None
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
200 options = map(lambda x: ord(x), opr.data)
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
201 while len(options) < 9:
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
202 options = options + [0]
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
203 return options, opr
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
204
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
205 def getgusioptions(id):
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
206 try:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
207 opr = GetResource('GU\267I', id)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
208 except (MacOS.Error, Res.Error):
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
209 return '????', '????', 0, None
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
210 data = opr.data
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
211 type = data[GUSIPOS_TYPE:GUSIPOS_TYPE+4]
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
212 creator = data[GUSIPOS_CREATOR:GUSIPOS_CREATOR+4]
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
213 flags = ord(data[GUSIPOS_FLAGS])
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
214 version = data[GUSIPOS_VERSION:GUSIPOS_VERSION+4]
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
215 if version <> GUSIVERSION:
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
216 message('GU\267I resource version "%s", fixing to "%s"'%(version, GUSIVERSION))
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
217 flags = 0
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
218 delay = (not not (flags & GUSIFLAGS_DELAY))
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
219 return creator, type, delay, opr
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
220
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
221 def setgusioptions(opr, creator, type, delay):
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
222 data = opr.data
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
223 flags = ord(data[GUSIPOS_FLAGS])
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
224 version = data[GUSIPOS_VERSION:GUSIPOS_VERSION+4]
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
225 if version <> GUSIVERSION:
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
226 flags = 0x88
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
227 version = GUSIVERSION
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
228 if delay:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
229 flags = flags | GUSIFLAGS_DELAY
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
230 else:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
231 flags = flags & ~GUSIFLAGS_DELAY
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
232 data = type + creator + data[GUSIPOS_SKIP] + chr(flags) + GUSIVERSION + data[GUSIPOS_VERSION+4:]
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
233 return data
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
234
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
235 def openpreffile(rw):
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
236 # Find the preferences folder and our prefs file, create if needed.
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
237 vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0)
4448
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
238 try:
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
239 pnhandle = GetNamedResource('STR ', PREFNAME_NAME)
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
240 except Res.Error:
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
241 message("No %s resource (old Python?)"%PREFNAME_NAME)
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
242 sys.exit(1)
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
243 prefname = pnhandle.data[1:]
85d38456adf0 Get preference file name from a resource.
Jack Jansen <jack.jansen@cwi.nl>
parents: 4398
diff changeset
244 preff_fss = macfs.FSSpec((vrefnum, dirid, prefname))
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
245 try:
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
246 preff_handle = FSpOpenResFile(preff_fss, rw)
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
247 except Res.Error:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
248 # Create it
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
249 message('No preferences file, creating one...')
3410
022474ac2451 Changed MacOS creator code from PYTH to Pyth
Jack Jansen <jack.jansen@cwi.nl>
parents: 2979
diff changeset
250 FSpCreateResFile(preff_fss, 'Pyth', 'pref', smAllScripts)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
251 preff_handle = FSpOpenResFile(preff_fss, rw)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
252 return preff_handle
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
253
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
254 def openapplet(name):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
255 fss = macfs.FSSpec(name)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
256 try:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
257 app_handle = FSpOpenResFile(fss, WRITE)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
258 except Res.Error:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
259 message('File does not have a resource fork.')
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
260 sys.exit(0)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
261 return app_handle
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
262
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
263
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
264 def edit_preferences():
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
265 preff_handle = openpreffile(WRITE)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
266
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
267 l, sr = getprefpath(PATH_STRINGS_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
268 if l == None:
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
269 message('Cannot find any sys.path resource! (Old python?)')
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
270 sys.exit(0)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
271
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
272 fss, dr, fss_changed = getprefdir(DIRECTORY_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
273 if fss == None:
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
274 fss = macfs.FSSpec(os.getcwd())
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
275 fss_changed = 1
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
276
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
277 options, opr = getoptions(OPTIONS_ID)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
278 saved_options = options[:]
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
279
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
280 creator, type, delaycons, gusi_opr = getgusioptions(GUSI_ID)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
281 saved_gusi_options = creator, type, delaycons
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
282
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
283 # Let the user play away
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
284 result = interact(l, fss, (options, creator, type, delaycons),
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
285 'System-wide preferences')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
286
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
287 # See what we have to update, and how
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
288 if result == None:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
289 sys.exit(0)
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
290
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
291 pathlist, nfss, (options, creator, type, delaycons) = result
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
292 if nfss != fss:
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
293 fss_changed = 1
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
294
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
295 if fss_changed:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
296 alias = nfss.NewAlias()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
297 if dr:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
298 dr.data = alias.data
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
299 dr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
300 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
301 dr = Resource(alias.data)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
302 dr.AddResource('alis', DIRECTORY_ID, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
303
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
304 if pathlist != l:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
305 if pathlist == []:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
306 if sr.HomeResFile() == preff_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
307 sr.RemoveResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
308 elif sr.HomeResFile() == preff_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
309 sr.data = listtores(pathlist)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
310 sr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
311 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
312 sr = Resource(listtores(pathlist))
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
313 sr.AddResource('STR#', PATH_STRINGS_ID, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
314
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
315 if options != saved_options:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
316 newdata = reduce(lambda x, y: x+chr(y), options, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
317 if opr and opr.HomeResFile() == preff_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
318 opr.data = newdata
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
319 opr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
320 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
321 opr = Resource(newdata)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
322 opr.AddResource('Popt', OPTIONS_ID, '')
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
323
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
324 if (creator, type, delaycons) != saved_gusi_options:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
325 newdata = setgusioptions(gusi_opr, creator, type, delaycons)
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
326 if gusi_opr.HomeResFile() == preff_handle:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
327 gusi_opr.data = newdata
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
328 gusi_opr.ChangedResource()
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
329 else:
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
330 ngusi_opr = Resource(newdata)
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
331 ngusi_opr.AddResource('GU\267I', GUSI_ID, '')
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
332
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
333 CloseResFile(preff_handle)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
334
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
335 def edit_applet(name):
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
336 pref_handle = openpreffile(READ)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
337 app_handle = openapplet(name)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
338
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
339 notfound = ''
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
340 l, sr = getprefpath(OVERRIDE_PATH_STRINGS_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
341 if l == None:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
342 notfound = 'path'
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
343
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
344 l, dummy = getprefpath(PATH_STRINGS_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
345 if l == None:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
346 message('Cannot find any sys.path resource! (Old python?)')
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
347 sys.exit(0)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
348
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
349 fss, dr, fss_changed = getprefdir(OVERRIDE_DIRECTORY_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
350 if fss == None:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
351 if notfound:
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
352 notfound = notfound + ', directory'
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
353 else:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
354 notfound = 'directory'
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
355 fss, dummy, dummy2 = getprefdir(DIRECTORY_ID)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
356 if fss == None:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
357 fss = macfs.FSSpec(os.getcwd())
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
358 fss_changed = 1
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
359
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
360 options, opr = getoptions(OVERRIDE_OPTIONS_ID)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
361 if not opr:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
362 if notfound:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
363 notfound = notfound + ', options'
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
364 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
365 notfound = 'options'
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
366 options, dummy = getoptions(OPTIONS_ID)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
367 saved_options = options[:]
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
368
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
369 creator, type, delaycons, gusi_opr = getgusioptions(OVERRIDE_GUSI_ID)
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
370 if not gusi_opr:
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
371 if notfound:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
372 notfound = notfound + ', GUSI options'
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
373 else:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
374 notfound = 'GUSI options'
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
375 creator, type, delaycons, gusi_opr = getgusioptions(GUSI_ID)
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
376 saved_gusi_options = creator, type, delaycons
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
377
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
378 dummy = dummy2 = None # Discard them.
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
379
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
380 if notfound:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
381 message('Warning: initial %s taken from system-wide defaults'%notfound)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
382 # Let the user play away
4398
ec4c42bea69d Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents: 4235
diff changeset
383 print 'DBG interaction'
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
384 result = interact(l, fss, (options, creator, type, delaycons), name)
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
385
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
386 # See what we have to update, and how
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
387 if result == None:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
388 sys.exit(0)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
389
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
390 pathlist, nfss, (options, creator, type, delaycons) = result
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
391 if nfss != fss:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
392 fss_changed = 1
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
393
3504
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
394 if fss_changed:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
395 alias = nfss.NewAlias()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
396 if dr:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
397 dr.data = alias.data
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
398 dr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
399 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
400 dr = Resource(alias.data)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
401 dr.AddResource('alis', OVERRIDE_DIRECTORY_ID, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
402
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
403 if pathlist != l:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
404 if pathlist == []:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
405 if sr.HomeResFile() == app_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
406 sr.RemoveResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
407 elif sr and sr.HomeResFile() == app_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
408 sr.data = listtores(pathlist)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
409 sr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
410 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
411 sr = Resource(listtores(pathlist))
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
412 sr.AddResource('STR#', OVERRIDE_PATH_STRINGS_ID, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
413
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
414 if options != saved_options:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
415 newdata = reduce(lambda x, y: x+chr(y), options, '')
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
416 if opr and opr.HomeResFile() == app_handle:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
417 opr.data = newdata
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
418 opr.ChangedResource()
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
419 else:
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
420 opr = Resource(newdata)
e8d501c88a3e Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3484
diff changeset
421 opr.AddResource('Popt', OVERRIDE_OPTIONS_ID, '')
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
422
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
423 if (creator, type, delaycons) != saved_gusi_options:
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
424 newdata = setgusioptions(gusi_opr, creator, type, delaycons)
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
425 id, type, name = gusi_opr.GetResInfo()
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
426 if gusi_opr.HomeResFile() == app_handle and id == OVERRIDE_GUSI_ID:
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
427 gusi_opr.data = newdata
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
428 gusi_opr.ChangedResource()
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
429 else:
4235
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
430 ngusi_opr = Resource(newdata)
8f291dc8fa9b Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents: 4230
diff changeset
431 ngusi_opr.AddResource('GU\267I', OVERRIDE_GUSI_ID, '')
4230
41a52ab263da Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents: 3504
diff changeset
432
3484
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
433 CloseResFile(app_handle)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
434
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
435 def main():
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
436 try:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
437 h = OpenResFile('EditPythonPrefs.rsrc')
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
438 except Res.Error:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
439 pass # Assume we already have acces to our own resource
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
440
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
441 if len(sys.argv) <= 1:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
442 edit_preferences()
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
443 else:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
444 for appl in sys.argv[1:]:
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
445 edit_applet(appl)
ce27e0328462 Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents: 3462
diff changeset
446
2873
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
447
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
448 if __name__ == '__main__':
315760ba0041 A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
449 main()