Skip to content

2.0 Full Release | WebSoftPy (GUI)

Choose a tag to compare

@bladestech bladestech released this 25 Sep 22:34
· 21 commits to main since this release
8f669cb

WebSoftPy Changelog

From CLI Generator to PyQt6 GUI (v2.0)

Architecture

  • Replaced command-line interface with a PyQt6-based graphical user interface.
  • Moved script generation and PyInstaller build logic into the GUI application.

User Interface

  • Implemented a dark-themed layout using QPalette and custom stylesheets.
  • Added a variety of title bar options with a QComboBox dropdown.
  • Added a dynamic label that displays a description corresponding to the selected title bar mode.

Title Bar Modes

  • Added three window decoration options:
    1. Normal: Standard OS window frame with native controls.
    2. WebSoftPy Flow: Frameless window with custom title bar using SVG icons from the elements/ folder.
    3. Frameless: Borderless window with no controls; draggable via mouse.

Persistent Storage

  • Added a checkbox to toggle persistent storage.
  • When enabled, uses QWebEngineProfile with persistent cookies, cache, and storage paths under ~/.<appname>/.
  • When disabled, uses a default off-the-record QWebEnginePage.

Asset Management

  • On first launch, the application copies the elements/ directory from the script’s location into webapps/elements/.
  • Generated applications using "WebSoftPy Flow" reference icons from a local elements/ folder relative to their runtime location.
  • These elements are sourced from https://www.svgrepo.com/ and are on the public domain.

Build Process

  • Integrated PyInstaller execution via subprocess.
  • Automatically includes webapps/elements/ in the build using --add-data when "WebSoftPy Flow" is selected.
  • Adds required hidden imports: PyQt6.QtWebEngineCore, PyQt6.QtNetwork, PyQt6.sip, and PyQt6.QtSvgWidgets.

Generated Output

  • Application title and target URL are fully user-defined.
  • No assumptions about site behavior or structure.

We hope this update was worth the wait!