diff options
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 = ""); |