aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/game.controller.default/addon.xml2
-rw-r--r--addons/game.controller.default/resources/language/resource.language.my_mm/strings.po8
-rw-r--r--addons/game.controller.keyboard/addon.xml2
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po12
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po12
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po20
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po6
-rw-r--r--addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po4
-rw-r--r--addons/game.controller.keyboard/resources/layout.xml1
-rw-r--r--addons/game.controller.mouse/addon.xml2
-rw-r--r--addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po11
-rw-r--r--addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po6
-rw-r--r--addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po6
-rw-r--r--addons/skin.estuary/xml/View_53_Shift.xml279
-rw-r--r--tools/depends/native/python3/PYTHON3-VERSION4
-rw-r--r--tools/depends/target/python3/PYTHON3-VERSION4
-rw-r--r--xbmc/addons/settings/AddonSettings.h4
-rw-r--r--xbmc/favourites/GUIWindowFavourites.cpp4
-rw-r--r--xbmc/games/controllers/ControllerTranslator.cpp4
-rw-r--r--xbmc/input/XBMC_keysym.h5
-rw-r--r--xbmc/interfaces/builtins/PlayerBuiltins.cpp6
-rw-r--r--xbmc/listproviders/DirectoryProvider.cpp4
-rw-r--r--xbmc/network/DNSNameCache.cpp15
-rw-r--r--xbmc/network/upnp/UPnPPlayer.cpp111
-rw-r--r--xbmc/network/upnp/UPnPPlayer.h3
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp2
-rw-r--r--xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp2
-rw-r--r--xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp6
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRRecordings.cpp4
-rw-r--r--xbmc/video/ContextMenus.cpp6
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoInfo.cpp9
-rw-r--r--xbmc/video/dialogs/GUIDialogVideoVersion.cpp2
-rw-r--r--xbmc/video/guilib/CMakeLists.txt3
-rw-r--r--xbmc/video/guilib/VideoAction.h29
-rw-r--r--xbmc/video/guilib/VideoPlayAction.h24
-rw-r--r--xbmc/video/guilib/VideoPlayActionProcessor.cpp58
-rw-r--r--xbmc/video/guilib/VideoPlayActionProcessor.h15
-rw-r--r--xbmc/video/guilib/VideoSelectAction.h29
-rw-r--r--xbmc/video/guilib/VideoSelectActionProcessor.cpp94
-rw-r--r--xbmc/video/guilib/VideoSelectActionProcessor.h32
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.cpp16
-rw-r--r--xbmc/video/windows/GUIWindowVideoBase.h4
115 files changed, 705 insertions, 519 deletions
diff --git a/addons/game.controller.default/addon.xml b/addons/game.controller.default/addon.xml
index 7f63157ea4..202881b477 100644
--- a/addons/game.controller.default/addon.xml
+++ b/addons/game.controller.default/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.default"
name="Default Controller"
- version="1.0.40"
+ version="1.0.41"
provider-name="Team Kodi">
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
diff --git a/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po b/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po
index 209df3741b..d05b92c81f 100644
--- a/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po
+++ b/addons/game.controller.default/resources/language/resource.language.my_mm/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Main\n"
-"Report-Msgid-Bugs-To: https://github.com/xbmc/xbmc/issues/\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2021-05-20 16:49+0000\n"
+"PO-Revision-Date: 2023-10-23 01:11+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
"Language-Team: Burmese <https://kodi.weblate.cloud/projects/kodi-core/game-controller-default/my_mm/>\n"
"Language: my_mm\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.6.2\n"
+"X-Generator: Weblate 5.0.2\n"
msgctxt "Addon Summary"
msgid "Default Controller"
@@ -31,7 +31,7 @@ msgstr ""
msgctxt "#30000"
msgid "Kodi"
-msgstr ""
+msgstr "ကိုဒီ"
msgctxt "#30001"
msgid "A"
diff --git a/addons/game.controller.keyboard/addon.xml b/addons/game.controller.keyboard/addon.xml
index ce6640f90d..eed3e7cd1d 100644
--- a/addons/game.controller.keyboard/addon.xml
+++ b/addons/game.controller.keyboard/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.keyboard"
name="IBM Model M Keyboard"
- version="1.1.30"
+ version="1.1.33"
provider-name="Team Kodi">
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
index 7f2c063a64..5937a4dd94 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
index 3ddaf9947d..b706bc5107 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
index 2831dfbde1..e2aaf23704 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
index a806b8d2b4..44f29fa6b4 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-04-14 22:45+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
index 201ff4b66e..769af455b5 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
index 1aaa54b63d..2005f8bae0 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
index fb8d3f1669..1fc61c8557 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
index bae6398288..bf1db31f95 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
index 36b026e9a6..4e32574309 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:14+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
index e364b2d01f..9901e6770d 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:14+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
index 364cf1be52..0d748ae9e7 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
index 1365a402fd..66c6129ce6 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2021-08-18 16:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr "Num Pad ="
msgctxt "#30140"
msgid "Clear"
msgstr "Ryd"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
index 76a169b19e..481978e361 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-02-01 20:55+0000\n"
"Last-Translator: Demian <Demian@gmx.co.uk>\n"
@@ -589,3 +589,7 @@ msgstr "Ziffernblock ="
msgctxt "#30140"
msgid "Clear"
msgstr "Löschen"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
index faee582405..9254b722c8 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
index 635656f8d6..6f0c463af1 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
index 66ffb5db8d..1346477145 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
index 48bd6bab4d..f087ad15f5 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
index 6b8e723cd4..f2506cf98f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
index d7f15eca33..277c52bda0 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
index ca92d90c4f..b8f7085312 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
index 16f766bf2d..d27decdc7c 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-01-16 22:15+0000\n"
"Last-Translator: José Antonio Alvarado <jalvarado0.eses@gmail.com>\n"
@@ -589,3 +589,7 @@ msgstr "Bloq Num ="
msgctxt "#30140"
msgid "Clear"
msgstr "Limpiar"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
index 5ebe3efc57..18cc097109 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-09-05 17:37+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
index 746d863f1c..b7a03342e7 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:14+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
index 85bc54c7d3..6d2eb561df 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-02-17 22:58+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
index 0f48ef1be1..36b6689cc5 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
index e5453a6ca2..89236c7122 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
index ca17033831..0d7eaf0df5 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2022-07-24 08:15+0000\n"
+"PO-Revision-Date: 2023-09-10 18:37+0000\n"
"Last-Translator: Oskari Lavinto <olavinto@protonmail.com>\n"
"Language-Team: Finnish <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-keyboard/fi_fi/>\n"
"Language: fi_fi\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.13\n"
+"X-Generator: Weblate 4.18.2\n"
msgctxt "Addon Summary"
msgid "IBM Model M keyboard"
@@ -588,4 +588,8 @@ msgstr "Numeronäppäimistön on yhtä kuin"
msgctxt "#30140"
msgid "Clear"
-msgstr "Tyhjennä"
+msgstr "Clear"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
index ac27bc5721..df1447794e 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
index 770794365a..2d958c5776 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
index e10d4a10fd..32a861d89f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-01-30 18:04+0000\n"
"Last-Translator: skypichat <skypichat@hotmail.fr>\n"
@@ -589,3 +589,7 @@ msgstr "Pavé Num. Equals"
msgctxt "#30140"
msgid "Clear"
msgstr "Clear"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
index eaaa5c2645..6feb20da2f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
index fd165f1fb1..3a0810c031 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
index 1cc6d4bb17..e1e04dfa0c 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
index a685c88515..d0dde31546 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
index 32dcb13fc4..3c704c4f26 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
index 7fe2378b9b..5ce37ac2f9 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
index 22bfe8c122..39f11f5f1d 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2022-07-24 08:15+0000\n"
+"PO-Revision-Date: 2023-10-23 01:11+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
"Language-Team: Indonesian <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-keyboard/id_id/>\n"
"Language: id_id\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.13\n"
+"X-Generator: Weblate 5.0.2\n"
msgctxt "Addon Summary"
msgid "IBM Model M keyboard"
@@ -328,7 +328,7 @@ msgstr ""
msgctxt "#30075"
msgid "Pause"
-msgstr ""
+msgstr "Jeda"
msgctxt "#30076"
msgid "Insert"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
index 9bad1794ab..087a456492 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
index c0ce1295af..bc22b3a094 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2023-03-18 04:16+0000\n"
+"PO-Revision-Date: 2023-11-29 13:11+0000\n"
"Last-Translator: Massimo Pissarello <mapi68@gmail.com>\n"
"Language-Team: Italian <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-keyboard/it_it/>\n"
"Language: it_it\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.15.2\n"
+"X-Generator: Weblate 5.2.1\n"
msgctxt "Addon Summary"
msgid "IBM Model M keyboard"
@@ -452,19 +452,19 @@ msgstr "F15"
msgctxt "#30106"
msgid "Left Meta"
-msgstr "Meta sinistra"
+msgstr "Meta sinistro"
msgctxt "#30107"
msgid "Right Meta"
-msgstr "Meta destra"
+msgstr "Meta destro"
msgctxt "#30108"
msgid "Left Super"
-msgstr "Sinistra super"
+msgstr "Super sinistro"
msgctxt "#30109"
msgid "Right Super"
-msgstr "Destra super"
+msgstr "Super destro"
msgctxt "#30110"
msgid "!"
@@ -580,7 +580,7 @@ msgstr "€"
msgctxt "#30138"
msgid "Undo"
-msgstr "Annullare"
+msgstr "Annulla"
msgctxt "#30139"
msgid "Num Pad Equals"
@@ -589,3 +589,7 @@ msgstr "Tastierino numerico uguale"
msgctxt "#30140"
msgid "Clear"
msgstr "Pulisci"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
index 91726c8c79..65f9ee50b1 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
index 87388ee850..05fad666a3 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
index 221e875d4b..d19ae3534a 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
index 6d7bea5473..3271199feb 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
index 7502620e01..287c14a927 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
index 5f0b6b3d74..e03dd69cfb 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
index 7d61c29a5f..a3392b9cc8 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
index a6bcb586ef..d5759d9a3e 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
index ed87eb964c..d5b2f68dc2 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
index 1470da2f6c..f8164d04e8 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
index 50b9a5c6c9..f256e66916 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
index 68cfd1d26c..a96fb0f7d0 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
index b7f6f291f7..96b30e0efe 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
index dc09784df2..5f9caf3f1c 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
index 18c48b6482..e2375b3d18 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
index 8666972e96..ccdb474c28 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
index 0e0481e47d..50165b7580 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-03-23 23:23+0000\n"
"Last-Translator: Marek Adamski <fevbew@wp.pl>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
index 8a756b522a..42547f5d03 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
index 4488c44561..f611be5d2f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-08-08 05:15+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
index 575f2091e2..4541484c50 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-07-24 08:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
index 9e494150f7..d84b02b3eb 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2021-08-15 09:52+0000\n"
"Last-Translator: Dmitry Petrov <dimakrm361@gmail.com>\n"
@@ -589,3 +589,7 @@ msgstr "Num Pad ="
msgctxt "#30140"
msgid "Clear"
msgstr "Clear"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
index fae09b8b8d..7316bf7235 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
index 16991c8ded..d2037c9515 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-03-12 01:16+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
@@ -589,3 +589,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
index bc327689fb..ab04aaaf64 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
index e562400be2..6356d60e35 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
index 13ae9cfb2e..232b0d7b9d 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
index 2975f60b85..0b8d62d277 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
index 6f6f8bb5b7..a8967e2e7f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
index a2122d6604..8a4d0916af 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
index 315e526e63..0d1cd037bb 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
index 884f43fad5..1b98da4ea9 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
index 3ddda30014..baeb5bf0e9 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
index 354c919b54..9adb655a3c 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
index 372fd8ebbd..147bdb7be2 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
index 47ab7ac4d3..5a43e03e71 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2023-08-06 08:11+0000\n"
"Last-Translator: Did Kokos <did.kokos@gmail.com>\n"
@@ -589,3 +589,7 @@ msgstr "Num Pad ="
msgctxt "#30140"
msgid "Clear"
msgstr "Clear"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
index fe96f94c00..6a4f5cd503 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
index 16796a9ac2..a735c4b017 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
index 15170bf44b..b4d29d13c7 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: KODI Addons\n"
-"Report-Msgid-Bugs-To: translations@kodi.tv\n"
+"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2022-02-10 11:38+0000\n"
"Last-Translator: Louis Hsu <louishsu86@gmail.com>\n"
@@ -589,3 +589,7 @@ msgstr "数字键盘 Equals"
msgctxt "#30140"
msgid "Clear"
msgstr "清除"
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po b/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
index 1f31947a18..31c924995f 100644
--- a/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
+++ b/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
@@ -588,3 +588,7 @@ msgstr ""
msgctxt "#30140"
msgid "Clear"
msgstr ""
+
+msgctxt "#30141"
+msgid "OEM 102nd Key"
+msgstr ""
diff --git a/addons/game.controller.keyboard/resources/layout.xml b/addons/game.controller.keyboard/resources/layout.xml
index 3bdc76f260..9cb549d504 100644
--- a/addons/game.controller.keyboard/resources/layout.xml
+++ b/addons/game.controller.keyboard/resources/layout.xml
@@ -140,5 +140,6 @@
<key name="power" symbol="power" label="30136"/>
<key name="euro" symbol="euro" label="30137"/>
<key name="undo" symbol="undo" label="30138"/>
+ <key name="oem102" symbol="oem102" label="30141"/>
</category>
</layout>
diff --git a/addons/game.controller.mouse/addon.xml b/addons/game.controller.mouse/addon.xml
index 77aa31229f..3c17fe8dc2 100644
--- a/addons/game.controller.mouse/addon.xml
+++ b/addons/game.controller.mouse/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.mouse"
name="Computer Mouse"
- version="1.0.23"
+ version="1.0.26"
provider-name="Team Kodi">
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
diff --git a/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po b/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
index b5c163f33f..278ec0d4ec 100644
--- a/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
+++ b/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
@@ -5,16 +5,17 @@
msgid ""
msgstr ""
"Project-Id-Version: game.controller.mouse\n"
-"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2014-05-30 17:00+8\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2023-10-29 12:07+0000\n"
+"Last-Translator: Christian Gade <gade@kodi.tv>\n"
+"Language-Team: Catalan (Spain) <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-mouse/ca_es/>\n"
"Language: ca_es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.1\n"
msgctxt "Addon Summary"
msgid "Computer Mouse"
@@ -62,7 +63,7 @@ msgstr ""
msgctxt "#30009"
msgid "Button 4"
-msgstr ""
+msgstr "Botó 4"
msgctxt "#30010"
msgid "Button 5"
diff --git a/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po b/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
index 8af6cb2bdf..12364bf89e 100644
--- a/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
+++ b/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: game.controller.mouse\n"
-"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2021-08-18 16:16+0000\n"
+"PO-Revision-Date: 2023-12-07 21:41+0000\n"
"Last-Translator: Christian Gade <gade@kodi.tv>\n"
"Language-Team: Danish <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-mouse/da_dk/>\n"
"Language: da_dk\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 5.2.1\n"
msgctxt "Addon Summary"
msgid "Computer Mouse"
diff --git a/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po b/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
index 4c783a65fa..379482903b 100644
--- a/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
+++ b/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
@@ -5,9 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: game.controller.mouse\n"
-"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
+"Report-Msgid-Bugs-To: translations@kodi.tv\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
-"PO-Revision-Date: 2022-09-22 10:15+0000\n"
+"PO-Revision-Date: 2023-11-29 13:11+0000\n"
"Last-Translator: Massimo Pissarello <mapi68@gmail.com>\n"
"Language-Team: Italian <https://kodi.weblate.cloud/projects/kodi-add-ons-game/game-controller-mouse/it_it/>\n"
"Language: it_it\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.1\n"
+"X-Generator: Weblate 5.2.1\n"
msgctxt "Addon Summary"
msgid "Computer Mouse"
diff --git a/addons/skin.estuary/xml/View_53_Shift.xml b/addons/skin.estuary/xml/View_53_Shift.xml
index 20b700aa30..1c1e908710 100644
--- a/addons/skin.estuary/xml/View_53_Shift.xml
+++ b/addons/skin.estuary/xml/View_53_Shift.xml
@@ -62,179 +62,10 @@
<preloaditems>1</preloaditems>
<viewtype label="31100">icon</viewtype>
<itemlayout width="370">
- <control type="image">
- <left>0</left>
- <top>90</top>
- <width>370</width>
- <height>480</height>
- <texture>dialogs/dialog-bg-nobo.png</texture>
- <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
- <bordersize>20</bordersize>
- <visible>String.IsEmpty(ListItem.Art(poster)) + [Container.Content(movies) | Container.Content(tvshows)]</visible>
- </control>
- <control type="image">
- <depth>DepthContentPopout</depth>
- <left>0</left>
- <top>90</top>
- <width>370</width>
- <height>480</height>
- <aspectratio aligny="center">keep</aspectratio>
- <texture fallback="DefaultVideo.png" background="true">$VAR[ShiftThumbVar]</texture>
- <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
- <bordersize>20</bordersize>
- </control>
- <control type="textbox">
- <left>20</left>
- <top>603</top>
- <width>330</width>
- <height>105</height>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- </control>
- <control type="group">
- <visible>String.IsEqual(ListItem.DBtype,tvshow) | String.IsEqual(ListItem.DBtype,set) | String.IsEqual(ListItem.DBType,season)</visible>
- <control type="image">
- <left>35</left>
- <top>500</top>
- <width>298</width>
- <height>50</height>
- <texture colordiffuse="CCFFFFFF">overlays/overlayfade.png</texture>
- <visible>!String.IsEmpty(ListItem.Art(poster))</visible>
- </control>
- <control type="label">
- <left>0</left>
- <top>522</top>
- <width>292</width>
- <height>24</height>
- <label>$VAR[WatchedStatusVar]</label>
- <font>font20_title</font>
- <shadowcolor>text_shadow</shadowcolor>
- <align>right</align>
- <aligny>center</aligny>
- </control>
- <control type="image">
- <left>302</left>
- <top>522</top>
- <width>24</width>
- <height>24</height>
- <texture>lists/played-total.png</texture>
- <align>right</align>
- <aligny>center</aligny>
- </control>
- </control>
- <control type="image">
- <left>35</left>
- <top>518</top>
- <width>32</width>
- <height>32</height>
- <align>left</align>
- <aligny>center</aligny>
- <texture>$VAR[WallWatchedIconVar]</texture>
- </control>
- <control type="group">
- <left>158</left>
- <top>92</top>
- <include condition="Skin.HasSetting(circle_rating) | Skin.HasSetting(circle_userrating)">RatingCircle</include>
- </control>
- <control type="progress">
- <left>32</left>
- <top>530</top>
- <width>298</width>
- <height>1</height>
- <texturebg></texturebg>
- <midtexture colordiffuse="button_focus" border="3">progress/texturebg_alt_white.png</midtexture>
- <info>ListItem.PercentPlayed</info>
- <visible>!Integer.IsEqual(ListItem.PercentPlayed,0)</visible>
- </control>
+ <include content="ShiftImageBox" />
</itemlayout>
<focusedlayout width="370">
- <control type="image">
- <left>0</left>
- <top>90</top>
- <width>370</width>
- <height>480</height>
- <texture>dialogs/dialog-bg-nobo.png</texture>
- <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
- <bordersize>20</bordersize>
- <visible>String.IsEmpty(ListItem.Art(poster)) + [Container.Content(movies) | Container.Content(tvshows)]</visible>
- </control>
- <control type="image">
- <depth>DepthContentPopout</depth>
- <left>0</left>
- <top>90</top>
- <width>370</width>
- <height>480</height>
- <aspectratio aligny="center">keep</aspectratio>
- <texture fallback="DefaultVideo.png" background="true">$VAR[ShiftThumbVar]</texture>
- <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
- <bordersize>20</bordersize>
- </control>
- <control type="textbox">
- <left>20</left>
- <top>603</top>
- <width>330</width>
- <height>105</height>
- <align>center</align>
- <aligny>center</aligny>
- <label>$INFO[ListItem.Label]</label>
- <autoscroll time="3000" delay="3000" repeat="3000">True</autoscroll>
- </control>
- <control type="group">
- <visible>String.IsEqual(ListItem.DBtype,tvshow) | String.IsEqual(ListItem.DBtype,set) | String.IsEqual(ListItem.DBType,season)</visible>
- <control type="image">
- <left>35</left>
- <top>500</top>
- <width>298</width>
- <height>50</height>
- <texture colordiffuse="CCFFFFFF">overlays/overlayfade.png</texture>
- <visible>!String.IsEmpty(ListItem.Art(poster))</visible>
- </control>
- <control type="label">
- <left>0</left>
- <top>522</top>
- <width>292</width>
- <height>24</height>
- <label>$VAR[WatchedStatusVar]</label>
- <font>font20_title</font>
- <shadowcolor>text_shadow</shadowcolor>
- <align>right</align>
- <aligny>center</aligny>
- </control>
- <control type="image">
- <left>302</left>
- <top>522</top>
- <width>24</width>
- <height>24</height>
- <texture>lists/played-total.png</texture>
- <align>right</align>
- <aligny>center</aligny>
- </control>
- </control>
- <control type="image">
- <left>35</left>
- <top>518</top>
- <width>32</width>
- <height>32</height>
- <align>left</align>
- <aligny>center</aligny>
- <texture>$VAR[WallWatchedIconVar]</texture>
- </control>
- <control type="group">
- <left>158</left>
- <top>92</top>
- <include condition="Skin.HasSetting(circle_rating) | Skin.HasSetting(circle_userrating)">RatingCircle</include>
- </control>
- <control type="progress">
- <left>32</left>
- <top>530</top>
- <width>298</width>
- <height>1</height>
- <texturebg></texturebg>
- <midtexture colordiffuse="button_focus" border="3">progress/texturebg_alt_white.png</midtexture>
- <info>ListItem.PercentPlayed</info>
- <visible>!Integer.IsEqual(ListItem.PercentPlayed,0)</visible>
- </control>
+ <include content="ShiftImageBox" />
</focusedlayout>
</control>
</control>
@@ -290,6 +121,68 @@
</control>
</control>
</include>
+ <include name="ShiftImageBox">
+ <control type="image">
+ <left>18</left>
+ <top>90</top>
+ <width>334</width>
+ <height>480</height>
+ <aspectratio aligny="center">stretch</aspectratio>
+ <texture>dialogs/dialog-bg-nobo.png</texture>
+ <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
+ <bordersize>20</bordersize>
+ <visible>String.IsEmpty(ListItem.Art(thumb)) + !Container.Content(albums) | String.IsEmpty(ListItem.Art(poster)) + [Container.Content(movies) | Container.Content(tvshows)]</visible>
+ </control>
+ <control type="image">
+ <depth>DepthContentPopout</depth>
+ <left>18</left>
+ <top>90</top>
+ <width>334</width>
+ <height>480</height>
+ <aspectratio aligny="center">keep</aspectratio>
+ <texture fallback="DefaultVideo.png" background="true">$VAR[ShiftThumbVar]</texture>
+ <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
+ <bordersize>20</bordersize>
+ <visible>String.IsEmpty(ListItem.Art(poster))</visible>
+ </control>
+ <control type="image">
+ <depth>DepthContentPopout</depth>
+ <left>18</left>
+ <top>90</top>
+ <width>334</width>
+ <height>480</height>
+ <aspectratio aligny="center">scale</aspectratio>
+ <texture fallback="DefaultVideo.png" background="true">$VAR[ShiftThumbVar]</texture>
+ <bordertexture border="21" infill="false">overlays/shadow.png</bordertexture>
+ <bordersize>20</bordersize>
+ <visible>!String.IsEmpty(ListItem.Art(poster))</visible>
+ </control>
+ <control type="textbox">
+ <left>20</left>
+ <top>603</top>
+ <width>330</width>
+ <height>105</height>
+ <align>center</align>
+ <aligny>center</aligny>
+ <label>$INFO[ListItem.Label]</label>
+ </control>
+ <include>IconStatusOverlay</include>
+ <control type="group">
+ <left>158</left>
+ <top>92</top>
+ <include condition="Skin.HasSetting(circle_rating) | Skin.HasSetting(circle_userrating)">RatingCircle</include>
+ </control>
+ <control type="progress">
+ <left>32</left>
+ <top>530</top>
+ <width>298</width>
+ <height>1</height>
+ <texturebg></texturebg>
+ <midtexture colordiffuse="button_focus" border="3">progress/texturebg_alt_white.png</midtexture>
+ <info>ListItem.PercentPlayed</info>
+ <visible>!Integer.IsEqual(ListItem.PercentPlayed,0)</visible>
+ </control>
+ </include>
<include name="ShiftTextbox">
<control type="group">
<animation effect="fade" time="200" start="0" end="100" condition="!String.IsEmpty(Control.GetLabel($PARAM[textbox_id]))">Conditional</animation>
@@ -304,4 +197,48 @@
</control>
</control>
</include>
+ <include name="IconStatusOverlay">
+ <control type="group">
+ <visible>String.IsEqual(ListItem.DBtype,tvshow) | String.IsEqual(ListItem.DBtype,set) | String.IsEqual(ListItem.DBType,season) | String.IsEqual(ListItem.IsCollection) | String.IsEqual(ListItem.HasVideoVersions) | String.IsEqual(ListItem.IsResumable) | Integer.IsGreater(ListItem.Playcount,0)</visible>
+ <control type="image">
+ <left>38</left>
+ <top>500</top>
+ <width>294</width>
+ <height>50</height>
+ <texture colordiffuse="CCFFFFFF">overlays/overlayfade.png</texture>
+ <visible>!String.IsEmpty(ListItem.Art(poster))</visible>
+ </control>
+ <control type="label">
+ <left>75</left>
+ <top>522</top>
+ <width>222</width>
+ <height>24</height>
+ <label>$VAR[WatchedStatusVar]</label>
+ <font>font20_title</font>
+ <shadowcolor>text_shadow</shadowcolor>
+ <align>right</align>
+ <aligny>center</aligny>
+ <visible>String.IsEqual(ListItem.DBtype,tvshow) | String.IsEqual(ListItem.DBtype,set) | String.IsEqual(ListItem.DBType,season)</visible>
+ </control>
+ <control type="image">
+ <left>302</left>
+ <top>522</top>
+ <width>24</width>
+ <height>24</height>
+ <texture>lists/played-total.png</texture>
+ <align>right</align>
+ <aligny>center</aligny>
+ <visible>String.IsEqual(ListItem.DBtype,tvshow) | String.IsEqual(ListItem.DBtype,set) | String.IsEqual(ListItem.DBType,season)</visible>
+ </control>
+ <control type="image">
+ <left>45</left>
+ <top>522</top>
+ <width>24</width>
+ <height>24</height>
+ <align>left</align>
+ <aligny>center</aligny>
+ <texture>$VAR[WallWatchedIconVar]</texture>
+ </control>
+ </control>
+ </include>
</includes>
diff --git a/tools/depends/native/python3/PYTHON3-VERSION b/tools/depends/native/python3/PYTHON3-VERSION
index 877902c5ef..c5e1760fb2 100644
--- a/tools/depends/native/python3/PYTHON3-VERSION
+++ b/tools/depends/native/python3/PYTHON3-VERSION
@@ -1,4 +1,4 @@
LIBNAME=Python
-VERSION=3.11.6
+VERSION=3.11.7
ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
-SHA512=94b1038f6f53de0c44f99f72ed0f2e0791fd9d2a325ae00ba145b2b2c332c27b300b3ea3473017518089478f15e01867b1bb203c16610039cce36f8366de341a
+SHA512=11e06f2ffe1f66888cb5b4e9f607de815294d6863a77eda6ec6d7c724ef158df9f51881f4a956d4a6fa973c2fb6fd031d495e3496e9b0bb53793fb1cc8434c63
diff --git a/tools/depends/target/python3/PYTHON3-VERSION b/tools/depends/target/python3/PYTHON3-VERSION
index 877902c5ef..c5e1760fb2 100644
--- a/tools/depends/target/python3/PYTHON3-VERSION
+++ b/tools/depends/target/python3/PYTHON3-VERSION
@@ -1,4 +1,4 @@
LIBNAME=Python
-VERSION=3.11.6
+VERSION=3.11.7
ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
-SHA512=94b1038f6f53de0c44f99f72ed0f2e0791fd9d2a325ae00ba145b2b2c332c27b300b3ea3473017518089478f15e01867b1bb203c16610039cce36f8366de341a
+SHA512=11e06f2ffe1f66888cb5b4e9f607de815294d6863a77eda6ec6d7c724ef158df9f51881f4a956d4a6fa973c2fb6fd031d495e3496e9b0bb53793fb1cc8434c63
diff --git a/xbmc/addons/settings/AddonSettings.h b/xbmc/addons/settings/AddonSettings.h
index 5661a1f1a8..189f8a7f0e 100644
--- a/xbmc/addons/settings/AddonSettings.h
+++ b/xbmc/addons/settings/AddonSettings.h
@@ -35,9 +35,9 @@ namespace ADDON
class IAddon;
class IAddonInstanceHandler;
-class CAddonSettings : public CSettingsBase,
+class CAddonSettings : public CSettingControlCreator,
public CSettingCreator,
- public CSettingControlCreator,
+ public CSettingsBase,
public ISettingCallback
{
public:
diff --git a/xbmc/favourites/GUIWindowFavourites.cpp b/xbmc/favourites/GUIWindowFavourites.cpp
index 25989b364a..10cfc0180f 100644
--- a/xbmc/favourites/GUIWindowFavourites.cpp
+++ b/xbmc/favourites/GUIWindowFavourites.cpp
@@ -139,7 +139,7 @@ bool CGUIWindowFavourites::OnSelect(int itemIdx)
if (targetItem.HasVideoInfoTag() && (!targetItem.m_bIsFolder || isPlayMedia))
{
CVideoSelectActionProcessor proc{std::make_shared<CFileItem>(targetItem)};
- if (proc.Process())
+ if (proc.ProcessDefaultAction())
return true;
}
@@ -166,7 +166,7 @@ bool CGUIWindowFavourites::OnAction(const CAction& action)
if (item->HasVideoInfoTag() || (item->m_bIsFolder && VIDEO_UTILS::IsItemPlayable(*item)))
{
CVideoPlayActionProcessor proc{item};
- if (proc.Process())
+ if (proc.ProcessDefaultAction())
return true;
}
diff --git a/xbmc/games/controllers/ControllerTranslator.cpp b/xbmc/games/controllers/ControllerTranslator.cpp
index df8641be28..c840a1845d 100644
--- a/xbmc/games/controllers/ControllerTranslator.cpp
+++ b/xbmc/games/controllers/ControllerTranslator.cpp
@@ -450,6 +450,8 @@ KEYBOARD::KeySymbol CControllerTranslator::TranslateKeysym(const std::string& sy
return XBMCK_EURO;
if (symbol == "undo")
return XBMCK_UNDO;
+ if (symbol == "oem102")
+ return XBMCK_OEM_102;
return XBMCK_UNKNOWN;
}
@@ -736,6 +738,8 @@ const char* CControllerTranslator::TranslateKeycode(KEYBOARD::KeySymbol keycode)
return "euro";
case XBMCK_UNDO:
return "undo";
+ case XBMCK_OEM_102:
+ return "oem102";
default:
break;
}
diff --git a/xbmc/input/XBMC_keysym.h b/xbmc/input/XBMC_keysym.h
index 0d65130b92..7a23dabc33 100644
--- a/xbmc/input/XBMC_keysym.h
+++ b/xbmc/input/XBMC_keysym.h
@@ -133,6 +133,11 @@ typedef enum
XBMCK_MEDIA_REWIND = 0xBA,
XBMCK_MEDIA_FASTFORWARD = 0xBB,
+ // This key is not present on standard US keyboard layouts. For European
+ // layouts it's usually located to the right of left-shift key, with '\' as
+ // its main function.
+ XBMCK_OEM_102 = 0xE2,
+
// Numeric keypad
XBMCK_KP0 = 0x100,
XBMCK_KP1 = 0x101,
diff --git a/xbmc/interfaces/builtins/PlayerBuiltins.cpp b/xbmc/interfaces/builtins/PlayerBuiltins.cpp
index 01ee12c1c5..25e6f9c226 100644
--- a/xbmc/interfaces/builtins/PlayerBuiltins.cpp
+++ b/xbmc/interfaces/builtins/PlayerBuiltins.cpp
@@ -513,13 +513,13 @@ int PlayOrQueueMedia(const std::vector<std::string>& params, bool forcePlay)
if (askToResume)
{
- const VIDEO::GUILIB::SelectAction action =
+ const VIDEO::GUILIB::Action action =
VIDEO::GUILIB::CVideoSelectActionProcessorBase::ChoosePlayOrResume(item);
- if (action == VIDEO::GUILIB::SELECT_ACTION_RESUME)
+ if (action == VIDEO::GUILIB::ACTION_RESUME)
{
item.SetStartOffset(STARTOFFSET_RESUME);
}
- else if (action != VIDEO::GUILIB::SELECT_ACTION_PLAY)
+ else if (action != VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING)
{
// The Resume dialog was closed without any choice
return false;
diff --git a/xbmc/listproviders/DirectoryProvider.cpp b/xbmc/listproviders/DirectoryProvider.cpp
index f1f4228f5d..2811ec1882 100644
--- a/xbmc/listproviders/DirectoryProvider.cpp
+++ b/xbmc/listproviders/DirectoryProvider.cpp
@@ -564,7 +564,7 @@ bool CDirectoryProvider::OnClick(const CGUIListItemPtr& item)
if (targetItem.HasVideoInfoTag() && (!targetItem.m_bIsFolder || isPlayMedia))
{
CVideoSelectActionProcessor proc{*this, std::make_shared<CFileItem>(targetItem)};
- if (proc.Process())
+ if (proc.ProcessDefaultAction())
return true;
}
@@ -595,7 +595,7 @@ bool CDirectoryProvider::OnPlay(const CGUIListItemPtr& item)
(targetItem.m_bIsFolder && VIDEO_UTILS::IsItemPlayable(targetItem)))
{
CVideoPlayActionProcessor proc{std::make_shared<CFileItem>(targetItem)};
- if (proc.Process())
+ if (proc.ProcessDefaultAction())
return true;
}
diff --git a/xbmc/network/DNSNameCache.cpp b/xbmc/network/DNSNameCache.cpp
index af2ac1ad1f..63fcfae9ed 100644
--- a/xbmc/network/DNSNameCache.cpp
+++ b/xbmc/network/DNSNameCache.cpp
@@ -24,6 +24,10 @@
#include <netdb.h>
#include <netinet/in.h>
+#if defined(TARGET_FREEBSD)
+#include <sys/socket.h>
+#endif
+
CDNSNameCache g_DNSCache;
CCriticalSection CDNSNameCache::m_critical;
@@ -38,18 +42,19 @@ bool CDNSNameCache::Lookup(const std::string& strHostName, std::string& strIpAdd
return false;
// first see if this is already an ip address
- unsigned long address = inet_addr(strHostName.c_str());
+ in_addr addr4;
+ in6_addr addr6;
strIpAddress.clear();
- if (address != INADDR_NONE)
+ if (inet_pton(AF_INET, strHostName.c_str(), &addr4) ||
+ inet_pton(AF_INET6, strHostName.c_str(), &addr6))
{
- strIpAddress = StringUtils::Format("{}.{}.{}.{}", (address & 0xFF), (address & 0xFF00) >> 8,
- (address & 0xFF0000) >> 16, (address & 0xFF000000) >> 24);
+ strIpAddress = strHostName;
return true;
}
// check if there's a custom entry or if it's already cached
- if(g_DNSCache.GetCached(strHostName, strIpAddress))
+ if (g_DNSCache.GetCached(strHostName, strIpAddress))
return true;
// perform dns lookup
diff --git a/xbmc/network/upnp/UPnPPlayer.cpp b/xbmc/network/upnp/UPnPPlayer.cpp
index 3a4fe6b422..02520e80ce 100644
--- a/xbmc/network/upnp/UPnPPlayer.cpp
+++ b/xbmc/network/upnp/UPnPPlayer.cpp
@@ -160,7 +160,6 @@ public:
CUPnPPlayer::CUPnPPlayer(IPlayerCallback& callback, const char* uuid)
: IPlayer(callback),
m_control(NULL),
- m_delegate(NULL),
m_logger(CServiceBroker::GetLogging().GetLogger(StringUtils::Format("CUPnPPlayer[{}]", uuid)))
{
m_control = CUPnP::GetInstance()->m_MediaController;
@@ -168,8 +167,8 @@ CUPnPPlayer::CUPnPPlayer(IPlayerCallback& callback, const char* uuid)
PLT_DeviceDataReference device;
if(NPT_SUCCEEDED(m_control->FindRenderer(uuid, device)))
{
- m_delegate = new CUPnPPlayerController(m_control, device, callback);
- CUPnP::RegisterUserdata(m_delegate);
+ m_delegate = std::make_unique<CUPnPPlayerController>(m_control, device, callback);
+ CUPnP::RegisterUserdata(m_delegate.get());
}
else
m_logger->error("couldn't find device as {}", uuid);
@@ -181,8 +180,7 @@ CUPnPPlayer::~CUPnPPlayer()
{
CServiceBroker::GetWinSystem()->UnregisterRenderLoop(this);
CloseFile();
- CUPnP::UnregisterUserdata(m_delegate);
- delete m_delegate;
+ CUPnP::UnregisterUserdata(m_delegate.get());
}
static NPT_Result WaitOnEvent(CEvent& event, XbmcThreads::EndTime<>& timeout)
@@ -242,37 +240,35 @@ int CUPnPPlayer::PlayFile(const CFileItem& file,
// get the transport info to evaluate the TransportState to be able to
// determine whether we first need to call Stop()
timeout.Set(timeout.GetInitialTimeoutValue());
- NPT_CHECK_LABEL_SEVERE(m_control->GetTransportInfo(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed_gettransportinfo);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->GetTransportInfo(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed_gettransportinfo);
NPT_CHECK_LABEL_SEVERE(WaitOnEvent(m_delegate->m_traevnt, timeout), failed_gettransportinfo);
if (m_delegate->m_trainfo.cur_transport_state != "NO_MEDIA_PRESENT" &&
m_delegate->m_trainfo.cur_transport_state != "STOPPED")
{
timeout.Set(timeout.GetInitialTimeoutValue());
- NPT_CHECK_LABEL_SEVERE(m_control->Stop(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed_stop);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->Stop(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed_stop);
NPT_CHECK_LABEL_SEVERE(WaitOnEvent(m_delegate->m_resevent, timeout), failed_stop);
NPT_CHECK_LABEL_SEVERE(m_delegate->m_resstatus, failed_stop);
}
timeout.Set(timeout.GetInitialTimeoutValue());
- NPT_CHECK_LABEL_SEVERE(m_control->SetAVTransportURI(m_delegate->m_device
- , m_delegate->m_instance
- , obj->m_Resources[res_index].m_Uri
- , (const char*)tmp
- , m_delegate), failed_setavtransporturi);
+ NPT_CHECK_LABEL_SEVERE(m_control->SetAVTransportURI(m_delegate->m_device, m_delegate->m_instance,
+ obj->m_Resources[res_index].m_Uri,
+ (const char*)tmp, m_delegate.get()),
+ failed_setavtransporturi);
NPT_CHECK_LABEL_SEVERE(WaitOnEvent(m_delegate->m_resevent, timeout), failed_setavtransporturi);
NPT_CHECK_LABEL_SEVERE(m_delegate->m_resstatus, failed_setavtransporturi);
timeout.Set(timeout.GetInitialTimeoutValue());
- NPT_CHECK_LABEL_SEVERE(m_control->Play(m_delegate->m_device
- , m_delegate->m_instance
- , "1"
- , m_delegate), failed_play);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->Play(m_delegate->m_device, m_delegate->m_instance, "1", m_delegate.get()),
+ failed_play);
NPT_CHECK_LABEL_SEVERE(WaitOnEvent(m_delegate->m_resevent, timeout), failed_play);
NPT_CHECK_LABEL_SEVERE(m_delegate->m_resstatus, failed_play);
@@ -280,10 +276,9 @@ int CUPnPPlayer::PlayFile(const CFileItem& file,
/* wait for PLAYING state */
timeout.Set(timeout.GetInitialTimeoutValue());
do {
- NPT_CHECK_LABEL_SEVERE(m_control->GetTransportInfo(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed_waitplaying);
-
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->GetTransportInfo(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed_waitplaying);
{
std::unique_lock<CCriticalSection> lock(m_delegate->m_section);
@@ -306,11 +301,10 @@ int CUPnPPlayer::PlayFile(const CFileItem& file,
if(options.starttime > 0)
{
/* many upnp units won't load file properly until after play (including xbmc) */
- NPT_CHECK_LABEL(m_control->Seek(m_delegate->m_device
- , m_delegate->m_instance
- , "REL_TIME"
- , PLT_Didl::FormatTimeStamp((NPT_UInt32)options.starttime)
- , m_delegate), failed_seek);
+ NPT_CHECK_LABEL(m_control->Seek(m_delegate->m_device, m_delegate->m_instance, "REL_TIME",
+ PLT_Didl::FormatTimeStamp((NPT_UInt32)options.starttime),
+ m_delegate.get()),
+ failed_seek);
}
return NPT_SUCCESS;
@@ -350,9 +344,9 @@ bool CUPnPPlayer::OpenFile(const CFileItem& file, const CPlayerOptions& options)
/* if no path we want to attach to a already playing player */
if(file.GetPath() == "")
{
- NPT_CHECK_LABEL_SEVERE(m_control->GetTransportInfo(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->GetTransportInfo(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed);
NPT_CHECK_LABEL_SEVERE(WaitOnEvent(m_delegate->m_traevnt, timeout), failed);
@@ -371,12 +365,12 @@ bool CUPnPPlayer::OpenFile(const CFileItem& file, const CPlayerOptions& options)
m_started = true;
m_callback.OnPlayBackStarted(file);
m_callback.OnAVStarted(file);
- NPT_CHECK_LABEL_SEVERE(m_control->GetPositionInfo(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed);
- NPT_CHECK_LABEL_SEVERE(m_control->GetMediaInfo(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->GetPositionInfo(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed);
+ NPT_CHECK_LABEL_SEVERE(
+ m_control->GetMediaInfo(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed);
m_updateTimer.Set(0ms);
@@ -408,11 +402,10 @@ bool CUPnPPlayer::QueueNextFile(const CFileItem& file)
tmp.Append(didl_footer);
}
- NPT_CHECK_LABEL_WARNING(m_control->SetNextAVTransportURI(m_delegate->m_device
- , m_delegate->m_instance
- , file.GetPath().c_str()
- , (const char*)tmp
- , m_delegate), failed);
+ NPT_CHECK_LABEL_WARNING(
+ m_control->SetNextAVTransportURI(m_delegate->m_device, m_delegate->m_instance,
+ file.GetPath().c_str(), (const char*)tmp, m_delegate.get()),
+ failed);
if (!m_delegate->m_resevent.Wait(10000ms))
goto failed;
NPT_CHECK_LABEL_WARNING(m_delegate->m_resstatus, failed);
@@ -428,9 +421,8 @@ bool CUPnPPlayer::CloseFile(bool reopen)
NPT_CHECK_POINTER_LABEL_SEVERE(m_delegate, failed);
if(m_stopremote)
{
- NPT_CHECK_LABEL(m_control->Stop(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed);
+ NPT_CHECK_LABEL(m_control->Stop(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()),
+ failed);
if (!m_delegate->m_resevent.Wait(10000ms))
goto failed;
NPT_CHECK_LABEL(m_delegate->m_resstatus, failed);
@@ -452,17 +444,15 @@ void CUPnPPlayer::Pause()
{
if(IsPaused())
{
- NPT_CHECK_LABEL(m_control->Play(m_delegate->m_device
- , m_delegate->m_instance
- , "1"
- , m_delegate), failed);
+ NPT_CHECK_LABEL(
+ m_control->Play(m_delegate->m_device, m_delegate->m_instance, "1", m_delegate.get()),
+ failed);
CDataCacheCore::GetInstance().SetSpeed(1.0, 1.0);
}
else
{
- NPT_CHECK_LABEL(m_control->Pause(m_delegate->m_device
- , m_delegate->m_instance
- , m_delegate), failed);
+ NPT_CHECK_LABEL(
+ m_control->Pause(m_delegate->m_device, m_delegate->m_instance, m_delegate.get()), failed);
CDataCacheCore::GetInstance().SetSpeed(1.0, 0.0);
}
@@ -473,10 +463,10 @@ failed:
void CUPnPPlayer::SeekTime(int64_t ms)
{
- NPT_CHECK_LABEL(m_control->Seek(m_delegate->m_device
- , m_delegate->m_instance
- , "REL_TIME", PLT_Didl::FormatTimeStamp((NPT_UInt32)(ms / 1000))
- , m_delegate), failed);
+ NPT_CHECK_LABEL(m_control->Seek(m_delegate->m_device, m_delegate->m_instance, "REL_TIME",
+ PLT_Didl::FormatTimeStamp((NPT_UInt32)(ms / 1000)),
+ m_delegate.get()),
+ failed);
CDataCacheCore::GetInstance().SeekFinished(0);
return;
@@ -560,10 +550,9 @@ failed:
void CUPnPPlayer::SetVolume(float volume)
{
NPT_CHECK_POINTER_LABEL_SEVERE(m_delegate, failed);
- NPT_CHECK_LABEL(m_control->SetVolume(m_delegate->m_device
- , m_delegate->m_instance
- , "Master", (int)(volume * 100)
- , m_delegate), failed);
+ NPT_CHECK_LABEL(m_control->SetVolume(m_delegate->m_device, m_delegate->m_instance, "Master",
+ (int)(volume * 100), m_delegate.get()),
+ failed);
return;
failed:
m_logger->error("- unable to set volume");
diff --git a/xbmc/network/upnp/UPnPPlayer.h b/xbmc/network/upnp/UPnPPlayer.h
index 77e2a24cf8..c449b62e7c 100644
--- a/xbmc/network/upnp/UPnPPlayer.h
+++ b/xbmc/network/upnp/UPnPPlayer.h
@@ -14,6 +14,7 @@
#include "threads/SystemClock.h"
#include "utils/logtypes.h"
+#include <memory>
#include <string>
class PLT_MediaController;
@@ -64,7 +65,7 @@ private:
float GetPercentage();
PLT_MediaController* m_control;
- CUPnPPlayerController* m_delegate;
+ std::unique_ptr<CUPnPPlayerController> m_delegate;
std::string m_current_uri;
std::string m_current_meta;
bool m_started = false;
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp
index c3c20264e0..1605234bfe 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRGuideInfo.cpp
@@ -141,7 +141,7 @@ bool CGUIDialogPVRGuideInfo::OnClickButtonPlay(const CGUIMessage& message)
if (recording)
{
CGUIPVRRecordingsPlayActionProcessor proc{std::make_shared<CFileItem>(recording)};
- proc.Process();
+ proc.ProcessDefaultAction();
if (proc.UserCancelled())
Open();
}
diff --git a/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp
index f6af16e05c..6019c3feb1 100644
--- a/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp
+++ b/xbmc/pvr/dialogs/GUIDialogPVRRecordingInfo.cpp
@@ -61,7 +61,7 @@ bool CGUIDialogPVRRecordingInfo::OnClickButtonPlay(const CGUIMessage& message)
if (m_recordItem)
{
CGUIPVRRecordingsPlayActionProcessor proc{m_recordItem};
- proc.Process();
+ proc.ProcessDefaultAction();
if (proc.UserCancelled())
Open();
}
diff --git a/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp b/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
index 4e834af724..504351698a 100644
--- a/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
+++ b/xbmc/pvr/guilib/PVRGUIActionsPlayback.cpp
@@ -60,13 +60,13 @@ bool CPVRGUIActionsPlayback::CheckResumeRecording(const CFileItem& item) const
{
bool bPlayIt(true);
- const VIDEO::GUILIB::SelectAction action =
+ const VIDEO::GUILIB::Action action =
VIDEO::GUILIB::CVideoSelectActionProcessorBase::ChoosePlayOrResume(item);
- if (action == VIDEO::GUILIB::SELECT_ACTION_RESUME)
+ if (action == VIDEO::GUILIB::ACTION_RESUME)
{
const_cast<CFileItem*>(&item)->SetStartOffset(STARTOFFSET_RESUME);
}
- else if (action == VIDEO::GUILIB::SELECT_ACTION_PLAY)
+ else if (action == VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING)
{
const_cast<CFileItem*>(&item)->SetStartOffset(0);
}
diff --git a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
index a1164e640f..3f545098de 100644
--- a/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRRecordings.cpp
@@ -351,7 +351,7 @@ bool CGUIWindowPVRRecordingsBase::OnMessage(CGUIMessage& message)
if (!item->IsParentFolder() && message.GetParam1() == ACTION_PLAYER_PLAY)
{
CVideoPlayActionProcessor proc{item};
- bReturn = proc.Process();
+ bReturn = proc.ProcessDefaultAction();
}
else if (item->m_bIsFolder)
{
@@ -361,7 +361,7 @@ bool CGUIWindowPVRRecordingsBase::OnMessage(CGUIMessage& message)
else
{
CVideoSelectActionProcessor proc(*this, item, iItem);
- bReturn = proc.Process();
+ bReturn = proc.ProcessDefaultAction();
}
break;
}
diff --git a/xbmc/video/ContextMenus.cpp b/xbmc/video/ContextMenus.cpp
index 4128284579..955ad2b3a1 100644
--- a/xbmc/video/ContextMenus.cpp
+++ b/xbmc/video/ContextMenus.cpp
@@ -236,7 +236,7 @@ bool CVideoChooseVersion::Execute(const std::shared_ptr<CFileItem>& item) const
// force selection dialog, regardless of any settings like 'Select default video version'
item->SetProperty("force_choose_video_version", true);
CVideoSelectActionProcessor proc{item};
- const bool ret = proc.Process();
+ const bool ret = proc.ProcessDefaultAction();
item->ClearProperty("force_choose_video_version");
return ret;
}
@@ -315,9 +315,9 @@ void SetPathAndPlay(const std::shared_ptr<CFileItem>& item, const std::string& p
CVideoPlayActionProcessor proc{item, player};
if (resume && (item->GetStartOffset() == STARTOFFSET_RESUME ||
VIDEO_UTILS::GetItemResumeInformation(*item).isResumable))
- proc.Process(VIDEO::GUILIB::PLAY_ACTION_RESUME);
+ proc.ProcessAction(VIDEO::GUILIB::ACTION_RESUME);
else
- proc.Process(VIDEO::GUILIB::PLAY_ACTION_PLAY_FROM_BEGINNING);
+ proc.ProcessAction(VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING);
item->ClearProperty("prohibit_choose_video_version");
}
diff --git a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
index 08e7a1579f..df4582d229 100644
--- a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
+++ b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp
@@ -67,7 +67,6 @@
using namespace XFILE::VIDEODATABASEDIRECTORY;
using namespace XFILE;
using namespace KODI::MESSAGING;
-using namespace VIDEO::GUILIB;
#define CONTROL_IMAGE 3
#define CONTROL_TEXTAREA 4
@@ -712,7 +711,7 @@ void CGUIDialogVideoInfo::ClearCastList()
namespace
{
-class CVideoPlayActionProcessor : public CVideoPlayActionProcessorBase
+class CVideoPlayActionProcessor : public VIDEO::GUILIB::CVideoPlayActionProcessorBase
{
public:
explicit CVideoPlayActionProcessor(const std::shared_ptr<CFileItem>& item)
@@ -791,7 +790,7 @@ void CGUIDialogVideoInfo::Play(bool resume)
if (resume)
{
CVideoPlayActionProcessor proc{m_movieItem};
- proc.Process(PLAY_ACTION_RESUME);
+ proc.ProcessAction(VIDEO::GUILIB::ACTION_RESUME);
}
else
{
@@ -799,13 +798,13 @@ void CGUIDialogVideoInfo::Play(bool resume)
{
// if dialog has a resume button, play button has always the purpose to start from beginning
CVideoPlayActionProcessor proc{m_movieItem};
- proc.Process(PLAY_ACTION_PLAY_FROM_BEGINNING);
+ proc.ProcessAction(VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING);
}
else
{
// play button acts according to default play action setting
CVideoPlayActionProcessor proc{m_movieItem};
- proc.Process();
+ proc.ProcessDefaultAction();
if (proc.UserCancelled())
{
// The Resume dialog was closed without any choice
diff --git a/xbmc/video/dialogs/GUIDialogVideoVersion.cpp b/xbmc/video/dialogs/GUIDialogVideoVersion.cpp
index a8f380ab59..800d4ff311 100644
--- a/xbmc/video/dialogs/GUIDialogVideoVersion.cpp
+++ b/xbmc/video/dialogs/GUIDialogVideoVersion.cpp
@@ -371,7 +371,7 @@ void CGUIDialogVideoVersion::Play()
CloseAll();
CVideoPlayActionProcessor proc{m_videoItem, m_selectedVideoVersion};
- proc.Process();
+ proc.ProcessDefaultAction();
}
void CGUIDialogVideoVersion::Remove()
diff --git a/xbmc/video/guilib/CMakeLists.txt b/xbmc/video/guilib/CMakeLists.txt
index c5226897c4..a953270624 100644
--- a/xbmc/video/guilib/CMakeLists.txt
+++ b/xbmc/video/guilib/CMakeLists.txt
@@ -2,9 +2,8 @@ set(SOURCES VideoPlayActionProcessor.cpp
VideoSelectActionProcessor.cpp
VideoActionProcessorHelper.cpp)
-set(HEADERS VideoPlayAction.h
+set(HEADERS VideoAction.h
VideoPlayActionProcessor.h
- VideoSelectAction.h
VideoSelectActionProcessor.h
VideoActionProcessorHelper.h)
diff --git a/xbmc/video/guilib/VideoAction.h b/xbmc/video/guilib/VideoAction.h
new file mode 100644
index 0000000000..d2efd86d3c
--- /dev/null
+++ b/xbmc/video/guilib/VideoAction.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2023 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#pragma once
+
+namespace VIDEO
+{
+namespace GUILIB
+{
+// Note: Do not change the numerical values of the elements. Some of them are used as values for
+// the integer settings SETTING_MYVIDEOS_SELECTACTION and SETTING_MYVIDEOS_PLAYACTION.
+enum Action
+{
+ ACTION_CHOOSE = 0,
+ ACTION_PLAY_OR_RESUME = 1, // if resume is possible, ask user. play from beginning otherwise
+ ACTION_RESUME = 2, // resume if possibly, play from beginning otherwise
+ ACTION_INFO = 3,
+ ACTION_MORE = 4,
+ ACTION_PLAY_FROM_BEGINNING = 5, // play from beginning, also if resume would be possible
+ ACTION_PLAYPART = 6,
+ ACTION_QUEUE = 7,
+};
+} // namespace GUILIB
+} // namespace VIDEO
diff --git a/xbmc/video/guilib/VideoPlayAction.h b/xbmc/video/guilib/VideoPlayAction.h
deleted file mode 100644
index a566875602..0000000000
--- a/xbmc/video/guilib/VideoPlayAction.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2023 Team Kodi
- * This file is part of Kodi - https://kodi.tv
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- * See LICENSES/README.md for more information.
- */
-
-#pragma once
-
-namespace VIDEO
-{
-namespace GUILIB
-{
-// Note: Do not change the numerical values of the elements. Some of them are used as values for
-// the integer setting SETTING_MYVIDEOS_PLAYACTION.
-enum PlayAction
-{
- PLAY_ACTION_PLAY_OR_RESUME = 1, // if resume is possible, ask user. play from beginning otherwise
- PLAY_ACTION_RESUME = 2, // resume if possibly, play from beginning otherwise
- PLAY_ACTION_PLAY_FROM_BEGINNING = 5, // play from beginning, also if resume would be possible
-};
-} // namespace GUILIB
-} // namespace VIDEO
diff --git a/xbmc/video/guilib/VideoPlayActionProcessor.cpp b/xbmc/video/guilib/VideoPlayActionProcessor.cpp
index 7d508dca82..bea41524d8 100644
--- a/xbmc/video/guilib/VideoPlayActionProcessor.cpp
+++ b/xbmc/video/guilib/VideoPlayActionProcessor.cpp
@@ -20,54 +20,54 @@
using namespace VIDEO::GUILIB;
-PlayAction CVideoPlayActionProcessorBase::GetDefaultPlayAction()
+Action CVideoPlayActionProcessorBase::GetDefaultAction()
{
- return static_cast<PlayAction>(CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(
+ return static_cast<Action>(CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(
CSettings::SETTING_MYVIDEOS_PLAYACTION));
}
-bool CVideoPlayActionProcessorBase::Process()
+bool CVideoPlayActionProcessorBase::ProcessDefaultAction()
{
- return Process(GetDefaultPlayAction());
+ return ProcessAction(GetDefaultAction());
}
-bool CVideoPlayActionProcessorBase::Process(PlayAction playAction)
+bool CVideoPlayActionProcessorBase::ProcessAction(Action action)
{
m_userCancelled = false;
CVideoActionProcessorHelper procHelper{m_item, m_videoVersion};
-
- if (!m_versionChecked)
+ const auto videoVersion{procHelper.ChooseVideoVersion()};
+ if (videoVersion)
+ m_item = videoVersion;
+ else
{
- m_versionChecked = true;
- const auto videoVersion{procHelper.ChooseVideoVersion()};
- if (videoVersion)
- m_item = videoVersion;
- else
- {
- m_userCancelled = true;
- return true; // User cancelled the select menu. We're done.
- }
+ m_userCancelled = true;
+ return true; // User cancelled the select menu. We're done.
}
- switch (playAction)
+ return Process(action);
+}
+
+bool CVideoPlayActionProcessorBase::Process(Action action)
+{
+ switch (action)
{
- case PLAY_ACTION_PLAY_OR_RESUME:
+ case ACTION_PLAY_OR_RESUME:
{
- const VIDEO::GUILIB::PlayAction action = ChoosePlayOrResume();
- if (action < 0)
+ const Action selectedAction = ChoosePlayOrResume(*m_item);
+ if (selectedAction < 0)
{
m_userCancelled = true;
return true; // User cancelled the select menu. We're done.
}
- return Process(action);
+ return Process(selectedAction);
}
- case PLAY_ACTION_RESUME:
+ case ACTION_RESUME:
return OnResumeSelected();
- case PLAY_ACTION_PLAY_FROM_BEGINNING:
+ case ACTION_PLAY_FROM_BEGINNING:
return OnPlaySelected();
default:
@@ -76,19 +76,19 @@ bool CVideoPlayActionProcessorBase::Process(PlayAction playAction)
return false; // We did not handle the action.
}
-PlayAction CVideoPlayActionProcessorBase::ChoosePlayOrResume()
+Action CVideoPlayActionProcessorBase::ChoosePlayOrResume(const CFileItem& item)
{
- PlayAction action = PLAY_ACTION_PLAY_FROM_BEGINNING;
+ Action action = ACTION_PLAY_FROM_BEGINNING;
- const std::string resumeString = VIDEO_UTILS::GetResumeString(*m_item);
+ const std::string resumeString = VIDEO_UTILS::GetResumeString(item);
if (!resumeString.empty())
{
CContextButtons choices;
- choices.Add(PLAY_ACTION_RESUME, resumeString);
- choices.Add(PLAY_ACTION_PLAY_FROM_BEGINNING, 12021); // Play from beginning
+ choices.Add(ACTION_RESUME, resumeString);
+ choices.Add(ACTION_PLAY_FROM_BEGINNING, 12021); // Play from beginning
- action = static_cast<PlayAction>(CGUIDialogContextMenu::ShowAndGetChoice(choices));
+ action = static_cast<Action>(CGUIDialogContextMenu::ShowAndGetChoice(choices));
}
return action;
diff --git a/xbmc/video/guilib/VideoPlayActionProcessor.h b/xbmc/video/guilib/VideoPlayActionProcessor.h
index 25753bc6d0..33105be8ad 100644
--- a/xbmc/video/guilib/VideoPlayActionProcessor.h
+++ b/xbmc/video/guilib/VideoPlayActionProcessor.h
@@ -8,7 +8,7 @@
#pragma once
-#include "video/guilib/VideoPlayAction.h"
+#include "video/guilib/VideoAction.h"
#include <memory>
@@ -29,14 +29,17 @@ public:
}
virtual ~CVideoPlayActionProcessorBase() = default;
- static PlayAction GetDefaultPlayAction();
-
- bool Process();
- bool Process(PlayAction playAction);
+ bool ProcessDefaultAction();
+ bool ProcessAction(Action action);
bool UserCancelled() const { return m_userCancelled; }
+ static Action ChoosePlayOrResume(const CFileItem& item);
+
protected:
+ virtual Action GetDefaultAction();
+ virtual bool Process(Action action);
+
virtual bool OnResumeSelected() = 0;
virtual bool OnPlaySelected() = 0;
@@ -45,9 +48,7 @@ protected:
private:
CVideoPlayActionProcessorBase() = delete;
- PlayAction ChoosePlayOrResume();
- bool m_versionChecked{false};
const std::shared_ptr<const CFileItem> m_videoVersion;
};
} // namespace GUILIB
diff --git a/xbmc/video/guilib/VideoSelectAction.h b/xbmc/video/guilib/VideoSelectAction.h
deleted file mode 100644
index 731e0cf35b..0000000000
--- a/xbmc/video/guilib/VideoSelectAction.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2023 Team Kodi
- * This file is part of Kodi - https://kodi.tv
- *
- * SPDX-License-Identifier: GPL-2.0-or-later
- * See LICENSES/README.md for more information.
- */
-
-#pragma once
-
-namespace VIDEO
-{
-namespace GUILIB
-{
-// Note: Do not change the numerical values of the elements. Some of them are used as values for
-// the integer setting SETTING_MYVIDEOS_SELECTACTION.
-enum SelectAction
-{
- SELECT_ACTION_CHOOSE = 0,
- SELECT_ACTION_PLAY_OR_RESUME = 1,
- SELECT_ACTION_RESUME = 2,
- SELECT_ACTION_INFO = 3,
- SELECT_ACTION_MORE = 4,
- SELECT_ACTION_PLAY = 5,
- SELECT_ACTION_PLAYPART = 6,
- SELECT_ACTION_QUEUE = 7,
-};
-} // namespace GUILIB
-} // namespace VIDEO
diff --git a/xbmc/video/guilib/VideoSelectActionProcessor.cpp b/xbmc/video/guilib/VideoSelectActionProcessor.cpp
index 15fd6e5e4d..4458115bbf 100644
--- a/xbmc/video/guilib/VideoSelectActionProcessor.cpp
+++ b/xbmc/video/guilib/VideoSelectActionProcessor.cpp
@@ -22,56 +22,40 @@
#include "utils/Variant.h"
#include "video/VideoInfoTag.h"
#include "video/VideoUtils.h"
-#include "video/guilib/VideoActionProcessorHelper.h"
using namespace VIDEO::GUILIB;
-SelectAction CVideoSelectActionProcessorBase::GetDefaultSelectAction()
+Action CVideoSelectActionProcessorBase::GetDefaultSelectAction()
{
- return static_cast<SelectAction>(CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(
+ return static_cast<Action>(CServiceBroker::GetSettingsComponent()->GetSettings()->GetInt(
CSettings::SETTING_MYVIDEOS_SELECTACTION));
}
-bool CVideoSelectActionProcessorBase::Process()
+Action CVideoSelectActionProcessorBase::GetDefaultAction()
{
- return Process(GetDefaultSelectAction());
+ return GetDefaultSelectAction();
}
-bool CVideoSelectActionProcessorBase::Process(SelectAction selectAction)
+bool CVideoSelectActionProcessorBase::Process(Action action)
{
- CVideoActionProcessorHelper procHelper{m_item, m_videoVersion};
+ if (CVideoPlayActionProcessorBase::Process(action))
+ return true;
- if (!m_versionChecked)
+ switch (action)
{
- m_versionChecked = true;
- const auto videoVersion{procHelper.ChooseVideoVersion()};
- if (videoVersion)
- m_item = videoVersion;
- else
- return true; // User cancelled the select menu. We're done.
- }
-
- switch (selectAction)
- {
- case SELECT_ACTION_CHOOSE:
- {
- const SelectAction action = ChooseVideoItemSelectAction();
- if (action < 0)
- return true; // User cancelled the context menu. We're done.
-
- return Process(action);
- }
-
- case SELECT_ACTION_PLAY_OR_RESUME:
+ case ACTION_CHOOSE:
{
- const SelectAction action = ChoosePlayOrResume(*m_item);
- if (action < 0)
+ const Action selectedAction = ChooseVideoItemSelectAction();
+ if (selectedAction < 0)
+ {
+ m_userCancelled = true;
return true; // User cancelled the select menu. We're done.
+ }
- return Process(action);
+ return Process(selectedAction);
}
- case SELECT_ACTION_PLAYPART:
+ case ACTION_PLAYPART:
{
const unsigned int part = ChooseStackItemPartNumber();
if (part < 1) // part numbers are 1-based
@@ -80,19 +64,13 @@ bool CVideoSelectActionProcessorBase::Process(SelectAction selectAction)
return OnPlayPartSelected(part);
}
- case SELECT_ACTION_RESUME:
- return OnResumeSelected();
-
- case SELECT_ACTION_PLAY:
- return OnPlaySelected();
-
- case SELECT_ACTION_QUEUE:
+ case ACTION_QUEUE:
return OnQueueSelected();
- case SELECT_ACTION_INFO:
+ case ACTION_INFO:
return OnInfoSelected();
- case SELECT_ACTION_MORE:
+ case ACTION_MORE:
return OnMoreSelected();
default:
@@ -124,42 +102,24 @@ unsigned int CVideoSelectActionProcessorBase::ChooseStackItemPartNumber() const
return dialog->GetSelectedItem() + 1; // part numbers are 1-based
}
-SelectAction CVideoSelectActionProcessorBase::ChoosePlayOrResume(const CFileItem& item)
-{
- SelectAction action = SELECT_ACTION_PLAY;
-
- const std::string resumeString = VIDEO_UTILS::GetResumeString(item);
- if (!resumeString.empty())
- {
- CContextButtons choices;
-
- choices.Add(SELECT_ACTION_RESUME, resumeString);
- choices.Add(SELECT_ACTION_PLAY, 12021); // Play from beginning
-
- action = static_cast<SelectAction>(CGUIDialogContextMenu::ShowAndGetChoice(choices));
- }
-
- return action;
-}
-
-SelectAction CVideoSelectActionProcessorBase::ChooseVideoItemSelectAction() const
+Action CVideoSelectActionProcessorBase::ChooseVideoItemSelectAction() const
{
CContextButtons choices;
const std::string resumeString = VIDEO_UTILS::GetResumeString(*m_item);
if (!resumeString.empty())
{
- choices.Add(SELECT_ACTION_RESUME, resumeString);
- choices.Add(SELECT_ACTION_PLAY, 12021); // Play from beginning
+ choices.Add(ACTION_RESUME, resumeString);
+ choices.Add(ACTION_PLAY_FROM_BEGINNING, 12021); // Play from beginning
}
else
{
- choices.Add(SELECT_ACTION_PLAY, 208); // Play
+ choices.Add(ACTION_PLAY_FROM_BEGINNING, 208); // Play
}
- choices.Add(SELECT_ACTION_INFO, 22081); // Show information
- choices.Add(SELECT_ACTION_QUEUE, 13347); // Queue item
- choices.Add(SELECT_ACTION_MORE, 22082); // More
+ choices.Add(ACTION_INFO, 22081); // Show information
+ choices.Add(ACTION_QUEUE, 13347); // Queue item
+ choices.Add(ACTION_MORE, 22082); // More
- return static_cast<SelectAction>(CGUIDialogContextMenu::ShowAndGetChoice(choices));
+ return static_cast<Action>(CGUIDialogContextMenu::ShowAndGetChoice(choices));
}
diff --git a/xbmc/video/guilib/VideoSelectActionProcessor.h b/xbmc/video/guilib/VideoSelectActionProcessor.h
index a154921166..11217df5a6 100644
--- a/xbmc/video/guilib/VideoSelectActionProcessor.h
+++ b/xbmc/video/guilib/VideoSelectActionProcessor.h
@@ -8,7 +8,7 @@
#pragma once
-#include "video/guilib/VideoSelectAction.h"
+#include "video/guilib/VideoPlayActionProcessor.h"
#include <memory>
@@ -18,41 +18,37 @@ namespace VIDEO
{
namespace GUILIB
{
-class CVideoSelectActionProcessorBase
+class CVideoSelectActionProcessorBase : public CVideoPlayActionProcessorBase
{
public:
- explicit CVideoSelectActionProcessorBase(const std::shared_ptr<CFileItem>& item) : m_item(item) {}
+ explicit CVideoSelectActionProcessorBase(const std::shared_ptr<CFileItem>& item)
+ : CVideoPlayActionProcessorBase(item)
+ {
+ }
+
CVideoSelectActionProcessorBase(const std::shared_ptr<CFileItem>& item,
const std::shared_ptr<const CFileItem>& videoVersion)
- : m_item{item}, m_videoVersion{videoVersion}
+ : CVideoPlayActionProcessorBase(item, videoVersion)
{
}
- virtual ~CVideoSelectActionProcessorBase() = default;
-
- static SelectAction GetDefaultSelectAction();
- bool Process();
- bool Process(SelectAction selectAction);
+ ~CVideoSelectActionProcessorBase() override = default;
- static SelectAction ChoosePlayOrResume(const CFileItem& item);
+ static Action GetDefaultSelectAction();
protected:
+ Action GetDefaultAction() override;
+ bool Process(Action action) override;
+
virtual bool OnPlayPartSelected(unsigned int part) = 0;
- virtual bool OnResumeSelected() = 0;
- virtual bool OnPlaySelected() = 0;
virtual bool OnQueueSelected() = 0;
virtual bool OnInfoSelected() = 0;
virtual bool OnMoreSelected() = 0;
- std::shared_ptr<CFileItem> m_item;
-
private:
CVideoSelectActionProcessorBase() = delete;
- SelectAction ChooseVideoItemSelectAction() const;
+ Action ChooseVideoItemSelectAction() const;
unsigned int ChooseStackItemPartNumber() const;
-
- bool m_versionChecked{false};
- const std::shared_ptr<const CFileItem> m_videoVersion;
};
} // namespace GUILIB
} // namespace VIDEO
diff --git a/xbmc/video/windows/GUIWindowVideoBase.cpp b/xbmc/video/windows/GUIWindowVideoBase.cpp
index 7e7ee38705..99721ed0b8 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.cpp
+++ b/xbmc/video/windows/GUIWindowVideoBase.cpp
@@ -607,14 +607,14 @@ private:
};
} // namespace
-bool CGUIWindowVideoBase::OnFileAction(int iItem, SelectAction action, const std::string& player)
+bool CGUIWindowVideoBase::OnFileAction(int iItem, Action action, const std::string& player)
{
const std::shared_ptr<CFileItem> item = m_vecItems->Get(iItem);
if (!item)
return false;
CVideoSelectActionProcessor proc(*this, item, iItem, player);
- return proc.Process(action);
+ return proc.ProcessAction(action);
}
bool CGUIWindowVideoBase::OnItemInfo(int iItem)
@@ -754,13 +754,13 @@ protected:
bool OnResumeSelected() override
{
m_item->SetStartOffset(STARTOFFSET_RESUME);
- return m_window.OnFileAction(m_itemIndex, SELECT_ACTION_RESUME, m_player);
+ return m_window.OnFileAction(m_itemIndex, VIDEO::GUILIB::ACTION_RESUME, m_player);
}
bool OnPlaySelected() override
{
m_item->SetStartOffset(0);
- return m_window.OnFileAction(m_itemIndex, SELECT_ACTION_PLAY, m_player);
+ return m_window.OnFileAction(m_itemIndex, VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING, m_player);
}
private:
@@ -776,7 +776,7 @@ bool CGUIWindowVideoBase::OnPlayOrResumeItem(int iItem, const std::string& playe
return false;
CVideoPlayActionProcessor proc{*this, m_vecItems->Get(iItem), iItem, player};
- return proc.Process();
+ return proc.ProcessDefaultAction();
}
void CGUIWindowVideoBase::GetContextButtons(int itemNumber, CContextButtons &buttons)
@@ -851,13 +851,13 @@ bool CGUIWindowVideoBase::OnPlayStackPart(int itemIndex, unsigned int partNumber
CDirectory::GetDirectory(path, parts, "", DIR_FLAG_DEFAULTS);
const int value = CVideoSelectActionProcessor::ChoosePlayOrResume(*parts[partNumber - 1]);
- if (value == SELECT_ACTION_RESUME)
+ if (value == VIDEO::GUILIB::ACTION_RESUME)
{
const VIDEO_UTILS::ResumeInformation resumeInfo =
VIDEO_UTILS::GetItemResumeInformation(*parts[partNumber - 1]);
item->SetStartOffset(resumeInfo.startOffset);
}
- else if (value != SELECT_ACTION_PLAY)
+ else if (value != VIDEO::GUILIB::ACTION_PLAY_FROM_BEGINNING)
return false; // if not selected PLAY, then we changed our mind so return
item->m_lStartPartNumber = partNumber;
@@ -894,7 +894,7 @@ bool CGUIWindowVideoBase::OnContextButton(int itemNumber, CONTEXT_BUTTON button)
}
case CONTEXT_BUTTON_PLAY_PART:
{
- return OnFileAction(itemNumber, SELECT_ACTION_PLAYPART, "");
+ return OnFileAction(itemNumber, VIDEO::GUILIB::ACTION_PLAYPART, "");
}
case CONTEXT_BUTTON_PLAY_PARTYMODE:
diff --git a/xbmc/video/windows/GUIWindowVideoBase.h b/xbmc/video/windows/GUIWindowVideoBase.h
index 9916980d4a..1542ac4dce 100644
--- a/xbmc/video/windows/GUIWindowVideoBase.h
+++ b/xbmc/video/windows/GUIWindowVideoBase.h
@@ -11,7 +11,7 @@
#include "playlists/PlayListTypes.h"
#include "video/VideoDatabase.h"
#include "video/VideoThumbLoader.h"
-#include "video/guilib/VideoSelectAction.h"
+#include "video/guilib/VideoAction.h"
#include "windows/GUIMediaWindow.h"
namespace
@@ -95,7 +95,7 @@ protected:
\param action the action to perform
\return true if the action is performed, false otherwise
*/
- bool OnFileAction(int item, VIDEO::GUILIB::SelectAction action, const std::string& player);
+ bool OnFileAction(int item, VIDEO::GUILIB::Action action, const std::string& player);
void OnRestartItem(int iItem, const std::string &player = "");
bool OnPlayOrResumeItem(int iItem, const std::string& player = "");