Skip to content

2.0.0

Choose a tag to compare

@MHendricks MHendricks released this 05 Dec 22:42
· 17 commits to main since this release

What's Changed

Warning: Preference saving has been re-worked. It will automatically migrate
to the new setup so you won't lose your current workbox tab contents. However
if you want to switch back to the 1.X release see "Reverting to v1.X prefs" below.

  • Overhaul workbox tabs
    • Support linking tabs to files. You can edit these files in an external editor and the tab will be updated automatically.
    • Support backing up workbox files, with ability to scroll forward and backward thru previous versions. Only workboxes / prefs with changes are saved.
    • Add Recently Closed Workbox menu and add auto-cleanup
    • Colorize tabs indicating state (with toolTips)
    • Support auto-sync between multiple instances of PrEditor in same core
    • Support updating prefs args / values based on json file
    • Enforce unique tab names
  • Preference changes
    • Moved most of the preferences from the various menus into a single dialog accessed via Options -> Preferences menu.
    • Console code highlighting is now optional
  • Created preditor.gui.output_console.OutputConsole, a widget for showing select python output.
    • Optionally shows stdout
    • Optionally shows stderr
    • Optionally shows filtered logging messages
    • Optionally shows tracebacks(if you don't want to show all of stderr)
    • See example implementation in /examples/output_console.py
  • Font resizing and consistency improvements
  • The QScintilla workbox now supports inserting text separators.
  • Include json file name if encountering errors parsing PrEditor json files. This api can be used via preditor.utils.Json.
  • Added preditor.utils.call_stack providing decorators that log the input and return of functions indenting for recursive calls.
  • Better handling of errors raised by PrEditor's internal error handling code. This shouldn't affect normal users, but makes it easier to debug issues with PrEditor's internal error handling. The output will be written to sys.__stderr__ (ie. the console) for debugging.
  • Update Sublime Text default editor path
  • Added PyQt5/6 QtDesigner support exposing OutputConsole and ConsolePrEdit.
  • Improved text file encoding detection. It now assumes utf-8 unless that generates errors.
  • Many other code improvements
Reverting to v1.X prefs

In the rare case that you must revert to older Preditor (v1.X), you will only
see the workboxes you had when you updated to PrEditor v2.0. When you switch
back to v2.0 again, you still may only see those same workboxes. This can be
fixed with these steps, which in summary is to replace preditor_pref.json
with one of the backups of that file.

  • Options Menu > Preferences
  • In the Prefs files on disk section, click Browse. An Explorer window opens.
  • Close PrEditor
  • Go into the prefs_bak folder
  • Sort by name or by date, so most recent files are at the top
  • Look for a backup that is at least slightly larger than recent ones. If they are all the same size, go with the latest one.
  • Copy that into the parent directory (ie PrEditor)
  • Remove preditor_pref.json
  • Rename the preditor_pref<timestamp>.json file you copied, so it is preditor_pref.json
  • Restart PrEditor. Check if it has all your workboxes.
  • If it still isn't correct, do a little sleuthing or trial and error to find the correct backup to use.

Source Pull Requests

Full Changelog: 1.5.0...2.0.0