- Added i18n JSON files (zh.json, en.json) with auto language detection - Updated miniplayer.ui to use i18n keys for all button labels - Added MiniPlayerIcon overlay in top-left corner of main window - Load i18n translations on app startup based on system locale
165 lines
3.8 KiB
XML
165 lines
3.8 KiB
XML
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"height": "100%",
|
|
"bgcolor": "#000000"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "VideoPlayer",
|
|
"id": "videoPlayer",
|
|
"options": {
|
|
"width": "100%",
|
|
"height": "85%"
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"height": "15%",
|
|
"bgcolor": "#1a1a1a",
|
|
"spacing": 6,
|
|
"padding": "8px 12px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "openBtn",
|
|
"options": {
|
|
"label": "open",
|
|
"icon": "folder",
|
|
"cwidth": 8,
|
|
"cheight": 4,
|
|
"bgcolor": "#555555",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "event",
|
|
"target": "videoPlayer.openFile"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "prevBtn",
|
|
"options": {
|
|
"label": "prev",
|
|
"icon": "backward.fill",
|
|
"cwidth": 8,
|
|
"cheight": 4,
|
|
"bgcolor": "#333333",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "event",
|
|
"target": "videoPlayer.prev"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "toggleBtn",
|
|
"options": {
|
|
"label": "play_pause",
|
|
"icon": "playpause.fill",
|
|
"cwidth": 12,
|
|
"cheight": 4,
|
|
"bgcolor": "#007aff",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "event",
|
|
"target": "videoPlayer.toggle"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "nextBtn",
|
|
"options": {
|
|
"label": "next",
|
|
"icon": "forward.fill",
|
|
"cwidth": 8,
|
|
"cheight": 4,
|
|
"bgcolor": "#333333",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "event",
|
|
"target": "videoPlayer.next"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Filler"
|
|
},
|
|
{
|
|
"widgettype": "Input",
|
|
"id": "videoUrlInput",
|
|
"options": {
|
|
"name": "url",
|
|
"placeholder": "url_placeholder",
|
|
"cwidth": 30,
|
|
"cheight": 4
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "loadBtn",
|
|
"options": {
|
|
"label": "load",
|
|
"icon": "arrow.down.circle.fill",
|
|
"cwidth": 8,
|
|
"cheight": 4,
|
|
"bgcolor": "#5856d6",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "method",
|
|
"target": "videoPlayer",
|
|
"method": "setURL"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "Button",
|
|
"id": "fullscreenBtn",
|
|
"options": {
|
|
"label": "fullscreen",
|
|
"icon": "arrow.up.left.and.arrow.down.right",
|
|
"cwidth": 10,
|
|
"cheight": 4,
|
|
"bgcolor": "#ff9500",
|
|
"color": "#ffffff"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "click",
|
|
"actiontype": "event",
|
|
"target": "videoPlayer.fullscreen"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|