""" 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')