Mercurial > cpython-lru_cache-weakref
annotate Mac/scripts/EditPythonPrefs.py @ 4398:ec4c42bea69d legacy-trunk
Moved resources to 510/511: the numbers above 512 gave problems when
editing preferences in applets with their own dialogs
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Fri, 11 Oct 1996 11:30:26 +0000 |
| parents | 8f291dc8fa9b |
| children | 85d38456adf0 |
| 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 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
17 # resource IDs in our own resources (dialogs, etc) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
18 MESSAGE_ID = 256 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
19 |
|
4398
ec4c42bea69d
Moved resources to 510/511: the numbers above 512 gave problems when
Jack Jansen <jack.jansen@cwi.nl>
parents:
4235
diff
changeset
|
20 DIALOG_ID = 511 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
21 TEXT_ITEM = 1 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
22 OK_ITEM = 2 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
23 CANCEL_ITEM = 3 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
24 DIR_ITEM = 4 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
25 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
|
26 OPTIONS_ITEM = 7 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
27 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
28 # 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
|
29 # 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
|
30 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
|
31 # 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
|
32 # 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
|
33 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
|
34 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
|
35 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
|
36 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
|
37 OD_CANCEL_ITEM = 14 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
38 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
39 # Resource IDs in the preferences file |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
40 PATH_STRINGS_ID = 128 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
41 DIRECTORY_ID = 128 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
42 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
|
43 GUSI_ID = 10240 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
44 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
45 # Override IDs (in the applet) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
46 OVERRIDE_PATH_STRINGS_ID = 129 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
47 OVERRIDE_DIRECTORY_ID = 129 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
48 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
|
49 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
|
50 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
51 # 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
|
52 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
|
53 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
|
54 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
|
55 GUSIPOS_FLAGS=9 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
56 GUSIFLAGS_DELAY=0x04 # Mask |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
57 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
58 READ = 1 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
59 WRITE = 2 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
60 smAllScripts = -3 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
61 kOnSystemDisk = 0x8000 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
62 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
63 def restolist(data): |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
64 """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
|
65 if not data: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
66 return [] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
67 num, = struct.unpack('h', data[:2]) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
68 data = data[2:] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 rv = [] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 for i in range(num): |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 strlen = ord(data[0]) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
72 if strlen < 0: strlen = strlen + 256 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
73 str = data[1:strlen+1] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
74 data = data[strlen+1:] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
75 rv.append(str) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
76 return rv |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
77 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
78 def listtores(list): |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
79 """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
|
80 rv = struct.pack('h', len(list)) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
81 for str in list: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
82 rv = rv + chr(len(str)) + str |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
83 return rv |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
84 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
85 def message(str = "Hello, world!", id = MESSAGE_ID): |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
86 """Show a simple alert with a text message""" |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
87 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
|
88 d.SetDialogDefaultItem(1) |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
89 tp, h, rect = d.GetDialogItem(2) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
90 SetDialogItemText(h, str) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
91 while 1: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
92 n = ModalDialog(None) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
93 if n == 1: break |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
94 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
95 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
|
96 """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
|
97 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 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
|
105 while 1: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
106 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
|
107 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
|
108 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
|
109 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
|
110 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
|
111 n = ModalDialog(None) |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 else: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
120 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
|
121 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
|
122 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
|
123 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
|
124 pass |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
125 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
|
126 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
|
127 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
|
128 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
|
129 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
130 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
131 def interact(list, pythondir, options, title): |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
132 """Let the user interact with the dialog""" |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
133 opythondir = pythondir |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
134 try: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
135 # 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
|
136 os.chdir(pythondir.as_pathname()) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
137 except os.error: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
138 pass |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
139 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
|
140 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
|
141 SetDialogItemText(h, title) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
142 tp, h, rect = d.GetDialogItem(TEXT_ITEM) |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
143 SetDialogItemText(h, string.joinfields(list, '\r')) |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
144 ## d.SetDialogDefaultItem(OK_ITEM) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
145 d.SetDialogCancelItem(CANCEL_ITEM) |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
146 while 1: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
147 n = ModalDialog(None) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
148 if n == OK_ITEM: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
149 break |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
150 if n == CANCEL_ITEM: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
151 return None |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
152 ## if n == REVERT_ITEM: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
153 ## return [], pythondir |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
154 if n == DIR_ITEM: |
|
2979
7eea9b426802
Added prompts to various file-select dialogs
Jack Jansen <jack.jansen@cwi.nl>
parents:
2873
diff
changeset
|
155 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
|
156 if ok: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
157 pythondir = fss |
|
3504
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
158 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
|
159 options = optinteract(options) |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
160 tmp = string.splitfields(GetDialogItemText(h), '\r') |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
161 rv = [] |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
162 for i in tmp: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
163 if i: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
164 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
|
165 return rv, pythondir, options |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
166 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
167 def getprefpath(id): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
168 # Load the path and directory resources |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
169 try: |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
170 sr = GetResource('STR#', id) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
171 except (MacOS.Error, Res.Error): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
172 return None, None |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
173 d = sr.data |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
174 l = restolist(d) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
175 return l, sr |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
176 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
177 def getprefdir(id): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
178 try: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
179 dr = GetResource('alis', id) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
180 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
|
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, 1 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
183 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
|
184 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
185 def getoptions(id): |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
186 try: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
187 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
|
188 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
|
189 return [0]*9, None |
|
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
190 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
|
191 while len(options) < 9: |
|
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
192 options = options + [0] |
|
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
193 return options, opr |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
194 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
195 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
|
196 try: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
197 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
|
198 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
|
199 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
|
200 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
|
201 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
|
202 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
|
203 flags = ord(data[GUSIPOS_FLAGS]) |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
204 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
|
205 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
|
206 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
207 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
|
208 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
|
209 flags = ord(data[GUSIPOS_FLAGS]) |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
210 if delay: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
211 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
|
212 else: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
213 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
|
214 data = type + creator + data[GUSIPOS_SKIP] + chr(flags) + data[GUSIPOS_FLAGS+1:] |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
215 return data |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
216 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
217 def openpreffile(rw): |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
218 # 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
|
219 vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
220 preff_fss = macfs.FSSpec((vrefnum, dirid, 'Python Preferences')) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
221 try: |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
222 preff_handle = FSpOpenResFile(preff_fss, rw) |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
223 except Res.Error: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
224 # Create it |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
225 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
|
226 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
|
227 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
|
228 return preff_handle |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
229 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
230 def openapplet(name): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
231 fss = macfs.FSSpec(name) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
232 try: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
233 app_handle = FSpOpenResFile(fss, WRITE) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
234 except Res.Error: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
235 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
|
236 sys.exit(0) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
237 return app_handle |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
238 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
239 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
240 def edit_preferences(): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
241 preff_handle = openpreffile(WRITE) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
242 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
243 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
|
244 if l == None: |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
245 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
|
246 sys.exit(0) |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
247 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
248 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
|
249 if fss == None: |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
250 fss = macfs.FSSpec(os.getcwd()) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
251 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
|
252 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
253 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
|
254 saved_options = options[:] |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
255 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
256 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
|
257 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
|
258 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
259 # 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
|
260 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
|
261 'System-wide preferences') |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
262 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
263 # See what we have to update, and how |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
264 if result == None: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
265 sys.exit(0) |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
266 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
267 pathlist, nfss, (options, creator, type, delaycons) = result |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
268 if nfss != fss: |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
269 fss_changed = 1 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
270 |
|
3504
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
271 if fss_changed: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
272 alias = nfss.NewAlias() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
273 if dr: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
274 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
|
275 dr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
276 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
277 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
|
278 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
|
279 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
280 if pathlist != l: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
281 if pathlist == []: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
282 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
|
283 sr.RemoveResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
284 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
|
285 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
|
286 sr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
287 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
288 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
|
289 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
|
290 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
291 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
|
292 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
|
293 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
|
294 opr.data = newdata |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
295 opr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
296 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
297 opr = Resource(newdata) |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
298 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
|
299 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
300 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
|
301 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
|
302 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
|
303 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
|
304 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
|
305 else: |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
306 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
|
307 ngusi_opr.AddResource('GU\267I', GUSI_ID, '') |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
308 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
309 CloseResFile(preff_handle) |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
310 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
311 def edit_applet(name): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
312 pref_handle = openpreffile(READ) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
313 app_handle = openapplet(name) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
314 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
315 notfound = '' |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
316 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
|
317 if l == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
318 notfound = 'path' |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
319 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
320 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
|
321 if l == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
322 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
|
323 sys.exit(0) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
324 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
325 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
|
326 if fss == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
327 if notfound: |
|
3504
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
328 notfound = notfound + ', directory' |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
329 else: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
330 notfound = 'directory' |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
331 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
|
332 if fss == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
333 fss = macfs.FSSpec(os.getcwd()) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
334 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
|
335 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
336 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
|
337 if not opr: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
338 if notfound: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
339 notfound = notfound + ', options' |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
340 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
341 notfound = 'options' |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
342 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
|
343 saved_options = options[:] |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
344 |
|
4230
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
345 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
|
346 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
|
347 if notfound: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
348 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
|
349 else: |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
350 notfound = 'GUSI options' |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
351 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
|
352 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
|
353 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
354 dummy = dummy2 = None # Discard them. |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
355 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
356 if notfound: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
357 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
|
358 # 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
|
359 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
|
360 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
|
361 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
362 # 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
|
363 if result == None: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
364 sys.exit(0) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
365 |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
366 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
|
367 if nfss != fss: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
368 fss_changed = 1 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
369 |
|
3504
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
370 if fss_changed: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
371 alias = nfss.NewAlias() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
372 if dr: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
373 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
|
374 dr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
375 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
376 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
|
377 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
|
378 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
379 if pathlist != l: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
380 if pathlist == []: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
381 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
|
382 sr.RemoveResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
383 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
|
384 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
|
385 sr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
386 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
387 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
|
388 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
|
389 |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
390 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
|
391 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
|
392 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
|
393 opr.data = newdata |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
394 opr.ChangedResource() |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
395 else: |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
396 opr = Resource(newdata) |
|
e8d501c88a3e
Added region arg to update calls. And binhex files rebinhexed.
Jack Jansen <jack.jansen@cwi.nl>
parents:
3484
diff
changeset
|
397 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
|
398 |
|
41a52ab263da
Allow editing selected bits of the GUSI preferences (creator, type and
Jack Jansen <jack.jansen@cwi.nl>
parents:
3504
diff
changeset
|
399 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
|
400 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
|
401 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
|
402 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
|
403 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
|
404 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
|
405 else: |
|
4235
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
406 ngusi_opr = Resource(newdata) |
|
8f291dc8fa9b
Added handling for new options, fixed applet option setting
Jack Jansen <jack.jansen@cwi.nl>
parents:
4230
diff
changeset
|
407 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
|
408 |
|
3484
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
409 CloseResFile(app_handle) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
410 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
411 def main(): |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
412 try: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
413 h = OpenResFile('EditPythonPrefs.rsrc') |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
414 except Res.Error: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
415 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
|
416 |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
417 if len(sys.argv) <= 1: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
418 edit_preferences() |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
419 else: |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
420 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
|
421 edit_applet(appl) |
|
ce27e0328462
Added support for editing override preferences in applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
3462
diff
changeset
|
422 |
|
2873
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
423 |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
424 if __name__ == '__main__': |
|
315760ba0041
A new home for scripts/applets
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
425 main() |
