Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

latest GUI compat #37

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 16 additions & 11 deletions ovos_gui_plugin_shell_companion/__init__.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
import platform
from os.path import join, dirname
from os.path import dirname

from ovos_bus_client import Message
from ovos_bus_client.apis.gui import GUIInterface
from ovos_bus_client.client import MessageBusClient
from ovos_config.config import Configuration
from ovos_plugin_manager.templates.gui import GUIExtension
from ovos_utils import network_utils
from ovos_utils.log import LOG
from ovos_workshop.skills.ovos import SkillGUI

from ovos_gui_plugin_shell_companion.brightness import BrightnessManager
from ovos_gui_plugin_shell_companion.color_manager import ColorManager
from ovos_gui_plugin_shell_companion.helpers import ConfigUIManager
from ovos_gui_plugin_shell_companion.wigets import WidgetManager


class _FakeSkill:
# SkillGUI expects a OVOSSkill, we need to define
# self.skill_id , self.bus , self.config_core, self.root_dir
def __init__(self, bus):
self.bus = bus
JarbasAl marked this conversation as resolved.
Show resolved Hide resolved
# the skill_id is chosen so the namespace matches the regular bus api
# ie, the gui event "XXX" is sent in the bus as "ovos.common_play.XXX"
self.skill_id = "ovos_gui_plugin_shell_companion"
self.root_dir = f"{dirname(__file__)}/res"
self.config_core = Configuration()


class OVOSShellCompanionExtension(GUIExtension):
"""OVOS-shell Extension: This extension is responsible for managing the Smart Speaker
specific GUI behaviours. This extension adds support for Homescreens and Homescreen Mangement.
Expand All @@ -29,17 +41,10 @@ class OVOSShellCompanionExtension(GUIExtension):
"""

def __init__(self, config: dict, bus: MessageBusClient = None,
gui: GUIInterface = None,
gui: SkillGUI = None,
preload_gui=False, permanent=True):
config["homescreen_supported"] = True
res_dir = join(dirname(__file__), "res")
gui = gui or GUIInterface("ovos_gui_plugin_shell_companion",
bus=bus, config=Configuration(),
ui_directories={"qt5": join(res_dir, "ui"),
"qt6": join(res_dir, "ui6")})
if not gui.ui_directories:
LOG.info(f"Setting default qt5 resource directory to: {res_dir}")
gui.ui_directories["qt5"] = res_dir
gui = gui or SkillGUI(_FakeSkill(bus))
LOG.info("OVOS Shell: Initializing")
super().__init__(config=config, bus=bus, gui=gui,
preload_gui=preload_gui, permanent=permanent)
Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
ovos-plugin-manager>=0.0.23,<1.0.0
ovos-utils>=0.0.34,<1.0.0
ovos-bus-client>=0.0.3,<1.0.0
ovos-workshop>=0.0.1,<1.0.0
ovos-bus-client>=0.0.3,<2.0.0
astral~=3.0
Loading