add plugin settings, per-tile refresh, settings menu, touch-friendly UI

- Plugin settings infrastructure in PluginManager with config/plugin_settings.cfg
  storage, manifest [settings] sections, CRUD API, plugin_setting_changed signal
- Per-tile refresh intervals: 100ms base tick, per-tile update_interval_ms
  metadata, dynamic tween durations clamped to refresh window
- Settings menu (PopupPanel) with General/Plugins/About tabs, plugin
  activation toggles, per-plugin settings cog buttons
- Plugin settings popup (PopupPanel) with dynamic UI from setting definitions
  (SpinBox/CheckBox/LineEdit), auto-save on change
- Modal behavior: exclusive = true on settings windows
- Touch-friendly sizing: enlarged close buttons, cog buttons, controls, spacing
- Red corner close button redesign with rounded corners, hover/pressed states
- Split system_monitor into local_system_monitor (CPU, Memory) and test plugins
- Plugin activation/deactivation with layout preservation
This commit is contained in:
Eric Smith 2026-05-21 12:47:25 -04:00
parent 12b45b2685
commit 57b36798b9
24 changed files with 1065 additions and 183 deletions

View file

@ -0,0 +1,49 @@
[plugin]
name="Local System Monitor"
version="0.1.0"
description="Monitors local system resources: CPU and memory"
author="Fifthdread"
[tiles]
count=2
[tile_0]
id="cpu"
name="CPU Monitor"
scene="res://plugins/local_system_monitor/tiles/cpu/cpu_tile.tscn"
min_w=1
min_h=1
max_w=4
max_h=4
default_w=1
default_h=1
[tile_1]
id="memory"
name="Memory Monitor"
scene="res://plugins/local_system_monitor/tiles/memory/memory_tile.tscn"
min_w=1
min_h=1
max_w=4
max_h=4
default_w=1
default_h=1
[settings]
count=2
[setting_0]
key="cpu_update_interval_ms"
label="CPU Update Interval"
type="int"
default=1000
min=100
max=60000
[setting_1]
key="memory_update_interval_ms"
label="Memory Update Interval"
type="int"
default=1000
min=100
max=60000