From dc3c617cb884d9f12d55c2247f3e6b1b1f55aa36 Mon Sep 17 00:00:00 2001 From: Just van Rossum Date: Tue, 19 Jun 2001 21:37:33 +0000 Subject: [PATCH] Some long overdue maintainance. Made all IDE sources 7-bit-clean, to avoid any further encoding conversion troubles. --- Mac/Tools/IDE/ModuleBrowser.py | 12 +++++----- Mac/Tools/IDE/PyBrowser.py | 4 ++-- Mac/Tools/IDE/PyConsole.py | 8 +++---- Mac/Tools/IDE/PyDebugger.py | 16 ++++++------- Mac/Tools/IDE/PyDocSearch.py | 2 +- Mac/Tools/IDE/PyEdit.py | 42 +++++++++++++++------------------ Mac/Tools/IDE/PythonIDE.py | 4 ++-- Mac/Tools/IDE/PythonIDE.rsrc | Bin 16544 -> 13828 bytes Mac/Tools/IDE/PythonIDEMain.py | 22 ++++++++--------- Mac/Tools/IDE/Splash.py | 42 +++++++++++++++++++-------------- Mac/Tools/IDE/Wapplication.py | 8 +++---- Mac/Tools/IDE/Wtext.py | 2 +- Mac/Tools/IDE/Wtraceback.py | 6 ++--- Mac/Tools/IDE/Wwindows.py | 2 +- 14 files changed, 86 insertions(+), 84 deletions(-) diff --git a/Mac/Tools/IDE/ModuleBrowser.py b/Mac/Tools/IDE/ModuleBrowser.py index 78581ec3c9dd..f5b2b0ab56e3 100644 --- a/Mac/Tools/IDE/ModuleBrowser.py +++ b/Mac/Tools/IDE/ModuleBrowser.py @@ -14,9 +14,9 @@ class _modulebrowser: #self.window.bevelbox = W.BevelBox((0, 0, 0, 56)) self.window.openbutton = W.Button((10, 8, 80, 16), "Open", self.openbuttonhit) - self.window.browsebutton = W.Button((100, 8, 80, 16), "Browseƒ", self.browsebuttonhit) + self.window.browsebutton = W.Button((100, 8, 80, 16), "Browse\xc9", self.browsebuttonhit) self.window.reloadbutton = W.Button((10, 32, 80, 16), "Reload", self.reloadbuttonhit) - self.window.openotherbutton = W.Button((100, 32, 80, 16), "Open otherƒ", self.openother) + self.window.openotherbutton = W.Button((100, 32, 80, 16), "Open other\xc9", self.openother) self.window.openbutton.enable(0) self.window.reloadbutton.enable(0) @@ -81,7 +81,7 @@ class _modulebrowser: file, path, description = imp.find_module(modname) except ImportError: W.SetCursor("arrow") - W.Message("CanÕt find file for module –%s”." + W.Message("Can't find file for module '%s'." % modname) else: self.openscript(path, modname) @@ -93,7 +93,7 @@ class _modulebrowser: elif path[-4:] in ['.pyc', '.pyo']: W.getapplication().openscript(path[:-1], modname=modname) else: - W.Message("CanÕt edit –%s”; it might be a shared library or a .pyc file." + W.Message("Can't edit '%s'; it might be a shared library or a .pyc file." % modname) def openother(self): @@ -106,9 +106,9 @@ class _modulebrowser: file, path, description = imp.find_module(modname) except ImportError: if modname in sys.builtin_module_names: - alerttext = "–%s” is a builtin module, which you canÕt edit." % modname + alerttext = "'%s' is a builtin module, which you can't edit." % modname else: - alerttext = "No module named –%s”." % modname + alerttext = "No module named '%s'." % modname raise W.AlertError, alerttext self.openscript(path, modname) diff --git a/Mac/Tools/IDE/PyBrowser.py b/Mac/Tools/IDE/PyBrowser.py index e8aac8303e96..19319a17572b 100644 --- a/Mac/Tools/IDE/PyBrowser.py +++ b/Mac/Tools/IDE/PyBrowser.py @@ -38,7 +38,7 @@ def double_repr(key, value, truncvalue = 0, value = _repr(value) '' + value # test to see if it is a string, in case a __repr__ method is buggy except: - value = '‚‚‚ exception in repr()' + value = '\xa5\xa5\xa5 exception in repr()' if truncvalue: return key + '\t' + value[:255] return key + '\t' + value @@ -360,7 +360,7 @@ INDEXING_TYPES = ( def unpack_object(object, indent = 0): tp = type(object) if tp in SIMPLE_TYPES and tp is not types.NoneType: - raise TypeError, 'canÕt browse simple type: %s' % tp.__name__ + raise TypeError, "can't browse simple type: %s" % tp.__name__ elif tp == types.DictionaryType: return unpack_dict(object, indent) elif tp in (types.TupleType, types.ListType): diff --git a/Mac/Tools/IDE/PyConsole.py b/Mac/Tools/IDE/PyConsole.py index ea2cf834fb6a..4c3278544e03 100644 --- a/Mac/Tools/IDE/PyConsole.py +++ b/Mac/Tools/IDE/PyConsole.py @@ -48,7 +48,7 @@ class ConsoleTextWidget(W.EditText): def open(self): W.EditText.open(self) - self.write('Python ' + sys.version + '\n' + sys.copyright + '\n') + self.write('Python ' + sys.version + '\nType "copyright", "credits" or "license" for more information.\n') self.write(sys.ps1) self.flush() @@ -156,8 +156,8 @@ class PyConsole(W.Window): def makenamespacemenu(self, *args): W.SetCursor('watch') namespacelist = self.getnamespacelist() - self.namespacemenu.set([("Clear window", self.clearbuffer), ("Font settingsƒ", self.dofontsettings), - ["Namespace"] + namespacelist, ("Browse namespaceƒ", self.browsenamespace)]) + self.namespacemenu.set([("Clear window", self.clearbuffer), ("Font settings\xc9", self.dofontsettings), + ["Namespace"] + namespacelist, ("Browse namespace\xc9", self.browsenamespace)]) currentname = self.consoletext._namespace["__name__"] for i in range(len(namespacelist)): if namespacelist[i][0] == currentname: @@ -264,7 +264,7 @@ class PyOutput: tabbable = 0) self.w.outputtext = OutputTextWidget((-1, -1, -14, 1), inset = (6, 5), fontsettings = self.fontsettings, tabsettings = self.tabsettings, readonly = 1) - menuitems = [("Clear window", self.clearbuffer), ("Font settingsƒ", self.dofontsettings)] + menuitems = [("Clear window", self.clearbuffer), ("Font settings\xc9", self.dofontsettings)] self.w.popupmenu = W.PopupMenu((-15, -1, 16, 16), menuitems) self.w._bary = W.Scrollbar((-15, 14, 16, -14), self.w.outputtext.vscroll, max = 32767) diff --git a/Mac/Tools/IDE/PyDebugger.py b/Mac/Tools/IDE/PyDebugger.py index 61ce17b27bdf..c1f9b49f49c0 100644 --- a/Mac/Tools/IDE/PyDebugger.py +++ b/Mac/Tools/IDE/PyDebugger.py @@ -72,7 +72,7 @@ class Debugger(bdb.Bdb): self.botframe = bottomframe if running: self.set_continue() - self.reason = 'Runningƒ' + self.reason = 'Running\xc9' self.setstate('running') else: self.set_step() @@ -187,7 +187,7 @@ class Debugger(bdb.Bdb): def makeoptionsmenu(self): options = [('Clear breakpoints', self.w.panes.bottom.src.source.clearbreakpoints), ('Clear all breakpoints', self.clear_all_breaks), - ('Edit breakpointsƒ', self.edit_breaks), '-', + ('Edit breakpoints\xc9', self.edit_breaks), '-', (self.tracemagic and 'Disable __magic__ tracing' or 'Enable __magic__ tracing', self.togglemagic)] self.w.panes.bottom.src.optionsmenu.set(options) @@ -318,7 +318,7 @@ class Debugger(bdb.Bdb): def running(self): W.SetCursor('watch') - self.reason = 'Runningƒ' + self.reason = 'Running\xc9' self.setstate('running') #self.w.panes.bottom.src.source.set('') #self.w.panes.browserpanes.stacklist.stack.set([]) @@ -350,7 +350,7 @@ class Debugger(bdb.Bdb): try: f, filename, (suff, mode, dummy) = imp.find_module(modname) except ImportError: - self.w.panes.bottom.src.source.set('canÕt find file') + self.w.panes.bottom.src.source.set("can't find file") else: if f: f.close() @@ -360,9 +360,9 @@ class Debugger(bdb.Bdb): f.close() self.w.panes.bottom.src.source.set(data, filename) else: - self.w.panes.bottom.src.source.set('canÕt find file') + self.w.panes.bottom.src.source.set("can't find file") else: - self.w.panes.bottom.src.source.set('canÕt find file') + self.w.panes.bottom.src.source.set("can't find file") else: self.w.panes.bottom.src.source.set(data, filename) self.file = filename @@ -682,7 +682,7 @@ class BreakpointsViewer: self.w.panes.files = W.List(None, callback = self.filehit) #, flags = Lists.lOnlyOne) self.w.panes.gr = W.Group(None) self.w.panes.gr.breaks = W.List((0, 0, -130, 0), callback = self.linehit) #, flags = Lists.lOnlyOne) - self.w.panes.gr.openbutton = W.Button((-80, 4, 0, 16), 'Viewƒ', self.openbuttonhit) + self.w.panes.gr.openbutton = W.Button((-80, 4, 0, 16), 'View\xc9', self.openbuttonhit) self.w.panes.gr.deletebutton = W.Button((-80, 28, 0, 16), 'Delete', self.deletebuttonhit) self.w.bind('', self.close) @@ -880,7 +880,7 @@ _debugger = None def getdebugger(): if not __debug__: - raise W.AlertError, "CanÕt debug in –Optimize bytecode” mode.\r(see –Default startup options” in EditPythonPreferences)" + raise W.AlertError, "Can't debug in \"Optimize bytecode\" mode.\r(see \"Default startup options\" in EditPythonPreferences)" global _debugger if _debugger is None: _debugger = Debugger() diff --git a/Mac/Tools/IDE/PyDocSearch.py b/Mac/Tools/IDE/PyDocSearch.py index 599c3e0b56dd..4b35e4657e25 100644 --- a/Mac/Tools/IDE/PyDocSearch.py +++ b/Mac/Tools/IDE/PyDocSearch.py @@ -101,7 +101,7 @@ class Results: class Status: def __init__(self): - self.w = W.Dialog((440, 64), "Searchingƒ") + self.w = W.Dialog((440, 64), "Searching\xc9") self.w.searching = W.TextBox((4, 4, -4, 16), "DevDev:PyPyDoc 1.5.1:ext:parseTupleAndKeywords.html") self.w.hits = W.TextBox((4, 24, -4, 16), "Hits: 0") self.w.canceltip = W.TextBox((4, 44, -4, 16), "Type cmd-period (.) to cancel.") diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py index d968114b3f22..a58de1b6f077 100644 --- a/Mac/Tools/IDE/PyEdit.py +++ b/Mac/Tools/IDE/PyEdit.py @@ -67,7 +67,7 @@ class Editor(W.Window): else: sourceOS = 'UNIX' searchString = '\n' - change = EasyDialogs.AskYesNoCancel('–%s” contains %s-style line feeds. ' + change = EasyDialogs.AskYesNoCancel('"%s" contains %s-style line feeds. ' 'Change them to MacOS carriage returns?' % (self.title, sourceOS), 1) # bug: Cancel is treated as No if change > 0: @@ -224,14 +224,14 @@ class Editor(W.Window): self.linefield.bind("", self.clicklinefield) def makeoptionsmenu(self): - menuitems = [('Font settingsƒ', self.domenu_fontsettings), - ("Save optionsƒ", self.domenu_options), + menuitems = [('Font settings\xc9', self.domenu_fontsettings), + ("Save options\xc9", self.domenu_options), '-', ('\0' + chr(self.run_as_main) + 'Run as __main__', self.domenu_toggle_run_as_main), #('\0' + chr(self.run_with_interpreter) + 'Run with Interpreter', self.domenu_toggle_run_with_interpreter), #'-', ('Modularize', self.domenu_modularize), - ('Browse namespaceƒ', self.domenu_browsenamespace), + ('Browse namespace\xc9', self.domenu_browsenamespace), '-'] if self.profiling: menuitems = menuitems + [('Disable profiler', self.domenu_toggleprofiler)] @@ -240,7 +240,7 @@ class Editor(W.Window): if self.editgroup.editor._debugger: menuitems = menuitems + [('Disable debugger', self.domenu_toggledebugger), ('Clear breakpoints', self.domenu_clearbreakpoints), - ('Edit breakpointsƒ', self.domenu_editbreakpoints)] + ('Edit breakpoints\xc9', self.domenu_editbreakpoints)] else: menuitems = menuitems + [('Enable debugger', self.domenu_toggledebugger)] self.editgroup.optionsmenu.set(menuitems) @@ -285,7 +285,7 @@ class Editor(W.Window): def domenu_modularize(self, *args): modname = _filename_as_modname(self.title) if not modname: - raise W.AlertError, 'CanÕt modularize –%s”' % self.title + raise W.AlertError, "Can't modularize \"%s\"" % self.title run_as_main = self.run_as_main self.run_as_main = 0 self.run() @@ -360,7 +360,7 @@ class Editor(W.Window): import EasyDialogs import Qd Qd.InitCursor() # XXX should be done by dialog - save = EasyDialogs.AskYesNoCancel('Save window –%s” before closing?' % self.title, 1) + save = EasyDialogs.AskYesNoCancel('Save window "%s" before closing?' % self.title, 1) if save > 0: if self.domenu_save(): return 1 @@ -416,11 +416,7 @@ class Editor(W.Window): W.getapplication().makescriptsmenu() def domenu_save_as_applet(self, *args): - try: - import buildtools - except ImportError: - # only have buildtools in Python >= 1.5.2 - raise W.AlertError, "–Save as Applet” is only supported in\rPython 1.5.2 and up." + import buildtools buildtools.DEBUG = 0 # ouch. @@ -504,7 +500,7 @@ class Editor(W.Window): if self.editgroup.editor.changed: import EasyDialogs import Qd; Qd.InitCursor() - save = EasyDialogs.AskYesNoCancel('Save –%s” before running?' % self.title, 1) + save = EasyDialogs.AskYesNoCancel('Save "%s" before running?' % self.title, 1) if save > 0: if self.domenu_save(): return @@ -560,23 +556,23 @@ class Editor(W.Window): classname = string.split(string.strip(line[6:]))[0] classend = identifieRE_match(classname) if classend < 1: - raise W.AlertError, 'CanÕt find a class.' + raise W.AlertError, "Can't find a class." classname = classname[:classend] break elif line and line[0] not in '\t#': - raise W.AlertError, 'CanÕt find a class.' + raise W.AlertError, "Can't find a class." else: - raise W.AlertError, 'CanÕt find a class.' + raise W.AlertError, "Can't find a class." if globals.has_key(classname): locals = globals[classname].__dict__ else: - raise W.AlertError, 'CanÕt find class –%s”.' % classname + raise W.AlertError, "Can't find class \"%s\"." % classname # dedent to top level for i in range(len(lines)): lines[i] = lines[i][1:] pytext = string.join(lines, '\r') elif indent > 0: - raise W.AlertError, 'CanÕt run indented code.' + raise W.AlertError, "Can't run indented code." # add "newlines" to fool compile/exec: # now a traceback will give the right line number @@ -839,7 +835,7 @@ class SearchEngine: self.buttons = [ ("Find", "cmdf", self.find), ("Replace", "cmdr", self.replace), ("Replace all", None, self.replaceall), - ("DonÕt find", "cmdd", self.dont), + ("Don't find", "cmdd", self.dont), ("Cancel", "cmd.", self.cancel) ] for i in range(len(self.buttons)): @@ -848,7 +844,7 @@ class SearchEngine: self.w[title] = W.Button(bounds, title, callback) if shortcut: self.w.bind(shortcut, self.w[title].push) - self.w.setdefaultbutton(self.w["DonÕt find"]) + self.w.setdefaultbutton(self.w["Don't find"]) self.w.find.edit.bind("", self.key) self.w.bind("", self.activate) self.w.bind("", self.close) @@ -881,11 +877,11 @@ class SearchEngine: else: for title, cmd, call in self.buttons[:-2]: self.w[title].enable(0) - self.w.setdefaultbutton(self.w["DonÕt find"]) + self.w.setdefaultbutton(self.w["Don't find"]) else: for title, cmd, call in self.buttons[:-2]: self.w[title].enable(0) - self.w.setdefaultbutton(self.w["DonÕt find"]) + self.w.setdefaultbutton(self.w["Don't find"]) def find(self): self.getparmsfromwindow() @@ -1204,7 +1200,7 @@ class _EditorDefaultSettings: self.template = "%s, %d point" self.fontsettings, self.tabsettings, self.windowsize = geteditorprefs() self.w = W.Dialog((328, 120), "Editor default settings") - self.w.setfontbutton = W.Button((8, 8, 80, 16), "Set fontƒ", self.dofont) + self.w.setfontbutton = W.Button((8, 8, 80, 16), "Set font\xc9", self.dofont) self.w.fonttext = W.TextBox((98, 10, -8, 14), self.template % (self.fontsettings[0], self.fontsettings[2])) self.w.picksizebutton = W.Button((8, 50, 80, 16), "Front window", self.picksize) diff --git a/Mac/Tools/IDE/PythonIDE.py b/Mac/Tools/IDE/PythonIDE.py index b80fd5f07205..9c0902e41e25 100644 --- a/Mac/Tools/IDE/PythonIDE.py +++ b/Mac/Tools/IDE/PythonIDE.py @@ -1,9 +1,9 @@ -# copyright 1996-1999 Just van Rossum, Letterror. just@letterror.com +# copyright 1996-2001 Just van Rossum, Letterror. just@letterror.com # keep this (__main__) as clean as possible, since we are using # it like the "normal" interpreter. -__version__ = '1.0' +__version__ = '1.0.1' def init(): diff --git a/Mac/Tools/IDE/PythonIDE.rsrc b/Mac/Tools/IDE/PythonIDE.rsrc index 1d6ca2ce65e4a788e2c842e43fc71028728722ab..70f0b2b06aa5aeee388b054bd83e0886f662b483 100644 GIT binary patch literal 13828 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 diff --git a/Mac/Tools/IDE/PythonIDEMain.py b/Mac/Tools/IDE/PythonIDEMain.py index d5677a7a8498..55489e231f22 100644 --- a/Mac/Tools/IDE/PythonIDEMain.py +++ b/Mac/Tools/IDE/PythonIDEMain.py @@ -50,13 +50,13 @@ class PythonIDE(Wapplication.Application): def makeusermenus(self): m = Wapplication.Menu(self.menubar, "File") newitem = FrameWork.MenuItem(m, "New", "N", 'new') - openitem = FrameWork.MenuItem(m, "Openƒ", "O", 'open') + openitem = FrameWork.MenuItem(m, "Open\xc9", "O", 'open') FrameWork.Separator(m) closeitem = FrameWork.MenuItem(m, "Close", "W", 'close') saveitem = FrameWork.MenuItem(m, "Save", "S", 'save') - saveasitem = FrameWork.MenuItem(m, "Save asƒ", None, 'save_as') + saveasitem = FrameWork.MenuItem(m, "Save as\xc9", None, 'save_as') FrameWork.Separator(m) - saveasappletitem = FrameWork.MenuItem(m, "Save as Appletƒ", None, 'save_as_applet') + saveasappletitem = FrameWork.MenuItem(m, "Save as Applet\xc9", None, 'save_as_applet') FrameWork.Separator(m) quititem = FrameWork.MenuItem(m, "Quit", "Q", 'quit') @@ -71,7 +71,7 @@ class PythonIDE(Wapplication.Application): selallitem = FrameWork.MenuItem(m, "Select all", "A", "selectall") sellineitem = FrameWork.MenuItem(m, "Select line", "L", "selectline") FrameWork.Separator(m) - finditem = FrameWork.MenuItem(m, "Findƒ", "F", "find") + finditem = FrameWork.MenuItem(m, "Find\xc9", "F", "find") findagainitem = FrameWork.MenuItem(m, "Find again", 'G', "findnext") enterselitem = FrameWork.MenuItem(m, "Enter search string", "E", "entersearchstring") replaceitem = FrameWork.MenuItem(m, "Replace", None, "replace") @@ -84,12 +84,12 @@ class PythonIDE(Wapplication.Application): runitem = FrameWork.MenuItem(m, "Run window", "R", 'run') runselitem = FrameWork.MenuItem(m, "Run selection", None, 'runselection') FrameWork.Separator(m) - moditem = FrameWork.MenuItem(m, "Module browserƒ", "M", self.domenu_modulebrowser) + moditem = FrameWork.MenuItem(m, "Module browser\xc9", "M", self.domenu_modulebrowser) FrameWork.Separator(m) mm = FrameWork.SubMenu(m, "Preferences") - FrameWork.MenuItem(mm, "Set Scripts folderƒ", None, self.do_setscriptsfolder) - FrameWork.MenuItem(mm, "Editor default settingsƒ", None, self.do_editorprefs) - FrameWork.MenuItem(mm, "Set default window fontƒ", None, self.do_setwindowfont) + FrameWork.MenuItem(mm, "Set Scripts folder\xc9", None, self.do_setscriptsfolder) + FrameWork.MenuItem(mm, "Editor default settings\xc9", None, self.do_editorprefs) + FrameWork.MenuItem(mm, "Set default window font\xc9", None, self.do_setwindowfont) self.openwindowsmenu = Wapplication.Menu(self.menubar, 'Windows') self.makeopenwindowsmenu() @@ -110,7 +110,7 @@ class PythonIDE(Wapplication.Application): path = os.path.join(os.getcwd(), "Scripts") if not os.path.exists(path): os.mkdir(path) - f = open(os.path.join(path, "Place your scripts hereƒ"), "w") + f = open(os.path.join(path, "Place your scripts here\xc9"), "w") f.close() fss = macfs.FSSpec(path) self.scriptsfolder = fss.NewAlias() @@ -156,10 +156,10 @@ class PythonIDE(Wapplication.Application): if ftype == 'TEXT': self.openscript(path) else: - W.Message("CanÕt open file of type '%s'." % ftype) + W.Message("Can't open file of type '%s'." % ftype) def getabouttext(self): - return "About Python IDEƒ" + return "About Python IDE\xc9" def do_about(self, id, item, window, event): Splash.about() diff --git a/Mac/Tools/IDE/Splash.py b/Mac/Tools/IDE/Splash.py index 07a51e4d71ff..60cd7c6dceda 100644 --- a/Mac/Tools/IDE/Splash.py +++ b/Mac/Tools/IDE/Splash.py @@ -24,6 +24,9 @@ def uninstall_importhook(): _progress = 0 +_about_width = 440 +_about_height = 340 + def importing(module): global _progress Qd.SetPort(splash) @@ -32,17 +35,19 @@ def importing(module): fontID = geneva Qd.TextFont(fontID) Qd.TextSize(9) - rect = (35, 265, 365, 281) + labelrect = (35, _about_height - 35, _about_width - 35, _about_height - 19) + framerect = (35, _about_height - 19, _about_width - 35, _about_height - 11) + l, t, r, b = progrect = Qd.InsetRect(framerect, 1, 1) if module: - TE.TETextBox('Importing: ' + module, rect, 0) + TE.TETextBox('Importing: ' + module, labelrect, 0) if not _progress: - Qd.FrameRect((35, 281, 365, 289)) - pos = min(36 + 330 * _progress / 44, 364) - Qd.PaintRect((36, 282, pos, 288)) + Qd.FrameRect(framerect) + pos = min(r, l + ((r - l) * _progress) / 44) + Qd.PaintRect((l, t, pos, b)) _progress = _progress + 1 else: - Qd.EraseRect(rect) - Qd.PaintRect((36, 282, pos, 288)) + Qd.EraseRect(labelrect) + Qd.PaintRect((l, t, pos, b)) Qd.QDFlushPortBuffer(splash.GetDialogWindow().GetWindowPort(), None) def my__import__(name, globals=None, locals=None, fromlist=None): @@ -71,20 +76,20 @@ import sys _keepsplashscreenopen = 0 -abouttext1 = """The Python Integrated Development Environment for the MacintoshŽ +abouttext1 = """The Python Integrated Development Environment for the Macintosh\xaa Version: %s -Copyright 1997-2000 Just van Rossum, Letterror. +Copyright 1997-2001 Just van Rossum, Letterror. Python %s %s See: for information and documentation.""" -flauwekul = [ 'Goodday, Bruce.', - 'WhatÕs new?', - 'Nudge, nudge, say no more!', - 'No, no sir, itÕs not dead. ItÕs resting.', - 'Albatros!', - 'ItÕs . . .', - 'Is your name not Bruce, then?', +flauwekul = [ "Goodday, Bruce.", + "What's new?", + "Nudge, nudge, say no more!", + "No, no sir, it's not dead. It's resting.", + "Albatros!", + "It's . . .", + "Is your name not Bruce, then?", """But Mr F.G. Superman has a secret identity . . . when trouble strikes at any time . . . at any place . . . he is ready to become . . . @@ -111,7 +116,7 @@ def drawtext(what = 0): fontID = geneva Qd.TextFont(fontID) Qd.TextSize(9) - rect = (10, 115, 390, 290) + rect = (10, 115, _about_width - 10, _about_height - 30) if not what: import __main__ abouttxt = nl2return(abouttext1 % ( @@ -134,6 +139,7 @@ def wait(): Qd.InitCursor() time = Evt.TickCount() whattext = 0 + drawtext(whattext) while _keepsplashscreenopen: ok, event = Evt.EventAvail(Events.highLevelEventMask) if ok: @@ -154,7 +160,7 @@ def wait(): drawtext(whattext) time = Evt.TickCount() del splash - #Res.CloseResFile(splashresfile) + def about(): global splash, splashresfile, _keepsplashscreenopen diff --git a/Mac/Tools/IDE/Wapplication.py b/Mac/Tools/IDE/Wapplication.py index 540fca08c457..7a9b74a4c2c5 100644 --- a/Mac/Tools/IDE/Wapplication.py +++ b/Mac/Tools/IDE/Wapplication.py @@ -344,18 +344,18 @@ class Application(FrameWork.Application): # XXX and that's the last thing we want here. f, filename, (suff, mode, dummy) = imp.find_module(modname) except ImportError: - raise W.AlertError, "CanÕt find file for –%s”" % modname + raise W.AlertError, "Can't find file for \"%s\"" % modname else: if not f: - raise W.AlertError, "CanÕt find file for –%s”" % modname + raise W.AlertError, "Can't find file for \"%s\"" % modname f.close() if suff == '.py': self.openscript(filename, lineno, charoffset) return else: - raise W.AlertError, "CanÕt find file for –%s”" % modname + raise W.AlertError, "Can't find file for \"%s\"" % modname else: - raise W.AlertError, "CanÕt find file •%sÕ" % filename + raise W.AlertError, "Can't find file \"%s\"" % filename if lineno is not None: editor.selectline(lineno, charoffset) return editor diff --git a/Mac/Tools/IDE/Wtext.py b/Mac/Tools/IDE/Wtext.py index b87008b6e700..151868335acf 100644 --- a/Mac/Tools/IDE/Wtext.py +++ b/Mac/Tools/IDE/Wtext.py @@ -871,7 +871,7 @@ class PyEditor(TextEditor): if onoff: if not __debug__: import W - raise W.AlertError, "CanÕt debug in –Optimize bytecode” mode.\r(see –Default startup options” in EditPythonPreferences)" + raise W.AlertError, "Can't debug in \"Optimize bytecode\" mode.\r(see \"Default startup options\" in EditPythonPreferences)" import PyDebugger self._debugger = PyDebugger.getdebugger() self._debugger.register_editor(self, self.file) diff --git a/Mac/Tools/IDE/Wtraceback.py b/Mac/Tools/IDE/Wtraceback.py index 10894a895264..2637cc693e02 100644 --- a/Mac/Tools/IDE/Wtraceback.py +++ b/Mac/Tools/IDE/Wtraceback.py @@ -57,7 +57,7 @@ class TraceBack: filename = os.path.split(filename)[1] if lineno: charno = charno - 1 - text = str(value) + '\rFile: "' + str(filename) + '", line ' + str(lineno) + '\r\r' + line[:charno] + "‚" + line[charno:-1] + text = str(value) + '\rFile: "' + str(filename) + '", line ' + str(lineno) + '\r\r' + line[:charno] + "\xa5" + line[charno:-1] else: text = str(value) + '\rFile: "' + str(filename) + '"' self.syntaxdialog = W.ModalDialog((360, 120), "Syntax Error") @@ -123,10 +123,10 @@ class TraceBack: self.w.editbutton = W.Button((10, -30, 60, 16), "Edit", self.edit) self.w.editbutton.enable(0) - self.w.browselocalsbutton = W.Button((80, -30, 100, 16), "Browse localsƒ", self.browselocals) + self.w.browselocalsbutton = W.Button((80, -30, 100, 16), "Browse locals\xc9", self.browselocals) self.w.browselocalsbutton.enable(0) - self.w.postmortembutton = W.Button((190, -30, 100, 16), "Post mortemƒ", self.postmortem) + self.w.postmortembutton = W.Button((190, -30, 100, 16), "Post mortem\xc9", self.postmortem) self.w.setdefaultbutton(self.w.editbutton) self.w.bind("cmdb", self.w.browselocalsbutton.push) diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py index e16c647cc59e..29c07e58beaf 100644 --- a/Mac/Tools/IDE/Wwindows.py +++ b/Mac/Tools/IDE/Wwindows.py @@ -568,7 +568,7 @@ def FrontWindowInsert(stuff): pass import EasyDialogs if EasyDialogs.AskYesNoCancel( - "CanÕt find window or widget to insert text into; copy to clipboard instead?", + "Can't find window or widget to insert text into; copy to clipboard instead?", 1) == 1: import Scrap Scrap.ZeroScrap() -- 2.47.3