EU-Utility/plugins/plugin_store_ui/plugin.py

56 lines
1.7 KiB
Python

"""
EU-Utility - Plugin Store UI Plugin
Provides the Plugin Store interface for browsing and installing plugins.
"""
from PyQt6.QtWidgets import QWidget, QVBoxLayout, QLabel
from plugins.base_plugin import BasePlugin
from core.plugin_store import PluginStoreUI
class PluginStoreUIPlugin(BasePlugin):
"""Plugin Store for browsing and installing plugins from repositories."""
name = "Plugin Store"
version = "1.0.0"
author = "ImpulsiveFPS"
description = "Browse, install, and manage plugins from the official repository"
icon = "shopping-bag"
hotkeys = [
{
'action': 'open_store',
'description': 'Open Plugin Store',
'default': 'ctrl+shift+p',
'config_key': 'pluginstore_open'
}
]
def initialize(self):
"""Setup plugin store."""
self.store_ui = None
def get_ui(self):
"""Create plugin store UI."""
# Get plugin manager from overlay
plugin_manager = getattr(self.overlay, 'plugin_manager', None)
if not plugin_manager:
# Fallback - show error
widget = QWidget()
layout = QVBoxLayout(widget)
error = QLabel("Plugin Manager not available. Cannot load Plugin Store.")
error.setStyleSheet("color: #ff4757; font-size: 14px;")
layout.addWidget(error)
return widget
self.store_ui = PluginStoreUI(plugin_manager)
return self.store_ui
def on_hotkey(self):
"""Handle hotkey press."""
# Show the plugin store tab
if hasattr(self.overlay, 'show_plugin'):
self.overlay.show_plugin('plugins.plugin_store_ui.plugin')