changed customer to studio

This commit is contained in:
ykcheungab
2026-09-12 14:03:00 +08:00
parent a2db648560
commit 904c27125f
71 changed files with 112 additions and 3959 deletions
@@ -1,4 +1,4 @@
"""Orisys customer desktop application."""
"""Orisys Studio desktop application."""
__version__ = "0.1.0"
REQUIRES_SHARED_API = "0.1"
@@ -1,4 +1,4 @@
"""Main window shell for the customer app."""
"""Main window shell for the studio app."""
from __future__ import annotations
@@ -34,20 +34,20 @@ from orisys_app_shared.paths import logo_path, sensor_json_path
from orisys_app_shared.prefs import save_preferences
from orisys_app_shared.theme import build_qss, clear_theme_cache, color
from orisys_customer.ui.about_dialog import AboutDialog
from orisys_customer.ui.arrow_panel import ArrowPanel
from orisys_customer.ui.brand_bar import BrandBar
from orisys_customer.ui.cal_panel import CalPanel
from orisys_customer.ui.force_plots import ForcePlotsPanel
from orisys_customer.ui.mesh3d_panel import Mesh3dPanel
from orisys_customer.ui.plot_settings_dialog import (
from orisys_studio.ui.about_dialog import AboutDialog
from orisys_studio.ui.arrow_panel import ArrowPanel
from orisys_studio.ui.brand_bar import BrandBar
from orisys_studio.ui.cal_panel import CalPanel
from orisys_studio.ui.force_plots import ForcePlotsPanel
from orisys_studio.ui.mesh3d_panel import Mesh3dPanel
from orisys_studio.ui.plot_settings_dialog import (
DEFAULT_PLOT_FN_MAX,
DEFAULT_PLOT_SHEAR_MAX,
DEFAULT_PLOT_WINDOW_SEC,
PlotSettingsDialog,
)
from orisys_customer.ui.sensor_picker import SensorPickerWidget
from orisys_customer.ui.toolbar import ToolbarWidget
from orisys_studio.ui.sensor_picker import SensorPickerWidget
from orisys_studio.ui.toolbar import ToolbarWidget
logger = logging.getLogger(__name__)
@@ -82,7 +82,7 @@ def _reveal_in_explorer(path: Path) -> None:
subprocess.run(["xdg-open", str(folder)], check=False)
class CustomerMainWindow(QMainWindow):
class StudioMainWindow(QMainWindow):
def __init__(self, prefs: dict[str, Any] | None = None) -> None:
super().__init__()
self.prefs: dict[str, Any] = dict(prefs or {})
@@ -998,5 +998,5 @@ class CustomerMainWindow(QMainWindow):
self._stop_preview(announce=False)
self._stop_run(reason="user_stop")
self._persist_prefs()
logger.info("Customer shell closed; preferences saved")
logger.info("Studio shell closed; preferences saved")
super().closeEvent(event)
@@ -1,4 +1,4 @@
"""Customer app entrypoint."""
"""Studio app entrypoint."""
from __future__ import annotations
@@ -15,14 +15,14 @@ from orisys_app_shared.paths import prefer_local_sensor_bundles
from orisys_app_shared.prefs import load_preferences
from orisys_app_shared.theme import build_qss
from orisys_customer import REQUIRES_SHARED_API, __version__ as app_version
from orisys_customer.app_window import CustomerMainWindow
from orisys_studio import REQUIRES_SHARED_API, __version__ as app_version
from orisys_studio.app_window import StudioMainWindow
logger = logging.getLogger(__name__)
def main() -> int:
init_logging("orisys-customer")
init_logging("orisys-studio")
install_exception_hooks()
preferred = prefer_local_sensor_bundles()
if preferred is not None:
@@ -42,13 +42,13 @@ def main() -> int:
set_locale(language)
app = QApplication(sys.argv)
app.setApplicationName("Orisys Customer")
app.setApplicationName("Orisys Studio")
app.setApplicationVersion(app_version)
app.setStyleSheet(build_qss(theme))
window = CustomerMainWindow(prefs=prefs)
window = StudioMainWindow(prefs=prefs)
window.show()
logger.info("Customer shell started (theme=%s, language=%s)", theme, language)
logger.info("Studio shell started (theme=%s, language=%s)", theme, language)
return int(app.exec_())
@@ -9,7 +9,7 @@ from PyQt5.QtWidgets import QDialog, QHBoxLayout, QLabel, QPushButton, QVBoxLayo
from orisys_app_shared.i18n import t
from orisys_app_shared.paths import logo_topbar_path
from orisys_customer import __version__ as app_version
from orisys_studio import __version__ as app_version
class AboutDialog(QDialog):
@@ -1,4 +1,4 @@
"""Brand bar shown at the top of the customer shell.
"""Brand bar shown at the top of the studio shell.
A slim deep-navy rail carrying the corporate logo lockup and the product name.
Logo colours are re-tinted at runtime so a single asset works on the brand