From f5aeb707b0f68806edea2f92540507a0669b6fcd Mon Sep 17 00:00:00 2001 From: Chace Pratt <53922557+ChacePratt@users.noreply.github.com> Date: Thu, 18 Jun 2026 22:54:59 -0500 Subject: [PATCH] Add "Duplicate" button --- po/af/easyeffects.po | 9 +++-- po/ar/easyeffects.po | 9 +++-- po/bg/easyeffects.po | 9 +++-- po/ca/easyeffects.po | 9 +++-- po/cs/easyeffects.po | 9 +++-- po/da/easyeffects.po | 9 +++-- po/de/easyeffects.po | 9 +++-- po/easyeffects.pot | 8 +++-- po/es/easyeffects.po | 9 +++-- po/es_CO/easyeffects.po | 9 +++-- po/es_MX/easyeffects.po | 9 +++-- po/es_VE/easyeffects.po | 9 +++-- po/eu/easyeffects.po | 9 +++-- po/fa/easyeffects.po | 9 +++-- po/fr/easyeffects.po | 9 +++-- po/ga/easyeffects.po | 9 +++-- po/gl/easyeffects.po | 9 +++-- po/hr/easyeffects.po | 9 +++-- po/hu/easyeffects.po | 9 +++-- po/id_ID/easyeffects.po | 9 +++-- po/it_IT/easyeffects.po | 9 +++-- po/ja/easyeffects.po | 9 +++-- po/ka/easyeffects.po | 9 +++-- po/km/easyeffects.po | 9 +++-- po/ko/easyeffects.po | 9 +++-- po/nb_NO/easyeffects.po | 9 +++-- po/nl/easyeffects.po | 9 +++-- po/nn/easyeffects.po | 9 +++-- po/pl/easyeffects.po | 9 +++-- po/pt/easyeffects.po | 9 +++-- po/pt_BR/easyeffects.po | 9 +++-- po/ro/easyeffects.po | 9 +++-- po/ru/easyeffects.po | 9 +++-- po/sk/easyeffects.po | 9 +++-- po/sr/easyeffects.po | 9 +++-- po/sv/easyeffects.po | 9 +++-- po/ta/easyeffects.po | 9 +++-- po/th/easyeffects.po | 9 +++-- po/tr/easyeffects.po | 9 +++-- po/uk/easyeffects.po | 9 +++-- po/vi/easyeffects.po | 9 +++-- po/zh_CN/easyeffects.po | 9 +++-- po/zh_Hant/easyeffects.po | 9 +++-- src/contents/ui/DelegatePluginsList.qml | 47 +++++++++++++++++++++++++ src/contents/ui/PageStreamsEffects.qml | 9 +++++ 45 files changed, 356 insertions(+), 86 deletions(-) diff --git a/po/af/easyeffects.po b/po/af/easyeffects.po index 7cefefbbef..7c8aec48bf 100644 --- a/po/af/easyeffects.po +++ b/po/af/easyeffects.po @@ -1230,12 +1230,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "EasyEffects" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "EasyEffects" diff --git a/po/ar/easyeffects.po b/po/ar/easyeffects.po index a7bc5a4e59..06c73eb7f6 100644 --- a/po/ar/easyeffects.po +++ b/po/ar/easyeffects.po @@ -1283,11 +1283,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "بدل هذا التأثير" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "احذف هذا التأثير" diff --git a/po/bg/easyeffects.po b/po/bg/easyeffects.po index 1f2ed3f675..f3420a8352 100644 --- a/po/bg/easyeffects.po +++ b/po/bg/easyeffects.po @@ -1274,12 +1274,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Предварително задаване" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Предварително задаване" diff --git a/po/ca/easyeffects.po b/po/ca/easyeffects.po index 01758815f2..764568fd12 100644 --- a/po/ca/easyeffects.po +++ b/po/ca/easyeffects.po @@ -1252,11 +1252,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Silencia l'aplicació" diff --git a/po/cs/easyeffects.po b/po/cs/easyeffects.po index 5c18a1b029..186e925167 100644 --- a/po/cs/easyeffects.po +++ b/po/cs/easyeffects.po @@ -1227,11 +1227,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Není nastaven žádný popis" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Přepnout tento efekt" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Odstranit tento efekt" diff --git a/po/da/easyeffects.po b/po/da/easyeffects.po index 9b7dc29c53..39507c649f 100644 --- a/po/da/easyeffects.po +++ b/po/da/easyeffects.po @@ -1323,12 +1323,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Beskrivelse" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Fjern denne modelfil" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modelfil" diff --git a/po/de/easyeffects.po b/po/de/easyeffects.po index a0406c35d8..da33f66495 100644 --- a/po/de/easyeffects.po +++ b/po/de/easyeffects.po @@ -1267,11 +1267,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Keine Beschreibung festgelegt" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Diesen Effekt umschalten" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Diesen Effekt entfernen" diff --git a/po/easyeffects.pot b/po/easyeffects.pot index f48a0b3342..db3b75f903 100644 --- a/po/easyeffects.pot +++ b/po/easyeffects.pot @@ -1219,11 +1219,15 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "" diff --git a/po/es/easyeffects.po b/po/es/easyeffects.po index d8004b7ef2..31ed603d65 100644 --- a/po/es/easyeffects.po +++ b/po/es/easyeffects.po @@ -1239,11 +1239,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Sin descripción" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Alternar este efecto" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Quitar este efecto" diff --git a/po/es_CO/easyeffects.po b/po/es_CO/easyeffects.po index 7af1bb3d3b..11b5564f36 100644 --- a/po/es_CO/easyeffects.po +++ b/po/es_CO/easyeffects.po @@ -1332,12 +1332,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Detección" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Borrar este perfil" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" diff --git a/po/es_MX/easyeffects.po b/po/es_MX/easyeffects.po index 0d107b16ff..db83fea1d4 100644 --- a/po/es_MX/easyeffects.po +++ b/po/es_MX/easyeffects.po @@ -1236,11 +1236,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Sin descripción" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Alternar este efecto" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Quitar este efecto" diff --git a/po/es_VE/easyeffects.po b/po/es_VE/easyeffects.po index e7af9362c5..6b92750703 100644 --- a/po/es_VE/easyeffects.po +++ b/po/es_VE/easyeffects.po @@ -1330,12 +1330,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Detección" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Borrar este perfil" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Borrar este perfil" diff --git a/po/eu/easyeffects.po b/po/eu/easyeffects.po index a37bf0e56d..1eecddfb3a 100644 --- a/po/eu/easyeffects.po +++ b/po/eu/easyeffects.po @@ -1300,12 +1300,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Deskribapena" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Inportatu aurrezarpena" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Inportatu aurrezarpena" diff --git a/po/fa/easyeffects.po b/po/fa/easyeffects.po index 24d49859b6..efcd278a0e 100644 --- a/po/fa/easyeffects.po +++ b/po/fa/easyeffects.po @@ -1316,12 +1316,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "توضیحات" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "فعال/غیرفعال کردن این افکت" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "حذف این افکت" diff --git a/po/fr/easyeffects.po b/po/fr/easyeffects.po index dd3f713030..4e7ae6206b 100644 --- a/po/fr/easyeffects.po +++ b/po/fr/easyeffects.po @@ -1232,11 +1232,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Description non définie" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Basculer cet effet" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Supprimer cet effet" diff --git a/po/ga/easyeffects.po b/po/ga/easyeffects.po index fc9f19dc18..79af215529 100644 --- a/po/ga/easyeffects.po +++ b/po/ga/easyeffects.po @@ -1233,11 +1233,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Níl aon tuairisc socraithe" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Scoraigh an éifeacht seo" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Bain an éifeacht seo" diff --git a/po/gl/easyeffects.po b/po/gl/easyeffects.po index 4875848f96..4f57ebcac0 100644 --- a/po/gl/easyeffects.po +++ b/po/gl/easyeffects.po @@ -1329,12 +1329,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Descrición" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Retirar este ficheiro de preconfiguracións" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Retirar este ficheiro de preconfiguracións" diff --git a/po/hr/easyeffects.po b/po/hr/easyeffects.po index d15eeb99c4..f41ef55652 100644 --- a/po/hr/easyeffects.po +++ b/po/hr/easyeffects.po @@ -1303,11 +1303,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Opis nije postavljen" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Uključi/Isključi ovaj efekt" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Ukloni ovaj efekt" diff --git a/po/hu/easyeffects.po b/po/hu/easyeffects.po index 5a9e8cb414..fa761ccfb8 100644 --- a/po/hu/easyeffects.po +++ b/po/hu/easyeffects.po @@ -1303,12 +1303,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Leírás" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Beállítás Importálás" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Beállítás Importálás" diff --git a/po/id_ID/easyeffects.po b/po/id_ID/easyeffects.po index ad3b1258d7..5650279c49 100644 --- a/po/id_ID/easyeffects.po +++ b/po/id_ID/easyeffects.po @@ -1228,11 +1228,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Tidak ada deskripsi yang diatur" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Alihkan efek ini" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Hapus efek ini" diff --git a/po/it_IT/easyeffects.po b/po/it_IT/easyeffects.po index 9174bcc1c1..3e1bb522ec 100644 --- a/po/it_IT/easyeffects.po +++ b/po/it_IT/easyeffects.po @@ -1234,11 +1234,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Descrizione non impostata" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Abilita/disabilita questo effetto" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Rimuovi questo effetto" diff --git a/po/ja/easyeffects.po b/po/ja/easyeffects.po index 1b970e82d3..fab912b3e1 100644 --- a/po/ja/easyeffects.po +++ b/po/ja/easyeffects.po @@ -1250,11 +1250,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "説明が設定されていません" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "このエフェクトの有効化/無効化" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "このエフェクトを削除" diff --git a/po/ka/easyeffects.po b/po/ka/easyeffects.po index e9e71e30eb..f25ad1df31 100644 --- a/po/ka/easyeffects.po +++ b/po/ka/easyeffects.po @@ -1268,12 +1268,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "აღწერა" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "პრესეტის შემოტანა" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "პრესეტის შემოტანა" diff --git a/po/km/easyeffects.po b/po/km/easyeffects.po index a4369b5c43..2150c8fe97 100644 --- a/po/km/easyeffects.po +++ b/po/km/easyeffects.po @@ -1221,11 +1221,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "" diff --git a/po/ko/easyeffects.po b/po/ko/easyeffects.po index b2945bddfa..58cbd10671 100644 --- a/po/ko/easyeffects.po +++ b/po/ko/easyeffects.po @@ -1306,12 +1306,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "이 효과 제거하기" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "이 효과 제거하기" diff --git a/po/nb_NO/easyeffects.po b/po/nb_NO/easyeffects.po index f6a4409134..8062000c31 100644 --- a/po/nb_NO/easyeffects.po +++ b/po/nb_NO/easyeffects.po @@ -1311,12 +1311,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Beskrivelse" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Fjern denne modellfilen" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Fjern denne modellfilen" diff --git a/po/nl/easyeffects.po b/po/nl/easyeffects.po index df60e39216..4c1b601406 100644 --- a/po/nl/easyeffects.po +++ b/po/nl/easyeffects.po @@ -1247,11 +1247,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Geen omschrijving ingesteld" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Dit effect omschakelen" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Dit effect verwijderen" diff --git a/po/nn/easyeffects.po b/po/nn/easyeffects.po index 71d9b8489a..7c632b5282 100644 --- a/po/nn/easyeffects.po +++ b/po/nn/easyeffects.po @@ -1302,12 +1302,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Skildring" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Importer førehandsinnstillingar" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Importer førehandsinnstillingar" diff --git a/po/pl/easyeffects.po b/po/pl/easyeffects.po index c44809bfcc..cb9bec7706 100644 --- a/po/pl/easyeffects.po +++ b/po/pl/easyeffects.po @@ -1248,11 +1248,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Nie ustawiono opisu" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Włącz/wyłącz ten efekt" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Usuń ten efekt" diff --git a/po/pt/easyeffects.po b/po/pt/easyeffects.po index c593125d8f..ce9f32a242 100644 --- a/po/pt/easyeffects.po +++ b/po/pt/easyeffects.po @@ -1231,11 +1231,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Nenhuma descrição definida" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Ative/desative este efeito" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Remover este efeito" diff --git a/po/pt_BR/easyeffects.po b/po/pt_BR/easyeffects.po index 81c15426b5..779b408eed 100644 --- a/po/pt_BR/easyeffects.po +++ b/po/pt_BR/easyeffects.po @@ -1233,11 +1233,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Nenhuma descrição definida" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Ative/desative este efeito" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Remover esse efeito" diff --git a/po/ro/easyeffects.po b/po/ro/easyeffects.po index e52c6fc4d7..50e866a5b7 100644 --- a/po/ro/easyeffects.po +++ b/po/ro/easyeffects.po @@ -1234,11 +1234,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Nu există descriere" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Activează acest efect" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Elimină acest efect" diff --git a/po/ru/easyeffects.po b/po/ru/easyeffects.po index af4e04417f..4ab191e794 100644 --- a/po/ru/easyeffects.po +++ b/po/ru/easyeffects.po @@ -1252,11 +1252,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Описание не задано" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Включить/отключить этот эффект" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Убрать этот эффект" diff --git a/po/sk/easyeffects.po b/po/sk/easyeffects.po index f78aee3820..f84ac8784c 100644 --- a/po/sk/easyeffects.po +++ b/po/sk/easyeffects.po @@ -1333,12 +1333,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Detekcia" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Odstrániť predvoľbu" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Odstrániť predvoľbu" diff --git a/po/sr/easyeffects.po b/po/sr/easyeffects.po index b96641629d..44a1adf91a 100644 --- a/po/sr/easyeffects.po +++ b/po/sr/easyeffects.po @@ -1227,11 +1227,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "" diff --git a/po/sv/easyeffects.po b/po/sv/easyeffects.po index 1bf618f195..5bcd36bc98 100644 --- a/po/sv/easyeffects.po +++ b/po/sv/easyeffects.po @@ -1296,12 +1296,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Beskrivning" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Ta bort denna effekt" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Ta bort denna effekt" diff --git a/po/ta/easyeffects.po b/po/ta/easyeffects.po index 476e83fcb7..3d8c4ad00f 100644 --- a/po/ta/easyeffects.po +++ b/po/ta/easyeffects.po @@ -1234,11 +1234,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "விளக்கம் எதுவும் அமைக்கப்படவில்லை" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "இந்த விளைவை மாற்றவும்" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "இந்த விளைவை அகற்றவும்" diff --git a/po/th/easyeffects.po b/po/th/easyeffects.po index 8596d8d219..cc5518bba8 100644 --- a/po/th/easyeffects.po +++ b/po/th/easyeffects.po @@ -1221,11 +1221,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "" diff --git a/po/tr/easyeffects.po b/po/tr/easyeffects.po index cfd849aebb..112911002f 100644 --- a/po/tr/easyeffects.po +++ b/po/tr/easyeffects.po @@ -1324,12 +1324,17 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Açıklama" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 #, fuzzy msgid "Toggle this effect" msgstr "Bu efekti etkinleştir/devre dışı bırak" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 #, fuzzy msgid "Remove this effect" msgstr "Bu efekti kaldır" diff --git a/po/uk/easyeffects.po b/po/uk/easyeffects.po index de4427324f..772c0ac1d2 100644 --- a/po/uk/easyeffects.po +++ b/po/uk/easyeffects.po @@ -1231,11 +1231,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "Опис не встановлено" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "Увімкнути цей ефект" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "Вилучити цей ефект" diff --git a/po/vi/easyeffects.po b/po/vi/easyeffects.po index 1aa8394fad..0c26d32d01 100644 --- a/po/vi/easyeffects.po +++ b/po/vi/easyeffects.po @@ -1219,11 +1219,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "" diff --git a/po/zh_CN/easyeffects.po b/po/zh_CN/easyeffects.po index 0f3b8c6eb8..d2cac598e0 100644 --- a/po/zh_CN/easyeffects.po +++ b/po/zh_CN/easyeffects.po @@ -1224,11 +1224,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "未设置描述" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "开关此音效" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "移除此音效" diff --git a/po/zh_Hant/easyeffects.po b/po/zh_Hant/easyeffects.po index ad88ca9ba4..b381b19874 100644 --- a/po/zh_Hant/easyeffects.po +++ b/po/zh_Hant/easyeffects.po @@ -1223,11 +1223,16 @@ msgctxt "@info:placeholder" msgid "No description set" msgstr "沒有描述設定" -#: src/contents/ui/DelegatePluginsList.qml:119 +#: src/contents/ui/DelegatePluginsList.qml:160 msgid "Toggle this effect" msgstr "切換此音效" -#: src/contents/ui/DelegatePluginsList.qml:127 +#, empty +#: src/contents/ui/DelegatePluginsList.qml:168 +msgid "Duplicate this effect" +msgstr "" + +#: src/contents/ui/DelegatePluginsList.qml:174 msgid "Remove this effect" msgstr "移除此音效" diff --git a/src/contents/ui/DelegatePluginsList.qml b/src/contents/ui/DelegatePluginsList.qml index 72df27841d..bc260b877d 100644 --- a/src/contents/ui/DelegatePluginsList.qml +++ b/src/contents/ui/DelegatePluginsList.qml @@ -40,6 +40,7 @@ Item { readonly property bool bypass: delegateItem.pluginDB?.bypass ?? false signal selectedChanged(string name) + signal duplicate(string oldName, string newName) width: ListView.view.width @@ -76,6 +77,46 @@ Item { delegateItem.pluginDB.bypass = !checked; } + function duplicateEffect() { + let plugins = delegateItem.streamDB.plugins.slice(); + + let index_list = []; + let baseName = delegateItem.name.replace(/#\d+$/, ""); + + // get a list of every plugin index # + for (let n = 0; n < plugins.length; n++) { + if (plugins[n].startsWith(baseName)) { + const m = plugins[n].match(/#(\d+)$/); + if (m.length === 2) { + index_list.push(m[1]); + } + } + } + + // base the new plugin off the highest index # + const new_id = (index_list.length === 0) ? null : Math.max.apply(null, index_list) + 1; + + // create the new plugin name (used as a unique identifier) + const newName = baseName + "#" + new_id; + + // since we are duplicating, new_id should NEVER be null + if (new_id != null) { + // add to list + plugins.splice(delegateItem.index + 1, 0, newName); + + // save list + delegateItem.streamDB.plugins = plugins; + + // select new plugin + delegateItem.streamDB.visiblePlugin = newName; + + // update new plugin with original plugin's data + delegateItem.duplicate(delegateItem.name, newName); + + appWindow.showStatus(i18n("Added a new effect to the pipeline: %1", `${delegateItem.translatedName}`), Kirigami.MessageType.Positive); // qmllint disable + } + } + function removedEffect() { /** * If the selected item is removed we set the one before @@ -123,6 +164,12 @@ Item { checked: !bypass onTriggered: pluginRowItem.toggledEffect(checked) }, + Kirigami.Action { + text: i18n("Duplicate this effect") // qmllint disable + icon.name: "document-duplicate" + displayHint: DbMain.reducePluginsListControls ? Kirigami.DisplayHint.AlwaysHide : (Kirigami.DisplayHint.IconOnly | Kirigami.DisplayHint.KeepVisible) + onTriggered: pluginRowItem.duplicateEffect() + }, Kirigami.Action { text: i18n("Remove this effect") // qmllint disable icon.name: "delete" diff --git a/src/contents/ui/PageStreamsEffects.qml b/src/contents/ui/PageStreamsEffects.qml index 8be8771edc..b62b187121 100644 --- a/src/contents/ui/PageStreamsEffects.qml +++ b/src/contents/ui/PageStreamsEffects.qml @@ -460,6 +460,15 @@ Kirigami.Page { pagePluginsGrid.createPluginStack(name, baseName, pageStreamsEffects.pluginsDB[name]); } + } + onDuplicate: (oldName, newName) => { + for (let key in pageStreamsEffects.pluginsDB[oldName]) { + try { + pageStreamsEffects.pluginsDB[newName][key] = pageStreamsEffects.pluginsDB[oldName][key] + } catch (e) { + // Skip read-only values + } + } } }