Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/EditPythonPrefs.py @ 6174:77135da9f36c legacy-trunk
Removed debug print
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Wed, 27 Aug 1997 14:10:49 +0000 |
| parents | f1244036ebab |
| children | f9fbde75c536 |
| 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 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
383 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
|
384 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
385 # 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
|
386 if result == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
387 sys.exit(0) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
388 |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
389 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
|
390 if nfss != fss: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
391 fss_changed = 1 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
392 |
|
3504
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
393 if fss_changed: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
394 alias = nfss.NewAlias() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
395 if dr: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
396 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
|
397 dr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
398 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
399 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
|
400 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
|
401 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
402 if pathlist != l: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
403 if pathlist == []: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
404 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
|
405 sr.RemoveResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
406 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
|
407 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
|
408 sr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
409 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
410 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
|
411 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
|
412 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
413 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
|
414 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
|
415 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
|
416 opr.data = newdata |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
417 opr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
418 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
419 opr = Resource(newdata) |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
420 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
|
421 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
422 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
|
423 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
|
424 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
|
425 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
|
426 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
|
427 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
|
428 else: |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
429 ngusi_opr = Resource(newdata) |
|
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
430 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
|
431 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
432 CloseResFile(app_handle) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
433 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
434 def main(): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
435 try: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
436 h = OpenResFile('EditPythonPrefs.rsrc') |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
437 except Res.Error: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
438 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
|
439 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
440 if len(sys.argv) <= 1: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
441 edit_preferences() |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
442 else: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
443 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
|
444 edit_applet(appl) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
445 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
446 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
447 if __name__ == '__main__': |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
448 main() |
