diff options
Diffstat (limited to 'Mac/scripts/EditPythonPrefs.py')
-rw-r--r-- | Mac/scripts/EditPythonPrefs.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Mac/scripts/EditPythonPrefs.py b/Mac/scripts/EditPythonPrefs.py index 48ed19c..3d7bece 100644 --- a/Mac/scripts/EditPythonPrefs.py +++ b/Mac/scripts/EditPythonPrefs.py @@ -46,7 +46,7 @@ GUSI_ID = 10240 OVERRIDE_PATH_STRINGS_ID = 129 OVERRIDE_DIRECTORY_ID = 129 OVERRIDE_OPTIONS_ID = 129 -OVERRIDE_GUSI_ID = 10240 +OVERRIDE_GUSI_ID = 10241 # Things we know about the GUSI resource. Note the code knows these too. GUSIPOS_TYPE=0 @@ -86,7 +86,6 @@ def message(str = "Hello, world!", id = MESSAGE_ID): """Show a simple alert with a text message""" d = GetNewDialog(id, -1) d.SetDialogDefaultItem(1) - print 'd=', d tp, h, rect = d.GetDialogItem(2) SetDialogItemText(h, str) while 1: @@ -187,8 +186,11 @@ def getoptions(id): try: opr = GetResource('Popt', id) except (MacOS.Error, Res.Error): - return [0]*7, None - return map(lambda x: ord(x), opr.data), opr + return [0]*9, None + options = map(lambda x: ord(x), opr.data) + while len(options) < 9: + options = options + [0] + return options, opr def getgusioptions(id): try: @@ -301,8 +303,7 @@ def edit_preferences(): gusi_opr.data = newdata gusi_opr.ChangedResource() else: - print 'Created new GUSI option' - ngusi_opr = Resource(gusi_opr.data) + ngusi_opr = Resource(newdata) ngusi_opr.AddResource('GU\267I', GUSI_ID, '') CloseResFile(preff_handle) @@ -342,12 +343,12 @@ def edit_applet(name): saved_options = options[:] creator, type, delaycons, gusi_opr = getgusioptions(OVERRIDE_GUSI_ID) - if not opr: + if not gusi_opr: if notfound: notfound = notfound + ', GUSI options' else: notfound = 'GUSI options' - creator, type, delaycons, dummy = getgusioptions(GUSI_ID) + creator, type, delaycons, gusi_opr = getgusioptions(GUSI_ID) saved_gusi_options = creator, type, delaycons dummy = dummy2 = None # Discard them. @@ -361,7 +362,7 @@ def edit_applet(name): if result == None: sys.exit(0) - pathlist, nfss, options = result + pathlist, nfss, (options, creator, type, delaycons) = result if nfss != fss: fss_changed = 1 @@ -396,12 +397,13 @@ def edit_applet(name): if (creator, type, delaycons) != saved_gusi_options: newdata = setgusioptions(gusi_opr, creator, type, delaycons) - if gusi_opr.HomeResFile == app_handle: + id, type, name = gusi_opr.GetResInfo() + if gusi_opr.HomeResFile() == app_handle and id == OVERRIDE_GUSI_ID: gusi_opr.data = newdata gusi_opr.ChangedResource() else: - gusi_opr = Resource(gusi_opr.data) - gusi_opr.AddResource('GU\267I', OVERRIDE_GUSI_ID, '') + ngusi_opr = Resource(newdata) + ngusi_opr.AddResource('GU\267I', OVERRIDE_GUSI_ID, '') CloseResFile(app_handle) |