diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f0c2769b..9016144a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,12 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.74.0") # handled by release scripts -set(KF5_DEP_VERSION "5.73.0") # handled by release scripts +set(KF5_VERSION "5.75.0") # handled by release scripts +set(KF5_DEP_VERSION "5.75.0") # handled by release scripts project(Plasma VERSION ${KF5_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.73.0 NO_MODULE) +find_package(ECM 5.75.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/KF5PlasmaMacros.cmake b/KF5PlasmaMacros.cmake index 494b42d56..80b3fd8dd 100644 --- a/KF5PlasmaMacros.cmake +++ b/KF5PlasmaMacros.cmake @@ -1,6 +1,5 @@ -find_package(ECM 1.6.0 CONFIG REQUIRED) -include(${ECM_KDE_MODULE_DIR}/KDEInstallDirs.cmake) +include(KDEInstallDirs) set(PLASMA_RELATIVE_DATA_INSTALL_DIR "plasma") set(PLASMA_DATA_INSTALL_DIR "${KDE_INSTALL_DATADIR}/${PLASMA_RELATIVE_DATA_INSTALL_DIR}") diff --git a/autotests/data/plasma/desktoptheme/testtheme/metadata.desktop b/autotests/data/plasma/desktoptheme/testtheme/metadata.desktop index 3de26dbcc..470510ecc 100644 --- a/autotests/data/plasma/desktoptheme/testtheme/metadata.desktop +++ b/autotests/data/plasma/desktoptheme/testtheme/metadata.desktop @@ -8,7 +8,6 @@ X-KDE-PluginInfo-Name=default X-KDE-PluginInfo-Version=5.20 X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/autotests/data/signedPackage/metadata.desktop b/autotests/data/signedPackage/metadata.desktop index c7965092a..feaddbb7b 100644 --- a/autotests/data/signedPackage/metadata.desktop +++ b/autotests/data/signedPackage/metadata.desktop @@ -91,7 +91,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.simpified-javascript-http-example X-KDE-PluginInfo-Version=0.1 X-KDE-PluginInfo-Website= X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-Plasma-OptionalExtensions=http diff --git a/autotests/data/testconfigpackage/contents/config/config.qml b/autotests/data/testconfigpackage/contents/config/config.qml index fe6ab8bd4..fade1cb41 100644 --- a/autotests/data/testconfigpackage/contents/config/config.qml +++ b/autotests/data/testconfigpackage/contents/config/config.qml @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2016 David Rosca + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import org.kde.plasma.configuration 2.0 diff --git a/autotests/data/testconfigpackage/contents/ui/ConfigGeneral.qml b/autotests/data/testconfigpackage/contents/ui/ConfigGeneral.qml index cde850a9d..3b0851f1b 100644 --- a/autotests/data/testconfigpackage/contents/ui/ConfigGeneral.qml +++ b/autotests/data/testconfigpackage/contents/ui/ConfigGeneral.qml @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2016 David Rosca + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Rectangle { diff --git a/autotests/data/testconfigpackage/contents/ui/main.qml b/autotests/data/testconfigpackage/contents/ui/main.qml index cde850a9d..3b0851f1b 100644 --- a/autotests/data/testconfigpackage/contents/ui/main.qml +++ b/autotests/data/testconfigpackage/contents/ui/main.qml @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2016 David Rosca + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Rectangle { diff --git a/autotests/data/testfallbackpackage/contents/ui/main.qml b/autotests/data/testfallbackpackage/contents/ui/main.qml index cde850a9d..c23e1707f 100644 --- a/autotests/data/testfallbackpackage/contents/ui/main.qml +++ b/autotests/data/testfallbackpackage/contents/ui/main.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2014 Marco Martin + * SPDX-FileCopyrightText: 2014 Vishesh Handa + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Rectangle { diff --git a/autotests/data/testpackage/contents/ui/main.qml b/autotests/data/testpackage/contents/ui/main.qml index cde850a9d..7a8ff9bff 100644 --- a/autotests/data/testpackage/contents/ui/main.qml +++ b/autotests/data/testpackage/contents/ui/main.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2014 Marco Martin + * SPDX-FileCopyrightText: 2014 Sebastian Kügler + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Rectangle { diff --git a/autotests/data/testpackage/contents/ui/otherfile.qml b/autotests/data/testpackage/contents/ui/otherfile.qml index cde850a9d..c23e1707f 100644 --- a/autotests/data/testpackage/contents/ui/otherfile.qml +++ b/autotests/data/testpackage/contents/ui/otherfile.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2014 Marco Martin + * SPDX-FileCopyrightText: 2014 Vishesh Handa + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Rectangle { diff --git a/autotests/data/view.qml b/autotests/data/view.qml index 43c05aee0..4475dd9a4 100644 --- a/autotests/data/view.qml +++ b/autotests/data/view.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2016 David Rosca + * SPDX-FileCopyrightText: 2016 Marco Martin + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 Item { width: 100 diff --git a/autotests/pluginloadertest.cpp b/autotests/pluginloadertest.cpp index 1b91b690f..db70ee3f2 100644 --- a/autotests/pluginloadertest.cpp +++ b/autotests/pluginloadertest.cpp @@ -8,11 +8,9 @@ #include #include -//#include #include #include -//#include #include #include diff --git a/autotests/themetest.cpp b/autotests/themetest.cpp index add6f3832..aaae05e9b 100644 --- a/autotests/themetest.cpp +++ b/autotests/themetest.cpp @@ -75,8 +75,10 @@ void ThemeTest::loadSvgIcon() QString cacheId = CACHE_ID_WITH_SIZE(QSize(48, 48), iconPath, Plasma::Svg::Normal, m_svg->devicePixelRatio()) % QLSEP % QString::number(m_svg->colorGroup()); + QFileInfo info(iconPath); + QPixmap result; - QVERIFY(m_svg->theme()->findInCache(cacheId, result)); + QVERIFY(m_svg->theme()->findInCache(cacheId, result, info.lastModified().toSecsSinceEpoch())); QSignalSpy spy(m_svg, SIGNAL(repaintNeeded())); QVERIFY(spy.isValid()); diff --git a/examples/applets/bugreport/metadata.desktop b/examples/applets/bugreport/metadata.desktop index a4bf5bb31..eed34b15a 100644 --- a/examples/applets/bugreport/metadata.desktop +++ b/examples/applets/bugreport/metadata.desktop @@ -30,6 +30,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਵਿੱਚ ਬੱਗ ਦੀ ਜਾਣਕਾਰ Comment[pl]=Zgłoś błąd w Plazmie Comment[pt]=Comunicar um erro no Plasma Comment[pt_BR]=Comunicar um erro no Plasma +Comment[ro]=Raportează o problemă în Plasma Comment[ru]=Отчёт об ошибке в Plasma Comment[sk]=Oznámiť chybu v Plasma Comment[sl]=Poročaj o napaki v Plasmi @@ -41,6 +42,7 @@ Comment[sv]=Rapportera ett fel i Plasma Comment[tg]=Гузориш дар бораи хатои Plasma Comment[tr]=Plasma'da hata raporla Comment[uk]=Повідомити про ваду у Плазмі +Comment[vi]=Báo một lỗi trong Plasma Comment[x-test]=xxReport a bug in Plasmaxx Comment[zh_CN]=报告 Plasma 的错误 Comment[zh_TW]=在 Plasma 中回報問題 @@ -70,6 +72,7 @@ Keywords[nn]=plasma;bugzilla;feil;utvikling;støtte; Keywords[pl]=plazma;bugzilla;błąd;rozwój;programowanie;wsparcie;obsługa; Keywords[pt]=plasma;bugzilla;erro;desenvolvimento;suporte; Keywords[pt_BR]=plasma;bugzilla;erro;bug;desenvolvimento;suporte; +Keywords[ro]=plasma;bugzilla;bug;development;suport;problemă; Keywords[ru]=plasma;bugzilla;bug;development;support;ошибка;сбой;поддержка;разработка; Keywords[sk]=plasma;bugzilla;chyba;vývoj;podpora; Keywords[sl]=plasma;bugzilla;hrošč;napaka;razvoj;podpora; @@ -81,6 +84,7 @@ Keywords[sv]=plasma;bugzilla;fel;utveckling;support; Keywords[tg]=plasma;bugzilla;хато;барномарезӣ;дастгирӣ; Keywords[tr]=plazma;bugzilla;hata;geliştirme;destek;plasma; Keywords[uk]=plasma;bugzilla;bug;development;support;плазма;багзілла;вада;баг;розробка;підтримка;супровід;помилка; +Keywords[vi]=plasma;bugzilla;lỗi;phát triển;hỗ trợ; Keywords[x-test]=xxplasmaxx;xxbugzillaxx;xxbugxx;xxdevelopmentxx;xxsupportxx; Keywords[zh_CN]=plasma;bugzilla;bug;development;support;错误;开发;支持; Keywords[zh_TW]=plasma;bugzilla;bug;development;support; @@ -115,6 +119,7 @@ Name[pa]=ਬੱਗ Name[pl]=Błąd Name[pt]=Insecto Name[pt_BR]=Erro +Name[ro]=Problemă Name[ru]=Ошибка Name[sk]=Chyba Name[sl]=Hrošč @@ -126,6 +131,7 @@ Name[sv]=Fel Name[tg]=Хато Name[tr]=Hata Name[uk]=Вада +Name[vi]=Lỗi Name[x-test]=xxBugxx Name[zh_CN]=臭虫 Name[zh_TW]=錯誤 diff --git a/examples/applets/compactrepresentation/metadata.desktop b/examples/applets/compactrepresentation/metadata.desktop index 402faf7ab..5310f1a2a 100644 --- a/examples/applets/compactrepresentation/metadata.desktop +++ b/examples/applets/compactrepresentation/metadata.desktop @@ -32,6 +32,7 @@ Name[nn]=hei, verda Name[pl]=witaj świecie Name[pt]=olá mundo Name[pt_BR]=Olá mundo +Name[ro]=salut lume Name[ru]=Здравствуй, мир! Name[sk]=ahoj svet Name[sl]=pozdravljen svet @@ -43,6 +44,7 @@ Name[sv]=hello world Name[tg]=Салом ҷаҳон Name[tr]=Merhaba Dünya Name[uk]=Привіт, світе +Name[vi]=chào thế giới Name[x-test]=xxhello worldxx Name[zh_CN]=hello world Name[zh_TW]=hello world diff --git a/examples/applets/conditionalloader/metadata.desktop b/examples/applets/conditionalloader/metadata.desktop index e5a0a4811..747ef6d20 100644 --- a/examples/applets/conditionalloader/metadata.desktop +++ b/examples/applets/conditionalloader/metadata.desktop @@ -33,6 +33,7 @@ Name[pa]=ਐਪਲਿਟ ਟੈਸਟ Name[pl]=Próba apletu Name[pt]=Teste de 'Applets' Name[pt_BR]=Teste de miniaplicativo +Name[ro]=Test miniaplicație Name[ru]=Тестовый виджет Name[sk]=Test Appletu Name[sl]=Preizkus apleta @@ -44,6 +45,7 @@ Name[sv]=Miniprogramtest Name[tg]=Санҷиши зербарнома Name[tr]=Uygulama Programı Testi Name[uk]=Тест аплету +Name[vi]=Kiểm thử tiểu ứng dụng Name[x-test]=xxApplet Testxx Name[zh_CN]=小部件测试 Name[zh_TW]=小程式測試 diff --git a/examples/applets/config/metadata.desktop b/examples/applets/config/metadata.desktop index 154912c58..c443ee7ab 100644 --- a/examples/applets/config/metadata.desktop +++ b/examples/applets/config/metadata.desktop @@ -32,6 +32,7 @@ Name[pa]=ਸੰਰਚਨਾ ਟੈਸਟ Name[pl]=Próba ustawień Name[pt]=Teste de configuração Name[pt_BR]=Teste de configuração +Name[ro]=Test configurări Name[ru]=Тестовая конфигурация Name[sk]=Test nastavenia Name[sl]=Preizkus nastavitev @@ -43,6 +44,7 @@ Name[sv]=Inställningstest Name[tg]=Санҷиши танзимот Name[tr]=Yapılandırma Testi Name[uk]=Перевірка налаштувань +Name[vi]=Kiểm thử cấu hình Name[x-test]=xxConfiguration testxx Name[zh_CN]=配置测试 Name[zh_TW]=設定測試 diff --git a/examples/applets/dataenginemodel/metadata.desktop b/examples/applets/dataenginemodel/metadata.desktop index 05443804d..4affe57ad 100644 --- a/examples/applets/dataenginemodel/metadata.desktop +++ b/examples/applets/dataenginemodel/metadata.desktop @@ -36,6 +36,7 @@ Comment[sv]=Miniprogramexempel som visar hur modeller används inbäddade i data Comment[tg]=Мисоли зербарномае, ки тарзи истифодаи намунаҳои дарунсохтро дар DataEngines нишон медиҳад Comment[tr]=VeriMotorları içinde gömülü Modellerin nasıl kullanılacağını gösteren uygulama programı örneği Comment[uk]=Приклад аплету, який демонструє використання моделей, вбудованих до рушіїв даних +Comment[vi]=Tiểu ứng dụng ví dụ cho thấy cách dùng các Model trong DataEngine Comment[x-test]=xxExample applet that shows how to use Models embedded in DataEnginesxx Comment[zh_CN]=展示如何使用数据引擎内嵌的模型的样例小部件 Comment[zh_TW]=顯示如何使用嵌入於資料引擎中的模型的範例小程式 @@ -67,6 +68,7 @@ Name[nn]=Datamotor-modell Name[pl]=Model silnika danych Name[pt]=Modelo de motor de dados Name[pt_BR]=Modelo de mecanismo de dados +Name[ro]=Model de motor de date Name[ru]=Модель в источнике данных Plasma Name[sk]=Model dátového enginu Name[sl]=Model podatkovnega pogona @@ -78,6 +80,7 @@ Name[sv]=Datagränssnittsmodell Name[tg]=Намунаи Dataengine Name[tr]=Veri motoru modeli Name[uk]=Модель рушія даних +Name[vi]=Model Dataengine Name[x-test]=xxDataengine modelxx Name[zh_CN]=数据引擎模型 Name[zh_TW]=資料引擎模型 diff --git a/examples/applets/helloworld/metadata.desktop b/examples/applets/helloworld/metadata.desktop index 41e6c2f31..b1d28d126 100644 --- a/examples/applets/helloworld/metadata.desktop +++ b/examples/applets/helloworld/metadata.desktop @@ -32,6 +32,7 @@ Name[nn]=hei, verda Name[pl]=witaj świecie Name[pt]=olá mundo Name[pt_BR]=Olá mundo +Name[ro]=salut lume Name[ru]=Здравствуй, мир! Name[sk]=ahoj svet Name[sl]=pozdravljen svet @@ -43,6 +44,7 @@ Name[sv]=hello world Name[tg]=Салом ҷаҳон Name[tr]=Merhaba Dünya Name[uk]=Привіт, світе +Name[vi]=chào thế giới Name[x-test]=xxhello worldxx Name[zh_CN]=hello world Name[zh_TW]=hello world diff --git a/examples/applets/notes/metadata.desktop b/examples/applets/notes/metadata.desktop index 462a131d3..940ab5a02 100644 --- a/examples/applets/notes/metadata.desktop +++ b/examples/applets/notes/metadata.desktop @@ -69,6 +69,7 @@ Name[nn]=Eksempelnotat Name[pl]=Uwagi do przykładu Name[pt]=Notas de exemplo Name[pt_BR]=Notas de exemplo +Name[ro]=Notițe ca exemplu Name[ru]=Пример с заметками Name[sk]=Ukážkové poznámky Name[sl]=Primeri sporočilc @@ -80,6 +81,7 @@ Name[sv]=Exempelanteckningar Name[tg]=Қайдҳои намунавӣ Name[tr]=Örnek notlar Name[uk]=Приклад нотаток +Name[vi]=Ghi chú ví dụ Name[x-test]=xxExample notesxx Name[zh_CN]=示例便笺 Name[zh_TW]=範例備忘 diff --git a/examples/applets/nowplaying/metadata.desktop b/examples/applets/nowplaying/metadata.desktop index 3ba24db31..ca8e10641 100644 --- a/examples/applets/nowplaying/metadata.desktop +++ b/examples/applets/nowplaying/metadata.desktop @@ -29,6 +29,7 @@ Name[nn]=Spelar no (QML) Name[pl]=Teraz odtwarzane (QML) Name[pt]=Agora a tocar (QML) Name[pt_BR]=Reproduzindo (QML) +Name[ro]=În redare (QML) Name[ru]=Сейчас играет (QML) Name[sk]=Práve hrám (QML) Name[sl]=Trenutno se predvaja (QML) @@ -40,6 +41,7 @@ Name[sv]=Spelar nu (QML) Name[tg]=Дар ҳоли пахш (QML) Name[tr]=Şimdi çalıyor (QML) Name[uk]=Зараз відтворюється (QML) +Name[vi]=Đang phát (QML) Name[x-test]=xxNow playing (QML)xx Name[zh_CN]=正在播放 (QML) Name[zh_TW]=現正播放(QML) @@ -82,6 +84,7 @@ Comment[sv]=Ett koncept för styrning av mediaspelare i QML Comment[tg]=Санҷиши назоратчии qml барои плеери медиаи аслӣ Comment[tr]=Bir ortam oynatıcısı denetçisi qml 'in kavram kanıtı Comment[uk]=Тестова програма для спостереження за відтворенням мультимедійних даних, написана мовою qml +Comment[vi]=Một trình điều khiển và phát phương tiện thử nghiệm viết bằng QML Comment[x-test]=xxA proof of concept media player controller qmlxx Comment[zh_CN]=媒体播放器控制器 QML 版本的概念验证 Comment[zh_TW]=概念媒體播放控制器 qml 的證明 @@ -90,7 +93,6 @@ Type=Service X-KDE-ServiceTypes=Plasma/Applet X-KDE-PluginInfo-Author=Marco Martin X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-Email=notmart@gmail.com X-KDE-PluginInfo-EnabledByDefault=true X-KDE-PluginInfo-License=GPL diff --git a/examples/applets/qmltasks/metadata.desktop b/examples/applets/qmltasks/metadata.desktop index b684dad61..2baadd2b6 100644 --- a/examples/applets/qmltasks/metadata.desktop +++ b/examples/applets/qmltasks/metadata.desktop @@ -27,6 +27,7 @@ Name[nn]=Fattigmanns oppgåvehandsamar Name[pl]=Zadania biednego człowieka Name[pt]=Tarefas Simples Name[pt_BR]=Tarefas simples +Name[ro]=Sarcinile săracului Name[ru]=Панель задач «для бедных» Name[sk]=Úlohy úbohého človeka Name[sl]=Opravila za reveže @@ -38,6 +39,7 @@ Name[sv]=Fattigmans aktiviteter Name[tg]=Вазифаҳои хизматрасони PoorMan Name[tr]=Zavallı Adam Görevleri Name[uk]=Задачі для початківців +Name[vi]=Tác vụ của người đàn ông nghèo Name[x-test]=xxPoor Man's Tasksxx Name[zh_CN]=穷人的任务栏 Name[zh_TW]=窮人的工作 @@ -69,6 +71,7 @@ Comment[nn]=Eksempel på korleis du kan skriva dine eigne oppgåveelement Comment[pl]=Przykład pokazujący w jaki sposób napisać swój własny element interfejsu zadań Comment[pt]=Um exemplo que demonstra como criar o seu próprio item de tarefas Comment[pt_BR]=Exemplo que mostra como criar seu próprio widget de tarefas +Comment[ro]=Exemple ce demonstrează scrierea propriului control grafic pentru sarcini Comment[ru]=Пример виджета со списком задач Comment[sk]=Ukážka zobrazujúca ako písať váš vlastný widget úloh Comment[sl]=Primer izdelave lastnega gradnika za opravila @@ -80,6 +83,7 @@ Comment[sv]=Exempel som visar hur man skriver en egen grafisk komponent för akt Comment[tg]=Мисоли тарзи навиштани виҷет барои вазифаҳои шахсӣ Comment[tr]=Kendi görev uygulamalarınızın nasıl yazılacağını gösteren örnek Comment[uk]=Приклад, який демонструє створення власного віджета задач +Comment[vi]=Ví dụ cho thấy cách viết Phụ kiện tác vụ của riêng bạn Comment[x-test]=xxExample showing how to write your own tasks Widgetxx Comment[zh_CN]=展示如何实现您自己的任务部件的例子 Comment[zh_TW]=顯示如何寫您自己的工作元件 diff --git a/examples/applets/samegame/metadata.desktop b/examples/applets/samegame/metadata.desktop index 48a4074d9..d1353ca4c 100644 --- a/examples/applets/samegame/metadata.desktop +++ b/examples/applets/samegame/metadata.desktop @@ -39,6 +39,7 @@ Name[sv]=Samegame (QML) Name[tg]=Бозии монанд (QML) Name[tr]=Aynı oyun (QML) Name[uk]=Та сама гра (QML) +Name[vi]=Trò chơi Same game (QML) Name[x-test]=xxSame game (QML)xx Name[zh_CN]=相同游戏 (QML) Name[zh_TW]=Same game (QML) @@ -81,6 +82,7 @@ Comment[sv]=Samegame QML Qt-demonstrationen konverterad till Plasmoid Comment[tg]=Намунаи бозии монанди QML Qt ба plasmoid табдил дода мешавад Comment[tr]=Aynı oyunun QML Qt plasmoid olarak çevrilmiş halinin tanıtımı Comment[uk]=Плазмоїд-демонстрація тієї самої гри на основі QML +Comment[vi]=Chương trình minh hoạ cho Qt, Same game, viết bằng QML, chuyển dạng thành plasmoid Comment[x-test]=xxThe Same game QML Qt demo converted as plasmoidxx Comment[zh_CN]=相同游戏 QML 的 Qt demo 转化成的小部件 Comment[zh_TW]=Same game QML Qt 展示轉換為元件 @@ -96,6 +98,5 @@ X-KDE-PluginInfo-Name=org.kde.samegame-qml X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/applets/testcomponents/metadata.desktop b/examples/applets/testcomponents/metadata.desktop index 199116b87..f0bff22b7 100644 --- a/examples/applets/testcomponents/metadata.desktop +++ b/examples/applets/testcomponents/metadata.desktop @@ -31,6 +31,7 @@ Name[nn]=Komponenttest Name[pl]=Próba składników Name[pt]=Teste de Componentes Name[pt_BR]=Teste de componentes +Name[ro]=Test componente Name[ru]=Тест компонентов Name[sk]=Test komponentov Name[sl]=Preizkus sestavnih delov @@ -42,6 +43,7 @@ Name[sv]=Komponenttest Name[tg]=Санҷиши унсурҳо Name[tr]=Bileşen Testi Name[uk]=Тестування компонентів +Name[vi]=Kiểm thử các thành phần Name[x-test]=xxComponents Testxx Name[zh_CN]=组件测试 Name[zh_TW]=組件測試 diff --git a/examples/applets/testshaders/metadata.desktop b/examples/applets/testshaders/metadata.desktop index d73bd409c..a63967ac8 100644 --- a/examples/applets/testshaders/metadata.desktop +++ b/examples/applets/testshaders/metadata.desktop @@ -39,6 +39,7 @@ Name[sv]=Skuggningstest Name[tg]=Санҷиши соягузор Name[tr]=Gölgelendirici Testi Name[uk]=Тестування підпрограм побудови тіней +Name[vi]=Kiểm thử trình đánh bóng Name[x-test]=xxShader Testxx Name[zh_CN]=着色器测试 Name[zh_TW]=陰影測試 @@ -81,6 +82,7 @@ Comment[sv]=Greja med visuella effekter Comment[tg]=Ҷунбидани таъсирҳои намоён Comment[tr]=Görsel efektler ile Müdahale Comment[uk]=Маніпулювання візуальними ефектами +Comment[vi]=Thử các hiệu ứng trực quan Comment[x-test]=xxFutzing with Visual Effectsxx Comment[zh_CN]=玩玩视觉效果 Comment[zh_TW]=視覺效果 diff --git a/examples/applets/testtheme/metadata.desktop b/examples/applets/testtheme/metadata.desktop index 7dec36c4e..4893addda 100644 --- a/examples/applets/testtheme/metadata.desktop +++ b/examples/applets/testtheme/metadata.desktop @@ -29,6 +29,7 @@ Name[nn]=Tematest Name[pl]=Próba wystroju Name[pt]=Teste de Tema Name[pt_BR]=Teste de tema +Name[ro]=Test tematică Name[ru]=Тест тем Name[sk]=Test témy Name[sl]=Preizkus teme @@ -40,6 +41,7 @@ Name[sv]=Tematest Name[tg]=Санҷиши мавзӯъ Name[tr]=Tema Testi Name[uk]=Тестування теми +Name[vi]=Kiểm thử chủ đề Name[x-test]=xxTheme Testxx Name[zh_CN]=主题测试 Name[zh_TW]=主題測試 diff --git a/examples/applets/widgetgallery/metadata.desktop b/examples/applets/widgetgallery/metadata.desktop index 75725d69c..7ca37486f 100644 --- a/examples/applets/widgetgallery/metadata.desktop +++ b/examples/applets/widgetgallery/metadata.desktop @@ -29,6 +29,7 @@ Name[nn]=Elementgalleri Name[pl]=Galeria elementów interfejsu Name[pt]=Galeria de elementos Name[pt_BR]=Galeria de widgets +Name[ro]=Galerie de controale Name[ru]=Галерея виджетов Name[sk]=Galéria widgetov Name[sl]=Galerija gradnikov @@ -40,6 +41,7 @@ Name[sv]=Grafiskt komponentgalleri Name[tg]=Нигористони виҷетҳо Name[tr]=Uygulama Galerisi Name[uk]=Галерея віджетів +Name[vi]=Bộ sưu tập phụ kiện Name[x-test]=xxWidgets galleryxx Name[zh_CN]=部件浏览器 Name[zh_TW]=元件集 @@ -70,6 +72,7 @@ Comment[nn]=Galleri med element laga med Plasma QtComponents Comment[pl]=galeria elementów interfejsu wykonana w QtComponents Plazmy Comment[pt]=Uma galeria de elementos gráficos feita com o QtComponents do Plasma Comment[pt_BR]=Galeria de widgets gráficos feita com o QtComponents do Plasma +Comment[ro]=galerie de controale făcute cu Plasma QtComponents Comment[ru]=Галерея виджетов, реализованная при помощи QtComponents в Plasma Comment[sk]=Galéria widgetov vytvorených pomocou Plasma QtComponents Comment[sl]=galerija gradnikov ustvarjena s Plasma QtComponents @@ -81,6 +84,7 @@ Comment[sv]=galleri av grafiska komponenter skapade med Plasma Qt-komponenter Comment[tg]=Нигористони виҷетҳои таҳияшуда ба воситаи унсурҳои Plasma Qt Comment[tr]=Plasma QtComponents ile yapılmış gereç galerisi Comment[uk]=Галерея віджетів, створених за допомогою QtComponent-ів Плазми +Comment[vi]=nơi trưng bày các phụ kiện làm bằng QtComponents của Plasma Comment[x-test]=xxgallery of widgets done with Plasma QtComponentsxx Comment[zh_CN]=Plasma Qt 部件实现的部件展示 Comment[zh_TW]=Plasma QtComponents 的元件集 @@ -95,6 +99,5 @@ X-KDE-PluginInfo-Name=org.kde.example.widgetgallery X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/applets/windowthumbnails/metadata.desktop b/examples/applets/windowthumbnails/metadata.desktop index 8d78bee07..f61f6b3e6 100644 --- a/examples/applets/windowthumbnails/metadata.desktop +++ b/examples/applets/windowthumbnails/metadata.desktop @@ -18,7 +18,7 @@ Name[hu]=Ablakbélyegképek lista - példa Name[ia]=Lista de miniaturas de fenestra de exemplo Name[id]=Contoh daftar gambar-mini window Name[it]=Esempio di elenco di miniature delle finestre -Name[ko]=창 미리 보기 그림 목록 예제 +Name[ko]=창 축소판 목록 예제 Name[nb]=Eksempelliste over vindus-småbilder Name[nds]=Bispill-Finstervöransichten-List Name[nl]=Voorbeeld van lijst met miniaturen van vensters @@ -26,6 +26,7 @@ Name[nn]=Eksempel på list med vindaugsminiatyrbilete Name[pl]=Przykładowe wykazem miniatur okien Name[pt]=Lista de miniaturas das janelas de exemplo Name[pt_BR]=Lista de miniaturas das janelas de exemplo +Name[ro]=Listă exemplificativă de miniaturi ferestre Name[ru]=Пример списка окон с миниатюрами Name[sk]=Ukážkové okno so zoznamom miniatúr Name[sl]=Primer seznama sličic oken @@ -37,6 +38,7 @@ Name[sv]=Exempel på miniatyrbilder av fönster Name[tg]=Мисоли равзана бо рӯйхати ангорадор Name[tr]=Örnek pencere küçük resim listesi Name[uk]=Приклад списку мініатюр вікон +Name[vi]=Danh sách ví dụ các hình nhỏ của cửa sổ Name[x-test]=xxExample window thumbnails listxx Name[zh_CN]=窗口缩略图的例子 Name[zh_TW]=視窗縮圖列表的範例 @@ -59,7 +61,7 @@ Comment[hu]=Példa ablakok bélyegképeinek megjelenítésére Comment[ia]=Exemplo monstrante como monstrar miniaturas de fenestra Comment[id]=Menampilkan contoh bagaimana untuk menampilkan gambar-mini window Comment[it]=Esempio che mostra come visualizzare le miniature delle finestre -Comment[ko]=창 미리 보기 그림을 보여 주는 방법 예제 +Comment[ko]=창 축소판을 보여 주는 방법 예제 Comment[nb]=Eksempel som viser hvordan vindus-småbildevisning lages Comment[nds]=En Bispill, dat wiest, wodennig sik Finstervöransichten dorstellen laat Comment[nl]=Voorbeeld van hoe miniaturen van vensters te tonen @@ -67,6 +69,7 @@ Comment[nn]=Eksempel som viser korleis visa miniatyrbilete av vindauge Comment[pl]=Przykład pokazujący sposób wyświetlania miniatur okien Comment[pt]=Exemplo que demonstra como apresentar miniaturas das janelas Comment[pt_BR]=Exemplo que demostra como apresentar as miniaturas das janelas +Comment[ro]=Exemplu ce arată cum să afișați miniaturile ferestrelor Comment[ru]=Демонстрация отрисовки миниатюр окон Comment[sk]=Ukážka zobrazujúca ako zobraziť miniatúry okna Comment[sl]=Primer kako prikazati sličice oken @@ -78,6 +81,7 @@ Comment[sv]=Exempel som visar hur miniatyrbilder av fönster visas Comment[tg]=Мисоли тарзи намоиши ангораҳои равзана Comment[tr]=Pencere küçük resim listesinin nasıl görüntüleneceğini gösteren örnek Comment[uk]=Приклад, який демонструє показ мініатюр вікон +Comment[vi]=Ví dụ cho thấy cách hiển thị hình nhỏ của cửa sổ Comment[x-test]=xxExample showing how to display window thumbnailsxx Comment[zh_CN]=如何显示窗口缩略图的例子 Comment[zh_TW]=顯示視窗縮圖的範例 diff --git a/examples/containments/testcontainment/metadata.desktop b/examples/containments/testcontainment/metadata.desktop index 627d2ad2a..4a1c4a0f2 100644 --- a/examples/containments/testcontainment/metadata.desktop +++ b/examples/containments/testcontainment/metadata.desktop @@ -29,6 +29,7 @@ Name[nn]=Behaldartest Name[pl]=Próba pojemnika Name[pt]=Teste de Contentores Name[pt_BR]=Teste de contenção +Name[ro]=Test container Name[ru]=Тест контейнеров Name[sk]=Test zadržania Name[sl]=Preizkus vsebnikov @@ -40,6 +41,7 @@ Name[sv]=Omgivningstest Name[tg]=Санҷиши дарбаргиранда Name[tr]=Kapsama Testi Name[uk]=Тестування контейнера +Name[vi]=Kiểm thử việc bao chứa Name[x-test]=xxContainment Testxx Name[zh_CN]=容器测试 Name[zh_TW]=容器測試 diff --git a/examples/dataengines/customDataContainers/plasma-dataengine-example-customDataContainers.desktop b/examples/dataengines/customDataContainers/plasma-dataengine-example-customDataContainers.desktop index de085eba4..461ee6328 100644 --- a/examples/dataengines/customDataContainers/plasma-dataengine-example-customDataContainers.desktop +++ b/examples/dataengines/customDataContainers/plasma-dataengine-example-customDataContainers.desktop @@ -26,6 +26,7 @@ Name[nn]=Tilpassa «DataContainers» Name[pl]=Własne pojemniki danych Name[pt]=Contentores Personalizados Name[pt_BR]=DataContainers personalizados +Name[ro]=DataContainere personalizate Name[ru]=Нестандартные объекты DataContainer Name[sk]=Vlastné dátové kontajnery Name[sl]=DataContainers po meri @@ -37,6 +38,7 @@ Name[sv]=Egen DataContainer Name[tg]=Дарбаргирандаи иттилооти фармоишӣ Name[tr]=Özel Veri Kapları Name[uk]=Нетипові контейнери даних +Name[vi]=DataContainer riêng Name[x-test]=xxCustom DataContainersxx Name[zh_CN]=自定义数据容器 Name[zh_TW]=自訂資料容器 @@ -78,6 +80,7 @@ Comment[sv]=En demonstration av hur en delklass av DataContainer skapas Comment[tg]=Намоиши тарзи зерсинфи дарбаргирандаи иттилоотӣ Comment[tr]=Veri haznesinin nasıl altı sınıf yapıldığının bir göstergesi Comment[uk]=Демонстрація створення підкласу DataContainer +Comment[vi]=Ví dụ minh hoạ việc kế thừa lớp DataContainer Comment[x-test]=xxA demonstration of how to subclass DataContainerxx Comment[zh_CN]=展示如何继承 DataContainer Comment[zh_TW]=DataContainer 子類別的範例 @@ -93,6 +96,5 @@ X-KDE-PluginInfo-Name=org.kde.examples.customDataContainers X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=BSD X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/dataengines/simpleEngine/plasma-dataengine-example-simpleEngine.desktop b/examples/dataengines/simpleEngine/plasma-dataengine-example-simpleEngine.desktop index cf6cf83d3..0e1032cae 100644 --- a/examples/dataengines/simpleEngine/plasma-dataengine-example-simpleEngine.desktop +++ b/examples/dataengines/simpleEngine/plasma-dataengine-example-simpleEngine.desktop @@ -39,6 +39,7 @@ Name[sv]=Enkelt exempel på DataEngine Name[tg]=Мисоли содаи DataEngine Name[tr]=Basit VeriMotoru Örneği Name[uk]=Простий приклад рушія даних +Name[vi]=Ví dụ DataEngine đơn giản Name[x-test]=xxSimple DataEngine Examplexx Name[zh_CN]=简单数据引擎样例 Name[zh_TW]=簡單資料引擎範例 @@ -81,6 +82,7 @@ Comment[sv]=En mycket grundläggande implementering av DataEngine Comment[tg]=Иҷрокунии осонтарини DataEngine Comment[tr]=Çok basit bir VeriMotoru gerçekleştirimi Comment[uk]=Базова реалізація рушія даних +Comment[vi]=Một phần thi hành DataEngine rất cơ bản Comment[x-test]=xxA very basic DataEngine implementationxx Comment[zh_CN]=非常基础的数据引擎实现 Comment[zh_TW]=非常基本的 DataEngine 實作 @@ -96,6 +98,5 @@ X-KDE-PluginInfo-Name=org.kde.examples.simpleEngine X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=BSD X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/dataengines/sourcesOnRequest/plasma-dataengine-example-sourcesOnRequest.desktop b/examples/dataengines/sourcesOnRequest/plasma-dataengine-example-sourcesOnRequest.desktop index 330203dfb..38d2dd800 100644 --- a/examples/dataengines/sourcesOnRequest/plasma-dataengine-example-sourcesOnRequest.desktop +++ b/examples/dataengines/sourcesOnRequest/plasma-dataengine-example-sourcesOnRequest.desktop @@ -26,6 +26,7 @@ Name[nn]=Kjelder på førespurnad Name[pl]=Źródła na żądanie Name[pt]=Fontes a Pedido Name[pt_BR]=Fontes a pedido +Name[ro]=Surse la cerere Name[ru]=Источники по запросу Name[sk]=Zdroje na požiadanie Name[sl]=Viri na zahtevo @@ -37,6 +38,7 @@ Name[sv]=Källor på begäran Name[tg]=Манбаҳои дархостшаванда Name[tr]=İstekteki Kaynaklar Name[uk]=Джерела за запитом +Name[vi]=Nguồn khi có yêu cầu Name[x-test]=xxSources On Requestxx Name[zh_CN]=按需请求源 Name[zh_TW]=要求來源 @@ -78,6 +80,7 @@ Comment[sv]=Ett exempel på en DataEngine som visar hur man svara på en begära Comment[tg]=Мисоли DataEngine нишон медиҳад, ки чӣ тавр ба дархостҳо барои эҷодкунии манбаъ ва навсозӣ посух дода мешавад Comment[tr]=Kaynak oluşturma ve güncelleme için isteklere nasıl cevap verilmesi gerektiğini gösteren bir veri-motoru örneği Comment[uk]=Приклад рушія даних, який демонструє способи відповіді на запити щодо створення джерела і оновлень +Comment[vi]=Một ví dụ về DataEngine cho thấy cách hồi đáp các yêu cầu tạo và cập nhật nguồn Comment[x-test]=xxA DataEngine example showing how to respond to requests for source creation and updatesxx Comment[zh_CN]=数据引擎样例显示如何响应源的创建和更新请求 Comment[zh_TW]=DataEngine 回應要求建立來源與更新的範例 @@ -93,6 +96,5 @@ X-KDE-PluginInfo-Name=org.kde.examples.sourcesOnRequest X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=BSD X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/developerguide/basic/metadata.desktop b/examples/developerguide/basic/metadata.desktop index 8acb767d5..179df625c 100644 --- a/examples/developerguide/basic/metadata.desktop +++ b/examples/developerguide/basic/metadata.desktop @@ -25,6 +25,7 @@ Comment[nn]=Grunnleggjande program Comment[pl]=Podstawowa aplikacja Comment[pt]=Aplicação Básica Comment[pt_BR]=Aplicativo básico +Comment[ro]=Aplicație simplă Comment[ru]=Простейшее приложение Comment[sk]=Základná aplikácia Comment[sl]=Osnovni program @@ -36,6 +37,7 @@ Comment[sv]=Enkel applikation Comment[tg]=Барномаи аслӣ Comment[tr]=Temel Uygulama Comment[uk]=Базова програма +Comment[vi]=Ứng dụng cơ bản Comment[x-test]=xxBasic Appxx Comment[zh_CN]=基础小程序 Comment[zh_TW]=基本應用程式 @@ -70,6 +72,7 @@ Name[pa]=ਬੱਗ Name[pl]=Błąd Name[pt]=Insecto Name[pt_BR]=Erro +Name[ro]=Problemă Name[ru]=Ошибка Name[sk]=Chyba Name[sl]=Hrošč @@ -81,6 +84,7 @@ Name[sv]=Fel Name[tg]=Хато Name[tr]=Hata Name[uk]=Вада +Name[vi]=Lỗi Name[x-test]=xxBugxx Name[zh_CN]=臭虫 Name[zh_TW]=錯誤 diff --git a/examples/testcontainmentactionsplugin/plasma-containmentactions-test.desktop b/examples/testcontainmentactionsplugin/plasma-containmentactions-test.desktop index 633814f44..7942ebab4 100644 --- a/examples/testcontainmentactionsplugin/plasma-containmentactions-test.desktop +++ b/examples/testcontainmentactionsplugin/plasma-containmentactions-test.desktop @@ -32,6 +32,7 @@ Name[pa]=ਟੈਸਟ Name[pl]=Próba Name[pt]=Teste Name[pt_BR]=Teste +Name[ro]=Test Name[ru]=Тестовый модуль Name[sk]=Test Name[sl]=Preizkus @@ -44,6 +45,7 @@ Name[tg]=Санҷиш Name[tr]=Test Name[ug]=سىنا Name[uk]=Тест +Name[vi]=Kiểm thử Name[x-test]=xxTestxx Name[zh_CN]=测试 Name[zh_TW]=測試 @@ -90,6 +92,7 @@ Comment[tg]=Васлкунаки сохтагӣ барои санҷиш Comment[tr]=Denemek için sahte bir eklenti Comment[ug]=سىناشقا ئىشلىتىدىغان قىستۇرما Comment[uk]=Додаток для тестування +Comment[vi]=Một phần cài cắm nộm dùng cho kiểm thử Comment[x-test]=xxA dummy plugin for testingxx Comment[zh_CN]=测试用插件 Comment[zh_TW]=測試用外掛程式 @@ -104,7 +107,6 @@ X-KDE-PluginInfo-Email=chani@kde.org X-KDE-PluginInfo-Name=test X-KDE-PluginInfo-Version=pre0.1 X-KDE-PluginInfo-Website=https://plasma.kde.org/ -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true diff --git a/examples/wallpapers/autumn/metadata.desktop b/examples/wallpapers/autumn/metadata.desktop index b59bf446d..a548c6e98 100644 --- a/examples/wallpapers/autumn/metadata.desktop +++ b/examples/wallpapers/autumn/metadata.desktop @@ -33,6 +33,7 @@ Name[pa]=ਪਤਝੜ Name[pl]=Jesień Name[pt]=Outono Name[pt_BR]=Outono +Name[ro]=Toamnă Name[ru]=Осень Name[sk]=Jeseň Name[sl]=Jesen @@ -45,6 +46,7 @@ Name[tg]=Тиpамoҳ Name[tr]=Son Bahar Name[ug]=كۈز Name[uk]=Осінь +Name[vi]=Mùa thu Name[x-test]=xxAutumnxx Name[zh_CN]=秋 Name[zh_TW]=秋天 diff --git a/src/declarativeimports/CMakeLists.txt b/src/declarativeimports/CMakeLists.txt index e29ac8f84..abcea3fc8 100644 --- a/src/declarativeimports/CMakeLists.txt +++ b/src/declarativeimports/CMakeLists.txt @@ -12,8 +12,7 @@ install(DIRECTORY kirigamiplasmastyle/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde install(DIRECTORY kirigamiplasmadesktopstyle/ DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/styles/org.kde.desktop.plasma) -math(EXPR QQC2_VERSION "${Qt5QuickControls2_VERSION_MINOR} - 7") -set(QQC2_VERSION "2.${QQC2_VERSION}") +set(QQC2_VERSION "2.${Qt5QuickControls2_VERSION_MINOR}") # Find all the source qml files diff --git a/src/declarativeimports/core/CMakeLists.txt b/src/declarativeimports/core/CMakeLists.txt index 26b5829f6..23fd30075 100644 --- a/src/declarativeimports/core/CMakeLists.txt +++ b/src/declarativeimports/core/CMakeLists.txt @@ -32,6 +32,7 @@ target_link_libraries(corebindingsplugin Qt5::Qml KF5::Declarative KF5::IconThemes + KF5::I18n KF5::Service #for kplugininfo.h KF5::WindowSystem KF5::Plasma diff --git a/src/declarativeimports/core/corebindingsplugin.cpp b/src/declarativeimports/core/corebindingsplugin.cpp index edc61adcf..7e9b9f94f 100644 --- a/src/declarativeimports/core/corebindingsplugin.cpp +++ b/src/declarativeimports/core/corebindingsplugin.cpp @@ -11,6 +11,8 @@ #include +#include + #include #include @@ -48,10 +50,10 @@ void CoreBindingsPlugin::initializeEngine(QQmlEngine *engine, const char *uri) context->setContextProperty(QStringLiteral("units"), &Units::instance()); - if (!engine->rootContext()->contextObject()) { - KDeclarative::KDeclarative kdeclarative; - kdeclarative.setDeclarativeEngine(engine); - kdeclarative.setupContext(); + if (!context->contextObject()) { + KLocalizedContext *localizedContextObject = new KLocalizedContext(engine); + context->setContextObject(localizedContextObject); + KDeclarative::KDeclarative::setupEngine(engine); } } diff --git a/src/declarativeimports/core/units.h b/src/declarativeimports/core/units.h index f9eca0cca..b3b93dabc 100644 --- a/src/declarativeimports/core/units.h +++ b/src/declarativeimports/core/units.h @@ -41,8 +41,8 @@ class Units : public QObject /** * The fundamental unit of space that should be used for sizes, expressed in pixels. - * Given the screen has an accurate DPI settings, it corresponds to a width of - * the capital letter M + * Given the screen has an accurate DPI settings, it corresponds to the height of + * the font's boundingRect. */ Q_PROPERTY(int gridUnit READ gridUnit NOTIFY gridUnitChanged) diff --git a/src/declarativeimports/core/windowthumbnail.cpp b/src/declarativeimports/core/windowthumbnail.cpp index 90ba5765b..a15d900be 100644 --- a/src/declarativeimports/core/windowthumbnail.cpp +++ b/src/declarativeimports/core/windowthumbnail.cpp @@ -376,7 +376,7 @@ void WindowThumbnail::iconToTexture(WindowTextureNode *textureNode) #if HAVE_GLX bool WindowThumbnail::windowToTextureGLX(WindowTextureNode *textureNode) { - if (glXGetCurrentContext()) { + if (window()->openglContext()) { if (!m_openGLFunctionsResolved) { resolveGLXFunctions(); } diff --git a/src/declarativeimports/plasmacomponents/qml/Button.qml b/src/declarativeimports/plasmacomponents/qml/Button.qml index ce3a947fd..6b9e9c654 100644 --- a/src/declarativeimports/plasmacomponents/qml/Button.qml +++ b/src/declarativeimports/plasmacomponents/qml/Button.qml @@ -18,6 +18,8 @@ import QtQuick 2.1 import QtQuick.Controls 1.2 as QtControls import QtQuick.Controls.Styles.Plasma 2.0 as Styles +import org.kde.plasma.core 2.0 as PlasmaCore + /** * The push button is perhaps the most commonly used widget in any graphical user interface. * Pushing (or clicking) a button commands the computer to perform some action diff --git a/src/declarativeimports/plasmacomponents/qml/ButtonRow.qml b/src/declarativeimports/plasmacomponents/qml/ButtonRow.qml index c1c21efce..0c33d1fb7 100644 --- a/src/declarativeimports/plasmacomponents/qml/ButtonRow.qml +++ b/src/declarativeimports/plasmacomponents/qml/ButtonRow.qml @@ -7,6 +7,8 @@ */ import QtQuick 2.1 +import org.kde.plasma.core 2.0 as PlasmaCore + import "ButtonGroup.js" as Behavior /** diff --git a/src/declarativeimports/plasmacomponents/qml/QueryDialog.qml b/src/declarativeimports/plasmacomponents/qml/QueryDialog.qml index ac07b8034..1ad5ef396 100644 --- a/src/declarativeimports/plasmacomponents/qml/QueryDialog.qml +++ b/src/declarativeimports/plasmacomponents/qml/QueryDialog.qml @@ -11,6 +11,8 @@ import QtQuick 2.1 import org.kde.plasma.extras 2.0 as PlasmaExtras import "." 2.0 as PlasmaComponents +import org.kde.plasma.core 2.0 as PlasmaCore + PlasmaComponents.CommonDialog { id: root objectName: "root" diff --git a/src/declarativeimports/plasmacomponents/qml/TabBar.qml b/src/declarativeimports/plasmacomponents/qml/TabBar.qml index aeb0feabd..47d3a45aa 100644 --- a/src/declarativeimports/plasmacomponents/qml/TabBar.qml +++ b/src/declarativeimports/plasmacomponents/qml/TabBar.qml @@ -92,13 +92,13 @@ FocusScope { } Behavior on x { PropertyAnimation { - easing.type: Easing.InQuad + easing.type: Easing.OutCubic duration: PlasmaCore.Units.longDuration } } Behavior on y { PropertyAnimation { - easing.type: Easing.InQuad + easing.type: Easing.OutCubic duration: PlasmaCore.Units.longDuration } } diff --git a/src/declarativeimports/plasmacomponents3/BusyIndicator.qml b/src/declarativeimports/plasmacomponents3/BusyIndicator.qml index e76636e7a..d081fc43d 100644 --- a/src/declarativeimports/plasmacomponents3/BusyIndicator.qml +++ b/src/declarativeimports/plasmacomponents3/BusyIndicator.qml @@ -31,6 +31,15 @@ T.BusyIndicator { implicitWidth: PlasmaCore.Units.gridUnit * 2 implicitHeight: implicitWidth + visible: opacity > 0 + opacity: control.running ? 1.0 : 0.0 + Behavior on opacity { + OpacityAnimator { + duration: PlasmaCore.Units.shortDuration + easing.type: Easing.OutQuad + } + } + PlasmaCore.SvgItem { id: busyIndicatorSvgItem @@ -52,69 +61,8 @@ T.BusyIndicator { to: 360 duration: 2000 loops: Animation.Infinite + running: visible } } } - - state: control.running ? "running" : "hidden" - - states: [ - State { - name: "hidden" - PropertyChanges { - target: contentItem - opacity: 0 - } - }, - State { - name: "running" - PropertyChanges { - target: contentItem - opacity: 1 - } - } - ] - - transitions: [ - Transition { - from: "*" - to: "hidden" - SequentialAnimation { - OpacityAnimator { - duration: PlasmaCore.Units.shortDuration - easing.type: Easing.OutQuad - } - PropertyAction { - target: contentItem - property: "visible" - value: false - } - } - PropertyAction { - target: rotationAnimator - property: "running" - value: false - } - }, - Transition { - from: "*" - to: "running" - PropertyAction { - target: rotationAnimator - property: "running" - value: true - } - SequentialAnimation { - PropertyAction { - target: contentItem - property: "visible" - value: true - } - OpacityAnimator { - duration: PlasmaCore.Units.shortDuration - easing.type: Easing.OutQuad - } - } - } - ] } diff --git a/src/declarativeimports/plasmacomponents3/Button.qml b/src/declarativeimports/plasmacomponents3/Button.qml index 11a3dd1dc..6960f22d8 100644 --- a/src/declarativeimports/plasmacomponents3/Button.qml +++ b/src/declarativeimports/plasmacomponents3/Button.qml @@ -14,18 +14,18 @@ import "private" as Private T.Button { id: control - implicitWidth: Math.max(units.gridUnit, contentItem.implicitWidth) - + leftPadding + rightPadding - implicitHeight: Math.max(units.gridUnit, contentItem.implicitHeight) - + topPadding + bottomPadding - - Layout.minimumWidth: contentItem.implicitWidth + leftPadding + rightPadding + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) leftPadding: background.leftMargin topPadding: background.topMargin rightPadding: background.rightMargin bottomPadding: background.bottomMargin + spacing: PlasmaCore.Units.smallSpacing + hoverEnabled: !Kirigami.Settings.tabletMode Kirigami.MnemonicData.enabled: control.enabled && control.visible @@ -35,58 +35,9 @@ T.Button { PlasmaCore.ColorScope.inherit: flat PlasmaCore.ColorScope.colorGroup: flat ? parent.PlasmaCore.ColorScope.colorGroup : PlasmaCore.Theme.ButtonColorGroup - contentItem: GridLayout { - - /* Even though keyboardFocus is already defined as a property - * in the background, it's null when it reaches the contentItem. - * That means it has to be created here too unless a solution is found. - */ - property bool keyboardFocus: control.activeFocus && - (control.focusReason == Qt.TabFocusReason || control.focusReason == Qt.BacktabFocusReason) - - columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 - - PlasmaCore.IconItem { - id: icon - - Layout.alignment: Qt.AlignCenter - - Layout.fillWidth: true - Layout.fillHeight: true - - Layout.minimumWidth: Math.min(parent.width, parent.height, implicitWidth) - Layout.minimumHeight: Math.min(parent.width, parent.height, implicitHeight) - - Layout.maximumWidth: control.icon.width > 0 ? control.icon.width : Number.POSITIVE_INFINITY - Layout.maximumHeight: control.icon.height > 0 ? control.icon.height : Number.POSITIVE_INFINITY - - implicitWidth: control.icon.width > 0 ? control.icon.width : units.iconSizes.small - implicitHeight: control.icon.height > 0 ? control.icon.height : units.iconSizes.small - - colorGroup: PlasmaCore.Theme.ButtonColorGroup - visible: source.length > 0 && control.display !== T.Button.TextOnly - source: control.icon ? (control.icon.name || control.icon.source) : "" - status: !control.flat && buttonSvg.hasElement("hint-focus-highlighted-background") && contentItem.keyboardFocus && !control.pressed && !control.checked ? PlasmaCore.Svg.Selected : PlasmaCore.Svg.Normal - } - Label { - id: label - Layout.fillWidth: true - visible: text.length > 0 && control.display !== T.Button.IconOnly - text: control.Kirigami.MnemonicData.richTextLabel - font: control.font - opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 - color: buttonSvg.hasElement("hint-focus-highlighted-background") && contentItem.keyboardFocus && !control.down ? PlasmaCore.Theme.highlightedTextColor : PlasmaCore.Theme.buttonTextColor - horizontalAlignment: control.display !== T.Button.TextUnderIcon && icon.visible ? Text.AlignLeft : Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - } - PlasmaCore.Svg { - id: buttonSvg - imagePath: "widgets/button" - } + contentItem: Private.ButtonContent { + labelText: control.Kirigami.MnemonicData.richTextLabel } - background: Private.ButtonBackground { - parentControl: control - } + background: Private.ButtonBackground {} } diff --git a/src/declarativeimports/plasmacomponents3/SpinBox.qml b/src/declarativeimports/plasmacomponents3/SpinBox.qml index 194e5c350..212bfb706 100644 --- a/src/declarativeimports/plasmacomponents3/SpinBox.qml +++ b/src/declarativeimports/plasmacomponents3/SpinBox.qml @@ -1,4 +1,8 @@ - +/* + * SPDX-FileCopyrightText: 2017 Marco Martin + * SPDX-FileCopyrightText: 2020 Nate Graham + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.12 import QtQuick.Controls @QQC2_VERSION@ diff --git a/src/declarativeimports/plasmacomponents3/TabButton.qml b/src/declarativeimports/plasmacomponents3/TabButton.qml index faae24c19..a388f1a9f 100644 --- a/src/declarativeimports/plasmacomponents3/TabButton.qml +++ b/src/declarativeimports/plasmacomponents3/TabButton.qml @@ -56,8 +56,8 @@ T.TabButton { visible: text.length > 0 && control.display !== T.AbstractButton.IconOnly text: control.Kirigami.MnemonicData.richTextLabel font: control.font + color: PlasmaCore.ColorScope.textColor opacity: enabled || control.highlighted || control.checked ? 1 : 0.4 - color: control.activeFocus && !control.down ? theme.highlightedTextColor : theme.buttonTextColor horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight diff --git a/src/declarativeimports/plasmacomponents3/TextField.qml b/src/declarativeimports/plasmacomponents3/TextField.qml index 961cbd074..883db5172 100644 --- a/src/declarativeimports/plasmacomponents3/TextField.qml +++ b/src/declarativeimports/plasmacomponents3/TextField.qml @@ -9,6 +9,7 @@ import QtQuick.Window 2.2 import QtQuick.Controls @QQC2_VERSION@ import QtQuick.Templates @QQC2_VERSION@ as T import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.kconfig 1.0 import "private" as Private import org.kde.kirigami 2.5 as Kirigami import "mobiletextselection" as MobileTextSelection diff --git a/src/declarativeimports/plasmacomponents3/ToolButton.qml b/src/declarativeimports/plasmacomponents3/ToolButton.qml index a14cfa209..15f33c282 100644 --- a/src/declarativeimports/plasmacomponents3/ToolButton.qml +++ b/src/declarativeimports/plasmacomponents3/ToolButton.qml @@ -14,18 +14,18 @@ import "private" as Private T.ToolButton { id: control - implicitWidth: Math.max(units.gridUnit, contentItem.implicitWidth) - + leftPadding + rightPadding - implicitHeight: Math.max(units.gridUnit, contentItem.implicitHeight) - + topPadding + bottomPadding - - Layout.minimumWidth: contentItem.implicitWidth + leftPadding + rightPadding + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, + implicitContentWidth + leftPadding + rightPadding) + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, + implicitContentHeight + topPadding + bottomPadding) leftPadding: background.leftMargin topPadding: background.topMargin rightPadding: background.rightMargin bottomPadding: background.bottomMargin + spacing: PlasmaCore.Units.smallSpacing + hoverEnabled: !Kirigami.Settings.tabletMode Kirigami.MnemonicData.enabled: control.enabled && control.visible @@ -37,66 +37,9 @@ T.ToolButton { PlasmaCore.ColorScope.inherit: flat PlasmaCore.ColorScope.colorGroup: flat ? parent.PlasmaCore.ColorScope.colorGroup : PlasmaCore.Theme.ButtonColorGroup - contentItem: GridLayout { - - /* Even though keyboardFocus is already defined as a property - * in the background, it's null when it reaches the contentItem. - * That means it has to be created here too unless a solution is found. - */ - property bool keyboardFocus: control.activeFocus && - (control.focusReason == Qt.TabFocusReason || control.focusReason == Qt.BacktabFocusReason) - - columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 - - PlasmaCore.IconItem { - id: icon - - Layout.alignment: Qt.AlignCenter - - Layout.fillWidth: true - Layout.fillHeight: true - // The default icon size is smallMedium (22px) which means the - // content item will be too large and undesirably increase the size - // of the item itself, so we apply negative margins to make it take - // up as little space as a small icon would - Layout.margins: -((implicitHeight - units.iconSizes.small) / 2) - - Layout.minimumWidth: Math.min(parent.width, parent.height, implicitWidth) - Layout.minimumHeight: Math.min(parent.width, parent.height, implicitHeight) - - Layout.maximumWidth: control.icon.width > 0 ? control.icon.width : Number.POSITIVE_INFINITY - Layout.maximumHeight: control.icon.height > 0 ? control.icon.height : Number.POSITIVE_INFINITY - - implicitWidth: control.icon.width > 0 ? control.icon.width : units.iconSizes.smallMedium - implicitHeight: control.icon.height > 0 ? control.icon.height : units.iconSizes.smallMedium - - colorGroup: PlasmaCore.ColorScope.colorGroup - visible: source.length > 0 && control.display !== T.AbstractButton.TextOnly - source: control.icon ? (control.icon.name || control.icon.source) : "" - status: !control.flat && contentItem.keyboardFocus && !control.pressed && !control.checked ? PlasmaCore.Svg.Selected : PlasmaCore.Svg.Normal - } - - Label { - id: label - Layout.fillWidth: true - visible: text.length > 0 && control.display !== T.AbstractButton.IconOnly - text: control.Kirigami.MnemonicData.richTextLabel - font: control.font - opacity: width > 0 ? (enabled || control.highlighted || control.checked ? 1 : 0.4) : 0 - color: (control.hovered || !control.flat) && buttonsurfaceChecker.usedPrefix != "toolbutton-hover" ? theme.buttonTextColor : PlasmaCore.ColorScope.textColor - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - PlasmaCore.FrameSvgItem { - id: buttonsurfaceChecker - visible: false - imagePath: "widgets/button" - prefix: control.flat ? ["toolbutton-hover", "normal"] : "normal" - } - } + contentItem: Private.ButtonContent { + labelText: control.Kirigami.MnemonicData.richTextLabel } - background: Private.ButtonBackground { - parentControl: control - } + background: Private.ButtonBackground {} } diff --git a/src/declarativeimports/plasmacomponents3/ToolTip.qml b/src/declarativeimports/plasmacomponents3/ToolTip.qml index 75b542e09..15dd975c7 100644 --- a/src/declarativeimports/plasmacomponents3/ToolTip.qml +++ b/src/declarativeimports/plasmacomponents3/ToolTip.qml @@ -20,14 +20,14 @@ T.ToolTip { delay: Kirigami.Units.toolTipDelay timeout: 5000 - implicitWidth: contentItem.implicitWidth + leftPadding + rightPadding - implicitHeight: contentItem.implicitHeight + topPadding + bottomPadding + implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding) + implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) margins: units.gridUnit - leftPadding: background.margins.left - topPadding: background.margins.top - rightPadding: background.margins.right - bottomPadding: background.margins.bottom + leftPadding: backgroundItem.margins.left + topPadding: backgroundItem.margins.top + rightPadding: backgroundItem.margins.right + bottomPadding: backgroundItem.margins.bottom closePolicy: T.Popup.CloseOnEscape | T.Popup.CloseOnPressOutsideParent | T.Popup.CloseOnReleaseOutsideParent @@ -36,10 +36,34 @@ T.ToolTip { // those used to determine the alt key shortcut text: control.text.replace(/&(?=\S)/g, "") font: control.font - color: PlasmaCore.ColorScope.textColor + PlasmaCore.ColorScope.colorGroup: PlasmaCore.Theme.ToolTipColorGroup + PlasmaCore.ColorScope.inherit: false } - background: PlasmaCore.FrameSvgItem { - imagePath: "widgets/background" + background: Item { + implicitHeight: PlasmaCore.Units.gridUnit + backgroundItem.margins.top + backgroundItem.margins.bottom + implicitWidth: PlasmaCore.Units.gridUnit + backgroundItem.margins.left + backgroundItem.margins.right + + PlasmaCore.FrameSvgItem { + anchors.fill: parent + anchors.leftMargin: -margins.left + anchors.rightMargin: -margins.right + anchors.topMargin: -margins.top + anchors.bottomMargin: -margins.bottom + imagePath: "widgets/tooltip" + prefix: "shadow" + colorGroup: PlasmaCore.Theme.ToolTipColorGroup + PlasmaCore.ColorScope.inherit: false + } + + PlasmaCore.FrameSvgItem { + id: backgroundItem + anchors.fill: parent + // Because the transparent one doesn't match the appearance of all + // other ones + imagePath: "opaque/widgets/tooltip" + colorGroup: PlasmaCore.Theme.ToolTipColorGroup + PlasmaCore.ColorScope.inherit: false + } } } diff --git a/src/declarativeimports/plasmacomponents3/private/ButtonBackground.qml b/src/declarativeimports/plasmacomponents3/private/ButtonBackground.qml index f19035479..c566aa540 100644 --- a/src/declarativeimports/plasmacomponents3/private/ButtonBackground.qml +++ b/src/declarativeimports/plasmacomponents3/private/ButtonBackground.qml @@ -4,14 +4,10 @@ */ import QtQuick 2.6 -import QtQuick.Templates @QQC2_VERSION@ as T import org.kde.plasma.core 2.0 as PlasmaCore Item { id: root - // TODO: mark this required when our minimum Qt version is new enough - property T.AbstractButton parentControl - // These should be used as the padding for the parent control property real leftMargin property real topMargin @@ -24,28 +20,28 @@ Item { */ property string usedPrefix - readonly property bool keyboardFocus: parentControl.activeFocus && - (parentControl.focusReason == Qt.TabFocusReason || parentControl.focusReason == Qt.BacktabFocusReason) + implicitWidth: PlasmaCore.Units.gridUnit + root.leftMargin + root.rightMargin + implicitHeight: PlasmaCore.Units.gridUnit + root.topMargin + root.bottomMargin FlatButtonBackground { id: flatButtonBackground anchors.fill: parent - hovered: parentControl.hovered - pressed: parentControl.pressed - checked: parentControl.checked - focused: root.keyboardFocus + hovered: root.parent.hovered + pressed: root.parent.pressed + checked: root.parent.checked + focused: root.parent.visualFocus } RaisedButtonBackground { id: raisedButtonBackground anchors.fill: parent - hovered: parentControl.hovered - pressed: parentControl.pressed - checked: parentControl.checked - focused: root.keyboardFocus + hovered: root.parent.hovered + pressed: root.parent.pressed + checked: root.parent.checked + focused: root.parent.visualFocus } - state: parentControl.flat ? "flat" : "raised" + state: root.parent.flat ? "flat" : "raised" states: [ State { diff --git a/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml b/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml new file mode 100644 index 000000000..91428bdb3 --- /dev/null +++ b/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml @@ -0,0 +1,66 @@ +/* + * SPDX-FileCopyrightText: 2016 Marco Martin + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Layouts 1.12 +import QtQuick.Templates @QQC2_VERSION@ as T +import org.kde.plasma.core 2.0 as PlasmaCore +import "../" as PlasmaComponents + +GridLayout { + id: root + + property string labelText: "" + + readonly property bool usingFocusBackground: !parent.flat && buttonSvg.hasElement("hint-focus-highlighted-background") && parent.visualFocus && !(parent.pressed || parent.checked) + + PlasmaCore.ColorScope.inherit: true + + columns: parent.display == T.Button.TextBesideIcon ? 2 : 1 + + rowSpacing: parent.spacing + columnSpacing: rowSpacing + + PlasmaCore.IconItem { + id: icon + + readonly property int defaultIconSize: root.parent.flat ? PlasmaCore.Units.iconSizes.smallMedium : PlasmaCore.Units.iconSizes.small + + Layout.alignment: Qt.AlignCenter + + Layout.fillWidth: true + Layout.fillHeight: true + + Layout.minimumWidth: Math.min(parent.width, parent.height, implicitWidth) + Layout.minimumHeight: Math.min(parent.width, parent.height, implicitHeight) + + Layout.maximumWidth: root.parent.icon.width > 0 ? root.parent.icon.width : Number.POSITIVE_INFINITY + Layout.maximumHeight: root.parent.icon.height > 0 ? root.parent.icon.height : Number.POSITIVE_INFINITY + + implicitWidth: root.parent.icon.width > 0 ? root.parent.icon.width : defaultIconSize + implicitHeight: root.parent.icon.height > 0 ? root.parent.icon.height : defaultIconSize + colorGroup: parent.PlasmaCore.ColorScope.colorGroup + visible: source.length > 0 && root.parent.display !== T.Button.TextOnly + source: root.parent.icon ? (root.parent.icon.name || root.parent.icon.source) : "" + status: usingFocusBackground ? PlasmaCore.Svg.Selected : PlasmaCore.Svg.Normal + } + PlasmaComponents.Label { + id: label + Layout.fillWidth: true + Layout.fillHeight: true + visible: text.length > 0 && root.parent.display !== T.Button.IconOnly + text: labelText + font: root.parent.font + color: usingFocusBackground ? PlasmaCore.ColorScope.highlightedTextColor : PlasmaCore.ColorScope.textColor + horizontalAlignment: root.parent.display !== T.Button.TextUnderIcon && icon.visible ? Text.AlignLeft : Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + } + PlasmaCore.Svg { + id: buttonSvg + imagePath: "widgets/button" + } +} diff --git a/src/declarativeimports/plasmaextracomponents/qml/ListItem.qml b/src/declarativeimports/plasmaextracomponents/qml/ListItem.qml index 4c6c3e82a..977084150 100644 --- a/src/declarativeimports/plasmaextracomponents/qml/ListItem.qml +++ b/src/declarativeimports/plasmaextracomponents/qml/ListItem.qml @@ -30,7 +30,7 @@ Kirigami.AbstractListItem { * * Whether this ListItem renders as a section header. */ - property bool sectionDelegate: true + property bool sectionDelegate: false /** * containsMouse: bool @@ -46,7 +46,7 @@ Kirigami.AbstractListItem { topPadding: __background.margins.top bottomPadding: __background.margins.bottom - implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) + implicitWidth: Math.max(__listItem.implicitBackgroundWidth + __listItem.leftInset + __listItem.rightInset, __listItem.implicitContentWidthimplicitContentWidth + __listItem.leftPadding + __listItem.rightPadding) // TODO KF6: Make this behave more like the normal Control default. // Behaving this way for backwards compatibility reasons. diff --git a/src/declarativeimports/plasmaextracomponents/qml/PlasmoidHeading.qml b/src/declarativeimports/plasmaextracomponents/qml/PlasmoidHeading.qml index 511df8239..4713080b4 100644 --- a/src/declarativeimports/plasmaextracomponents/qml/PlasmoidHeading.qml +++ b/src/declarativeimports/plasmaextracomponents/qml/PlasmoidHeading.qml @@ -55,6 +55,10 @@ import QtQuick.Templates 2.12 as T visible: fromCurrentTheme imagePath: "widgets/plasmoidheading" prefix: location == PlasmoidHeading.Location.Header? 'header' : 'footer' + + colorGroup: location == PlasmoidHeading.Location.Header ? PlasmaCore.Theme.HeaderColorGroup : PlasmaCore.Theme.WindowColorGroup + PlasmaCore.ColorScope.inherit: false + enabledBorders: { var borders = 0 borders |= PlasmaCore.FrameSvg.LeftBorder diff --git a/src/desktoptheme/air/metadata.desktop.cmake b/src/desktoptheme/air/metadata.desktop.cmake index fabf78005..7781a4e94 100644 --- a/src/desktoptheme/air/metadata.desktop.cmake +++ b/src/desktoptheme/air/metadata.desktop.cmake @@ -32,6 +32,7 @@ Name[pa]=ਏਅਰ Name[pl]=Powietrze Name[pt]=Air Name[pt_BR]=Air +Name[ro]=Aer Name[ru]=Air Name[sk]=Vzduch Name[sl]=Zrak @@ -44,6 +45,7 @@ Name[tg]=Ҳаво Name[tr]=Air Name[ug]=ھاۋا Name[uk]=Air +Name[vi]=Air Name[x-test]=xxAirxx Name[zh_CN]=大气 Name[zh_TW]=Air @@ -80,6 +82,7 @@ Comment[pa]=ਤਾਜ਼ਾ ਹਵਾ ਵਿੱਚ ਸਾਹ ਲਵੋ Comment[pl]=Powiew świeżego powietrza Comment[pt]=Uma brisa de ar fresco Comment[pt_BR]=Um pouco de ar fresco +Comment[ro]=O gură de aer proaspăt Comment[ru]=Волшебные пузырьки Comment[sk]=Závan čerstvého vzduchu Comment[sl]=Svež vetrič @@ -92,6 +95,7 @@ Comment[tg]=Нафаскашии ҳавои тоза Comment[tr]=Temiz havadan bir nefes Comment[ug]=ساپ ھاۋادىن نەپەسلىنىش Comment[uk]=Ковток свіжого повітря +Comment[vi]=Một luồng không khí trong lành Comment[x-test]=xxA breath of fresh airxx Comment[zh_CN]=呼吸清新空气 Comment[zh_TW]=吸一口新鮮空氣 @@ -103,7 +107,6 @@ X-KDE-PluginInfo-Name=air X-KDE-PluginInfo-Version=@KF5_VERSION@ X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/src/desktoptheme/breeze-dark/CMakeLists.txt b/src/desktoptheme/breeze-dark/CMakeLists.txt index 1e111f426..8f2078e4d 100644 --- a/src/desktoptheme/breeze-dark/CMakeLists.txt +++ b/src/desktoptheme/breeze-dark/CMakeLists.txt @@ -10,5 +10,5 @@ install( ) install( FILES ${PROJECT_BINARY_DIR}/src/desktoptheme/breeze/default.gzipped/widgets/plasmoidheading.svgz - DESTINATION ${PLASMA_DATA_INSTALL_DIR}/desktoptheme/breeze-dark + DESTINATION ${PLASMA_DATA_INSTALL_DIR}/desktoptheme/breeze-dark/widgets ) diff --git a/src/desktoptheme/breeze-dark/metadata.desktop.cmake b/src/desktoptheme/breeze-dark/metadata.desktop.cmake index 68770aee2..009358be0 100644 --- a/src/desktoptheme/breeze-dark/metadata.desktop.cmake +++ b/src/desktoptheme/breeze-dark/metadata.desktop.cmake @@ -30,6 +30,7 @@ Name[pa]=ਬਰੀਜ਼ ਗੂੜ੍ਹਾ Name[pl]=Ciemna bryza Name[pt]=Brisa Escura Name[pt_BR]=Breeze Dark +Name[ro]=Briză, întunecat Name[ru]=Breeze, тёмный вариант Name[sk]=Vánok Tmavý Name[sl]=Sapica (temna) @@ -41,6 +42,7 @@ Name[sv]=Breeze mörk Name[tg]=Насими торик Name[tr]=Esintili Koyu Name[uk]=Темна Breeze +Name[vi]=Breeze Tối Name[x-test]=xxBreeze Darkxx Name[zh_CN]=暗色微风 Name[zh_TW]=Breeze Dark @@ -69,12 +71,14 @@ Comment[pa]=ਕੇਡੀਈ ਵੀਡੀਜੀ ਵਲੋਂ ਬਰੀਜ਼ ਗੂ Comment[pl]=Ciemna bryza autorstwa KDE VDG Comment[pt]=Brisa Escuro da VDG do KDE Comment[pt_BR]=Breeze Dark pelo KDE VDG +Comment[ro]=Briză, întunecat, de KDE VDG Comment[ru]=Тёмный вариант Breeze от KDE VDG Comment[sk]=Vánok Tmavý od KDE VDG Comment[sl]=Sapica temna (Breeze Dark) od KDE VDG Comment[sv]=Breeze mörk av KDE:s visuella designgrupp Comment[tg]=Насими торик аз KDE VDG Comment[uk]=Темна Breeze, автори — KDE VDG +Comment[vi]=Breeze Tối, do KDE VDG Comment[x-test]=xxBreeze Dark by the KDE VDGxx Comment[zh_CN]=暗色微风,由 KDE VDG 创作 Comment[zh_TW]=由 KDE VDG 團隊製作的 Breeze Dark @@ -86,7 +90,6 @@ X-KDE-PluginInfo-Name=breeze-dark X-KDE-PluginInfo-Version=@KF5_VERSION@ X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/src/desktoptheme/breeze-light/CMakeLists.txt b/src/desktoptheme/breeze-light/CMakeLists.txt index 1cea93b37..678033cec 100644 --- a/src/desktoptheme/breeze-light/CMakeLists.txt +++ b/src/desktoptheme/breeze-light/CMakeLists.txt @@ -10,5 +10,5 @@ install( ) install( FILES ${PROJECT_BINARY_DIR}/src/desktoptheme/breeze/default.gzipped/widgets/plasmoidheading.svgz - DESTINATION ${PLASMA_DATA_INSTALL_DIR}/desktoptheme/breeze-light + DESTINATION ${PLASMA_DATA_INSTALL_DIR}/desktoptheme/breeze-light/widgets ) diff --git a/src/desktoptheme/breeze-light/metadata.desktop.cmake b/src/desktoptheme/breeze-light/metadata.desktop.cmake index 9515d746e..bfc670334 100644 --- a/src/desktoptheme/breeze-light/metadata.desktop.cmake +++ b/src/desktoptheme/breeze-light/metadata.desktop.cmake @@ -19,7 +19,7 @@ Name[hu]=Breeze Light Name[ia]=Brisa legier Name[id]=Breeze Terang Name[it]=Brezza chiaro -Name[ko]=Breeze Light +Name[ko]=밝은 Breeze Name[lt]=Breeze šviesus Name[lv]=Gaišā brīze Name[nl]=Breeze Light @@ -28,6 +28,7 @@ Name[pa]=ਬਰੀਜ਼ ਹਲਕਾ Name[pl]=Jasna Bryza Name[pt]=Brisa Clara Name[pt_BR]=Breeze Light +Name[ro]=Briză, luminos Name[ru]=Breeze, светлый вариант Name[sk]=Vánok Svetlý Name[sl]=Sapica (svetla) (Breeze Light) @@ -39,6 +40,7 @@ Name[sv]=Breeze ljus Name[tg]=Насими равшан Name[tr]=Hafif Esinti Name[uk]=Світла Breeze +Name[vi]=Breeze Sáng Name[x-test]=xxBreeze Lightxx Name[zh_CN]=亮色微风 Name[zh_TW]=Breeze Light @@ -60,19 +62,21 @@ Comment[hu]=Breeze Light a KDE VDG-től Comment[ia]=Brisa legier per le KDE VDG Comment[id]=Breeze Terang oleh KDE VDG Comment[it]=Brezza chiaro del KDE VDG -Comment[ko]=KDE 시각 디자인 그룹에서 제작한 Breeze Light +Comment[ko]=KDE 시각 디자인 그룹에서 제작한 밝은 Breeze Comment[lt]=Breeze šviesus pagal KDE VDG Comment[nl]=Breeze Light door de KDE VDG Comment[nn]=Breeze lys frå KDE VDG Comment[pl]=Jasna Bryza autorstwa KDE VDG Comment[pt]=Brisa Claro da VDG do KDE Comment[pt_BR]=Breeze Light pelo KDE VDG +Comment[ro]=Briză, luminos, de KDE VDG Comment[ru]=Светлый вариант Breeze от KDE VDG Comment[sk]=Vánok Svetlý od KDE VDG Comment[sl]=Sapica (svetla) (Breeze Light) od KDE VDG Comment[sv]=Breeze ljus av KDE:s visuella designgrupp Comment[tg]=Насими равшан аз KDE VDG Comment[uk]=Світла Breeze, автори — KDE VDG +Comment[vi]=Breeze Sáng, do KDE VDG Comment[x-test]=xxBreeze Light by the KDE VDGxx Comment[zh_CN]=亮色微风,由 KDE VDG 创作 Comment[zh_TW]=由 KDE VDG 團隊製作的 Breeze Light @@ -84,7 +88,6 @@ X-KDE-PluginInfo-Name=default X-KDE-PluginInfo-Version=@KF5_VERSION@ X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/src/desktoptheme/breeze/icons/plasmavault_error.svg b/src/desktoptheme/breeze/icons/plasmavault_error.svg index df75cb7b9..fc3607a94 100644 --- a/src/desktoptheme/breeze/icons/plasmavault_error.svg +++ b/src/desktoptheme/breeze/icons/plasmavault_error.svg @@ -6,11 +6,11 @@ color:#da4453; } - + - + diff --git a/src/desktoptheme/breeze/metadata.desktop.cmake b/src/desktoptheme/breeze/metadata.desktop.cmake index e49ad232b..468ff62d9 100644 --- a/src/desktoptheme/breeze/metadata.desktop.cmake +++ b/src/desktoptheme/breeze/metadata.desktop.cmake @@ -30,6 +30,7 @@ Name[pa]=ਬਰੀਜ਼ Name[pl]=Bryza Name[pt]=Brisa Name[pt_BR]=Breeze +Name[ro]=Briză Name[ru]=Breeze Name[sk]=Vánok Name[sl]=Sapica @@ -41,6 +42,7 @@ Name[sv]=Breeze Name[tg]=Насим Name[tr]=Esintili Name[uk]=Breeze +Name[vi]=Breeze Name[x-test]=xxBreezexx Name[zh_CN]=微风 Name[zh_TW]=Breeze @@ -68,12 +70,14 @@ Comment[nn]=Breeze frå KDE VDG Comment[pl]=Bryza autorstwa KDE VDG Comment[pt]=Brisa da VDG do KDE Comment[pt_BR]=Breeze pelo KDE VDG +Comment[ro]=Briză, de KDE VDG Comment[ru]=Breeze от KDE VDG Comment[sk]=Vánok od KDE VDG Comment[sl]=Sapica (Breeze) od KDE VDG Comment[sv]=Breeze av KDE:s visuella designgrupp Comment[tg]=Насим аз KDE VDG Comment[uk]=Breeze, автори — KDE VDG +Comment[vi]=Breeze, do KDE VDG Comment[x-test]=xxBreeze by the KDE VDGxx Comment[zh_CN]=微风,由 KDE VDG 创作 Comment[zh_TW]=由 KDE VDG 團隊製作的 Breeze @@ -85,7 +89,6 @@ X-KDE-PluginInfo-Name=default X-KDE-PluginInfo-Version=@KF5_VERSION@ X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/src/desktoptheme/breeze/widgets/button.svg b/src/desktoptheme/breeze/widgets/button.svg index fbeeeed89..bede6c628 100644 --- a/src/desktoptheme/breeze/widgets/button.svg +++ b/src/desktoptheme/breeze/widgets/button.svg @@ -318,101 +318,101 @@ - + - + - + - + - + - + - + - + - - - - - + + + + + - + - + - + - + - + - + - + - - - - + + + + - - + + - - - - - - - - - - + + + + + + + + + + normal hover focus @@ -429,8 +429,10 @@ NOTE: shadow, hover and focus (not focus-background) use negative margins! This behavior is implemented in at least the following files (please keep this up to date, fix the problem or find a better place to put this info): plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonShadow.qml - -We should add support for a negative margins hint to FrameSvg and document it instead of requiring people to read source code in order to know these things. Unfortunately, not sure if we can change the code of ButtonShadow since it would break themes that rely on this undocumented behaviour. Maybe in KF6. +plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonHover.qml +plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonFocus.qml + +We should add support for a negative margins hint to FrameSvg and document it instead of requiring people to read source code in order to know these things. Unfortunately, not sure if we can change the code of ButtonShadow since it would break themes that rely on this undocumented behaviour. Maybe in KF6. diff --git a/src/desktoptheme/oxygen/metadata.desktop.cmake b/src/desktoptheme/oxygen/metadata.desktop.cmake index c1ff35904..546ea085a 100644 --- a/src/desktoptheme/oxygen/metadata.desktop.cmake +++ b/src/desktoptheme/oxygen/metadata.desktop.cmake @@ -32,6 +32,7 @@ Name[pa]=ਆਕਸੀਜਨ Name[pl]=Tlen Name[pt]=Oxygen Name[pt_BR]=Oxygen +Name[ro]=Oxygen Name[ru]=Oxygen Name[sk]=Oxygen Name[sl]=Kisik (Oxygen) @@ -44,6 +45,7 @@ Name[tg]=Oxygen Name[tr]=Oxygen Name[ug]=ئوكسېگىن Name[uk]=Oxygen +Name[vi]=Oxygen Name[x-test]=xxOxygenxx Name[zh_CN]=Oxygen Name[zh_TW]=Oxygen @@ -79,6 +81,7 @@ Comment[pa]=ਥੀਮ ਆਕਸੀਜਨ ਸਟਾਇਲ 'ਚ Comment[pl]=Wystrój wzorowany na stylu Tlen Comment[pt]=Um tema feito com o estilo Oxygen Comment[pt_BR]=Tema criado no estilo Oxygen +Comment[ro]=Tematică executată în stilul Oxygen Comment[ru]=Тема, выполненная в стиле Oxygen Comment[sk]=Téma v štýle Oxygen Comment[sl]=Tema v slogu videza Kisik (Oxygen) @@ -91,6 +94,7 @@ Comment[tg]=Мавзӯъ дар асоси услуби Oxygen Comment[tr]=Oxygen biçimi ile yapılmış tema Comment[ug]=ئوكسېگىن ئۇسلۇبىدىكى ئۆرنەك Comment[uk]=Тема в стилі Oxygen +Comment[vi]=Chủ đề được tạo với kiểu cách Oxygen Comment[x-test]=xxTheme done in the Oxygen stylexx Comment[zh_CN]=Oxygen 风格的主题 Comment[zh_TW]=以 Oxygen 樣式完成的外觀主題 @@ -101,7 +105,6 @@ X-KDE-PluginInfo-Name=oxygen X-KDE-PluginInfo-Version=@KF5_VERSION@ X-KDE-PluginInfo-Website=https://plasma.kde.org X-KDE-PluginInfo-Category= -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-API=5.0 diff --git a/src/plasma/corona.cpp b/src/plasma/corona.cpp index 9d74e233b..5e337720c 100644 --- a/src/plasma/corona.cpp +++ b/src/plasma/corona.cpp @@ -403,9 +403,9 @@ void Corona::setEditMode(bool edit) QAction *editAction = d->actions.action(QStringLiteral("edit mode")); if (editAction) { if (edit) { - editAction->setText(i18n("Finish Customizing Layout")); + editAction->setText(i18n("Exit Edit Mode")); } else { - editAction->setText(i18n("Customize Layout...")); + editAction->setText(i18n("Enter Edit Mode")); } } @@ -489,7 +489,7 @@ void CoronaPrivate::init() QObject::connect(editAction, &QAction::triggered, q, [this] () { q->setEditMode(!q->isEditMode()); }); - editAction->setText(i18n("Customize Layout...")); + editAction->setText(i18n("Enter Edit Mode")); editAction->setAutoRepeat(true); editAction->setIcon(QIcon::fromTheme(QStringLiteral("document-edit"))); editAction->setData(Plasma::Types::ControlAction); diff --git a/src/plasma/data/servicetypes/plasma-applet.desktop b/src/plasma/data/servicetypes/plasma-applet.desktop index d961031d5..ed4befdf0 100644 --- a/src/plasma/data/servicetypes/plasma-applet.desktop +++ b/src/plasma/data/servicetypes/plasma-applet.desktop @@ -35,6 +35,7 @@ Comment[pa]=ਪਾਲਜ਼ਮਾ ਐਪਲਿਟ Comment[pl]=Aplet Plazmy Comment[pt]='Applet' do Plasma Comment[pt_BR]=Miniaplicativo do Plasma +Comment[ro]=Miniaplicație Plasma Comment[ru]=Виджет Plasma Comment[sk]=Plasma aplet Comment[sl]=Plasma aplet @@ -47,6 +48,7 @@ Comment[tg]=Зербарномаи Plasma Comment[tr]=Plasma programcığı Comment[ug]=Plasma قوللانچاق Comment[uk]=Аплет Плазми +Comment[vi]=Tiểu ứng dụng Plasma Comment[x-test]=xxPlasma appletxx Comment[zh_CN]=Plasma 小程序 Comment[zh_TW]=Plasma 小程式 diff --git a/src/plasma/data/servicetypes/plasma-containment.desktop b/src/plasma/data/servicetypes/plasma-containment.desktop index e045fd5b1..c6456ce59 100644 --- a/src/plasma/data/servicetypes/plasma-containment.desktop +++ b/src/plasma/data/servicetypes/plasma-containment.desktop @@ -33,6 +33,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਐਪਲਿਟ ਕੰਨਟੇਨਰ ਅਤ Comment[pl]=Pojemnik apletu Plazmy i malowanie w tle Comment[pt]=Contentor de 'applets' do Plasma e pintor do fundo Comment[pt_BR]=Recipiente de miniaplicativos do Plasma e pintor de plano de fundo +Comment[ro]=Container de miniaplicații Plasma și desenator de fundal Comment[ru]=Контейнер и модуль отрисовки виджета Plasma Comment[sk]=Kontainer appletov Plasma a vykresľovač pozadia Comment[sl]=Vsebnik apletov in izrisovalnik ozadja za Plasmo @@ -45,6 +46,7 @@ Comment[tg]=Дарбаргирандаи зербарномаи Plasma ва ра Comment[tr]=Plasma programcık içerici ve arkaplan oluşturucu Comment[ug]=Plasma قاچا ھەرىكىتى ۋە تەگلىك سىزغۇچ Comment[uk]=Контейнер аплетів Плазми і малювання у тлі +Comment[vi]=Trình bao chứa tiểu ứng dụng và trình tô nền Plasma Comment[x-test]=xxPlasma applet container and background painterxx Comment[zh_CN]=Plasma 挂件容器和背景绘制器 Comment[zh_TW]=Plasma 小程式容器與背景畫家 diff --git a/src/plasma/data/servicetypes/plasma-containmentactions.desktop b/src/plasma/data/servicetypes/plasma-containmentactions.desktop index 96df8b49b..0dd5b2c0a 100644 --- a/src/plasma/data/servicetypes/plasma-containmentactions.desktop +++ b/src/plasma/data/servicetypes/plasma-containmentactions.desktop @@ -44,6 +44,7 @@ Comment[tg]=Амалҳои дарбаргирандаи Plasma Comment[tr]=Plasma İçerici Eylemleri Comment[ug]=Plasma قاچا ھەرىكىتى Comment[uk]=Дії контейнерів Плазми +Comment[vi]=ContainmentActions trong Plasma Comment[x-test]=xxPlasma ContainmentActionsxx Comment[zh_CN]=Plasma 容器动作 Comment[zh_TW]=Plasma 容器動作 diff --git a/src/plasma/data/servicetypes/plasma-dataengine.desktop b/src/plasma/data/servicetypes/plasma-dataengine.desktop index dd044b8b7..58821d037 100644 --- a/src/plasma/data/servicetypes/plasma-dataengine.desktop +++ b/src/plasma/data/servicetypes/plasma-dataengine.desktop @@ -35,6 +35,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਡਾਟਾ ਇੰਜਣ Comment[pl]=Silnik danych Plazmy Comment[pt]=Motor de Dados do Plasma Comment[pt_BR]=Mecanismo de dados do Plasma +Comment[ro]=Motor de date Plasma Comment[ru]=Источник данных Plasma Comment[sk]=Dátový nástroj Plasma Comment[sl]=Podatkovni pogon za Plasmo @@ -47,6 +48,7 @@ Comment[tg]=Низоми иттилоотии Plasma Comment[tr]=Plasma Veri Motoru Comment[ug]=Plasma سانلىق-مەلۇمات ماتورى Comment[uk]=Рушій даних Плазми +Comment[vi]=Dụng cụ dữ liệu của Plasma Comment[x-test]=xxPlasma Data Enginexx Comment[zh_CN]=Plasma 数据引擎 Comment[zh_TW]=Plasma 資料引擎 diff --git a/src/plasma/data/servicetypes/plasma-generic.desktop b/src/plasma/data/servicetypes/plasma-generic.desktop index 3475d6f8e..c141425c7 100644 --- a/src/plasma/data/servicetypes/plasma-generic.desktop +++ b/src/plasma/data/servicetypes/plasma-generic.desktop @@ -33,6 +33,7 @@ Name[pa]=ਪਲਾਜ਼ਮਾ ਪੈਕੇਜ Name[pl]=Pakiet Plazmy Name[pt]=Pacote do Plasma Name[pt_BR]=Pacote do Plasma +Name[ro]=Pachet Plasma Name[ru]=Пакет Plasma Name[sk]=Plasma balík Name[sl]=Paket za Plasmo @@ -44,6 +45,7 @@ Name[sv]=Plasma-paket Name[tg]=Бастаи Plasma Name[tr]=Plasma Paketi Name[uk]=Пакунок Плазми +Name[vi]=Gói Plasma Name[x-test]=xxPlasma Packagexx Name[zh_CN]=Plasma 包 Name[zh_TW]=Plasma 套件包 @@ -78,6 +80,7 @@ Comment[pa]=ਆਮ ਪਲਾਜ਼ਮਾ ਪੈਕੇਜ Comment[pl]=Zwykły Pakiet Plazmy Comment[pt]=Pacote Genérico do Plasma Comment[pt_BR]=Pacote genérico do Plasma +Comment[ro]=Pachet Plasma generic Comment[ru]=Произвольный пакет Plasma Comment[sk]=Všeobecný Plasma balík Comment[sl]=Splošen paket za Plasmo @@ -89,6 +92,7 @@ Comment[sv]=Generellt Plasma-paket Comment[tg]=Бастаи умумии Plasma Comment[tr]=Genel Plasma Paketi Comment[uk]=Типовий пакунок Плазми +Comment[vi]=Gói Plasma chung Comment[x-test]=xxGeneric Plasma Packagexx Comment[zh_CN]=通用 Plasma 包 Comment[zh_TW]=一般 Plasma 套件包 diff --git a/src/plasma/data/servicetypes/plasma-lookandfeel.desktop b/src/plasma/data/servicetypes/plasma-lookandfeel.desktop index ad79d94f5..c141b063b 100644 --- a/src/plasma/data/servicetypes/plasma-lookandfeel.desktop +++ b/src/plasma/data/servicetypes/plasma-lookandfeel.desktop @@ -32,6 +32,7 @@ Name[pa]=ਪਲਾਜ਼ਮਾ ਦਿੱਖ ਤੇ ਪਰਭਾਵ Name[pl]=Odczucia i wygląd Plazmy Name[pt]=Aparência e Comportamento do Plasma Name[pt_BR]=Aparência e comportamento do Plasma +Name[ro]=Aspect și comportament Plasma Name[ru]=Оформление Plasma Name[sk]=Vzhľad a nastavenie Plasmy Name[sl]=Videz in občutek Plasme @@ -43,6 +44,7 @@ Name[sv]=Plasma utseende och känsla Name[tg]=Намуди зоҳирии Plasma Name[tr]=Plasma Görünüş ve Dokunuş Name[uk]=Вигляд і поведінка Плазми +Name[vi]=Nhìn và Cảm Plasma Name[x-test]=xxPlasma Look and Feelxx Name[zh_CN]=Plasma 观感 Name[zh_TW]=Plasma 外觀與感覺 @@ -84,6 +86,7 @@ Comment[sv]=Definierar det visuella språket för Plasma skal Comment[tg]=Забони намоёнро барои воситаҳои Plasma муайян мекунад Comment[tr]=Plasma Kabukları için Sanal Dili tanımlar Comment[uk]=Визначає візуальну мову для оболонок Плазми +Comment[vi]=Định ra Ngôn ngữ Trực quan cho Hệ vỏ Plasma Comment[x-test]=xxDefines the Visual Language for Plasma Shellsxx Comment[zh_CN]=定义 Plasma Shell 的视觉语言 Comment[zh_TW]=定義 Plasma Shells 的視覺語言 diff --git a/src/plasma/data/servicetypes/plasma-packagestructure.desktop b/src/plasma/data/servicetypes/plasma-packagestructure.desktop index faeb41442..f2a0fe23d 100644 --- a/src/plasma/data/servicetypes/plasma-packagestructure.desktop +++ b/src/plasma/data/servicetypes/plasma-packagestructure.desktop @@ -45,6 +45,7 @@ Comment[tg]=Таърифи сохтори бастаи Plasma Comment[tr]=Plasma paketi yapı tanımlaması Comment[ug]=Plasma بوغچا قۇرۇلما ئېنىقلىمىسى Comment[uk]=Опис структури пакунка плазми +Comment[vi]=Định nghĩa cấu trúc gói Plasma Comment[x-test]=xxPlasma package structure definitionxx Comment[zh_CN]=Plasma 包结构定义 Comment[zh_TW]=Plasma 套件包結構定義 diff --git a/src/plasma/data/servicetypes/plasma-scriptengine.desktop b/src/plasma/data/servicetypes/plasma-scriptengine.desktop index a3d641fb4..d0b54ef1a 100644 --- a/src/plasma/data/servicetypes/plasma-scriptengine.desktop +++ b/src/plasma/data/servicetypes/plasma-scriptengine.desktop @@ -45,6 +45,7 @@ Comment[tg]=Васеъшавии забони намоишнома барои Pl Comment[tr]=Plasma için betik dili eklentisi Comment[ug]=Plasma نىڭ قوليازما تىل كېڭەيتىلمىسى Comment[uk]=Розширення скриптових мов для Плазми +Comment[vi]=Phần mở rộng "Ngôn ngữ kịch bản" cho Plasma Comment[x-test]=xxScripting language extension for Plasmaxx Comment[zh_CN]=Plasma 的脚本语言扩展 Comment[zh_TW]=Plasma 文稿語言延伸 diff --git a/src/plasma/data/servicetypes/plasma-service.desktop b/src/plasma/data/servicetypes/plasma-service.desktop index f0f01322e..3e9466357 100644 --- a/src/plasma/data/servicetypes/plasma-service.desktop +++ b/src/plasma/data/servicetypes/plasma-service.desktop @@ -35,6 +35,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਸਰਵਿਸ Comment[pl]=Usługa Plazmy Comment[pt]=Serviço do Plasma Comment[pt_BR]=Serviço do Plasma +Comment[ro]=Serviciu Plasma Comment[ru]=Служба Plasma Comment[sk]=Služba Plasma Comment[sl]=Storitev Plasme @@ -47,6 +48,7 @@ Comment[tg]=Хидмати Plasma Comment[tr]=Plasma servisi Comment[ug]=Plasma مۇلازىمىتى Comment[uk]=Служба Плазми +Comment[vi]=Dịch vụ Plasma Comment[x-test]=xxPlasma servicexx Comment[zh_CN]=Plasma 服务 Comment[zh_TW]=Plasma 服務 diff --git a/src/plasma/data/servicetypes/plasma-shell.desktop b/src/plasma/data/servicetypes/plasma-shell.desktop index e91dc9a3d..3431cfaff 100644 --- a/src/plasma/data/servicetypes/plasma-shell.desktop +++ b/src/plasma/data/servicetypes/plasma-shell.desktop @@ -33,6 +33,7 @@ Name[pa]=ਪਲਾਜ਼ਮਾ ਸ਼ੈੱਲ Name[pl]=Powłoka Plazmy Name[pt]=Consola do Plasma Name[pt_BR]=Plasma Shell +Name[ro]=Învelișul Plasma Name[ru]=Оболочка Plasma Name[sk]=Plasma Shell Name[sl]=Lupina za Plasmo @@ -44,6 +45,7 @@ Name[sv]=Plasma skal Name[tg]=Восити Plasma Name[tr]=Plasma Kabuğu Name[uk]=Оболонка Плазми +Name[vi]=Hệ vỏ Plasma Name[x-test]=xxPlasma Shellxx Name[zh_CN]=Plasma 外壳 Name[zh_TW]=Plasma Shell @@ -78,6 +80,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਸ਼ੈੱਲ ਭਾਗ Comment[pl]=Składniki powłoki Plazmy Comment[pt]=Componentes da Consola do Plasma Comment[pt_BR]=Componentes do Plasma Shell +Comment[ro]=Componente ale învelișului Plasma Comment[ru]=Компоненты оболочки Plasma Comment[sk]=Komponenty shellu Plasma Comment[sl]=Sestavni deli lupine za Plasmo @@ -89,6 +92,7 @@ Comment[sv]=Plasma skalkomponenter Comment[tg]=Унсурҳои восити Plasma Comment[tr]=Plasma Kabuğu Bileşenleri Comment[uk]=Компоненти оболонки Плазми +Comment[vi]=Các thành phần hệ vỏ Plasma Comment[x-test]=xxPlasma Shell Componentsxx Comment[zh_CN]=Plasma 外壳部件 Comment[zh_TW]=Plasma Shell 組件 diff --git a/src/plasma/framesvg.cpp b/src/plasma/framesvg.cpp index 2213646db..143ba1137 100644 --- a/src/plasma/framesvg.cpp +++ b/src/plasma/framesvg.cpp @@ -61,7 +61,7 @@ void FrameSvg::setImagePath(const QString &path) setContainsMultipleImages(true); Svg::d->setImagePath(path); if (!d->repaintBlocked) { - d->updateFrameData(); + d->updateFrameData(Svg::d->lastModified); } } @@ -74,7 +74,7 @@ void FrameSvg::setEnabledBorders(const EnabledBorders borders) d->enabledBorders = borders; if (!d->repaintBlocked) { - d->updateFrameData(); + d->updateFrameData(Svg::d->lastModified); } } @@ -108,7 +108,7 @@ void FrameSvg::setElementPrefix(Plasma::Types::Location location) void FrameSvg::setElementPrefix(const QString &prefix) { - if (!hasElement(prefix % QLatin1String("-center"))) { + if (prefix.isEmpty() || !hasElement(prefix % QLatin1String("-center"))) { d->prefix.clear(); } else { d->prefix = prefix; @@ -121,7 +121,7 @@ void FrameSvg::setElementPrefix(const QString &prefix) d->location = Types::Floating; if (!d->repaintBlocked) { - d->updateFrameData(); + d->updateFrameData(Svg::d->lastModified); } } @@ -179,7 +179,7 @@ void FrameSvg::resizeFrame(const QSizeF &size) d->pendingFrameSize = size.toSize(); if (!d->repaintBlocked) { - d->updateFrameData(FrameSvgPrivate::UpdateFrame); + d->updateFrameData(Svg::d->lastModified, FrameSvgPrivate::UpdateFrame); } } @@ -437,6 +437,7 @@ QSharedPointer FrameSvgPrivate::lookupOrCreateMaskFrame(const QShared mask->enabledBorders = frame->enabledBorders; mask->frameSize = frameSize(frame).toSize(); mask->cacheId = key; + mask->lastModified = frame->lastModified; s_sharedFrames[q->theme()->d].insert(key, mask); return mask; @@ -455,10 +456,10 @@ void FrameSvgPrivate::generateBackground(const QSharedPointer &frame) const bool overlayAvailable = !frame->prefix.startsWith(QLatin1String("mask-")) && q->hasElement(frame->prefix % QLatin1String("overlay")); QPixmap overlay; if (q->isUsingRenderingCache()) { - frameCached = q->theme()->findInCache(id, frame->cachedBackground) && !frame->cachedBackground.isNull(); + frameCached = q->theme()->findInCache(id, frame->cachedBackground, frame->lastModified) && !frame->cachedBackground.isNull(); if (overlayAvailable) { - overlayCached = q->theme()->findInCache(QLatin1String("overlay_") % id, overlay) && !overlay.isNull(); + overlayCached = q->theme()->findInCache(QLatin1String("overlay_") % id, overlay, frame->lastModified) && !overlay.isNull(); } } @@ -579,7 +580,7 @@ QRect FrameSvgPrivate::contentGeometry(const QSharedPointer &frame, c return contentRect; } -void FrameSvgPrivate::updateFrameData(UpdateType updateType) +void FrameSvgPrivate::updateFrameData(uint lastModified, UpdateType updateType) { auto fd = frame; QString newKey; @@ -629,6 +630,7 @@ void FrameSvgPrivate::updateFrameData(UpdateType updateType) fd->enabledBorders = enabledBorders; fd->frameSize = pendingFrameSize; fd->imagePath = q->imagePath(); + fd->lastModified = lastModified; //was fd just created empty now? if (newKey.isEmpty()) { newKey = cacheId(fd.data(), prefix); @@ -875,7 +877,7 @@ void FrameSvg::setRepaintBlocked(bool blocked) d->repaintBlocked = blocked; if (!blocked) { - d->updateFrameData(); + d->updateFrameData(Svg::d->lastModified); } } diff --git a/src/plasma/packagestructure/containmentactions-packagestructure.json b/src/plasma/packagestructure/containmentactions-packagestructure.json index 61e55d6aa..398d4a45a 100644 --- a/src/plasma/packagestructure/containmentactions-packagestructure.json +++ b/src/plasma/packagestructure/containmentactions-packagestructure.json @@ -30,6 +30,7 @@ "Name[pl]": "Aaron Seigo", "Name[pt]": "Aaron Seigo", "Name[pt_BR]": "Aaron Seigo", + "Name[ro]": "Aaron Seigo", "Name[ru]": "Aaron Seigo", "Name[sk]": "Aaron Seigo", "Name[sl]": "Aaron Seigo", @@ -41,6 +42,7 @@ "Name[tg]": "Аарон Сейго (Aaron Seigo)", "Name[tr]": "Aaron Seigo", "Name[uk]": "Aaron Seigo", + "Name[vi]": "Aaron Seigo", "Name[x-test]": "xxAaron Seigoxx", "Name[zh_CN]": "Aaron Seigo", "Name[zh_TW]": "Aaron Seigo" @@ -72,6 +74,7 @@ "Name[pl]": "Działania pojemnika", "Name[pt]": "Acções do Contentor", "Name[pt_BR]": "Ações do contêiner", + "Name[ro]": "Acțiuni container", "Name[ru]": "Действия для контейнера Plasma", "Name[sk]": "Akcie obsahu", "Name[sl]": "Dejanja vsebnikov", @@ -83,6 +86,7 @@ "Name[tg]": "Амалҳои дарбаргиранда", "Name[tr]": "Sınırlama Eylemleri", "Name[uk]": "Дії з контейнерами", + "Name[vi]": "Các hành động bao chứa", "Name[x-test]": "xxContainment Actionsxx", "Name[zh_CN]": "容器动作", "Name[zh_TW]": "遏止動作", diff --git a/src/plasma/packagestructure/dataengine-packagestructure.json b/src/plasma/packagestructure/dataengine-packagestructure.json index b571f2ab6..5d05e9782 100644 --- a/src/plasma/packagestructure/dataengine-packagestructure.json +++ b/src/plasma/packagestructure/dataengine-packagestructure.json @@ -30,6 +30,7 @@ "Name[pl]": "Aaron Seigo", "Name[pt]": "Aaron Seigo", "Name[pt_BR]": "Aaron Seigo", + "Name[ro]": "Aaron Seigo", "Name[ru]": "Aaron Seigo", "Name[sk]": "Aaron Seigo", "Name[sl]": "Aaron Seigo", @@ -41,6 +42,7 @@ "Name[tg]": "Аарон Сейго (Aaron Seigo)", "Name[tr]": "Aaron Seigo", "Name[uk]": "Aaron Seigo", + "Name[vi]": "Aaron Seigo", "Name[x-test]": "xxAaron Seigoxx", "Name[zh_CN]": "Aaron Seigo", "Name[zh_TW]": "Aaron Seigo" @@ -74,6 +76,7 @@ "Name[pl]": "Silnik danych", "Name[pt]": "Motor de Dados", "Name[pt_BR]": "Mecanismo de dados", + "Name[ro]": "Motor de date", "Name[ru]": "Источник данных Plasma", "Name[sk]": "Dátový nástroj", "Name[sl]": "Podatkovni pogon", @@ -85,6 +88,7 @@ "Name[tg]": "Низоми иттилоотӣ", "Name[tr]": "Veri Motoru", "Name[uk]": "Рушій даних", + "Name[vi]": "Dụng cụ dữ liệu", "Name[x-test]": "xxData Enginexx", "Name[zh_CN]": "数据引擎", "Name[zh_TW]": "資料引擎", diff --git a/src/plasma/packagestructure/plasmageneric-packagestructure.json b/src/plasma/packagestructure/plasmageneric-packagestructure.json index 0b59a74e9..4e5a318a6 100644 --- a/src/plasma/packagestructure/plasmageneric-packagestructure.json +++ b/src/plasma/packagestructure/plasmageneric-packagestructure.json @@ -30,6 +30,7 @@ "Name[pl]": "Aaron Seigo", "Name[pt]": "Aaron Seigo", "Name[pt_BR]": "Aaron Seigo", + "Name[ro]": "Aaron Seigo", "Name[ru]": "Aaron Seigo", "Name[sk]": "Aaron Seigo", "Name[sl]": "Aaron Seigo", @@ -41,6 +42,7 @@ "Name[tg]": "Аарон Сейго (Aaron Seigo)", "Name[tr]": "Aaron Seigo", "Name[uk]": "Aaron Seigo", + "Name[vi]": "Aaron Seigo", "Name[x-test]": "xxAaron Seigoxx", "Name[zh_CN]": "Aaron Seigo", "Name[zh_TW]": "Aaron Seigo" @@ -73,6 +75,7 @@ "Name[pl]": "Ogólne", "Name[pt]": "Genérico", "Name[pt_BR]": "Genérico", + "Name[ro]": "Generic", "Name[ru]": "Пакет Plasma общего назначения", "Name[sk]": "Všeobecné", "Name[sl]": "Splošno", @@ -84,6 +87,7 @@ "Name[tg]": "Умумӣ", "Name[tr]": "Genel", "Name[uk]": "Загальний", + "Name[vi]": "Chung", "Name[x-test]": "xxGenericxx", "Name[zh_CN]": "通用", "Name[zh_TW]": "一般", diff --git a/src/plasma/packagestructure/plasmatheme-packagestructure.json b/src/plasma/packagestructure/plasmatheme-packagestructure.json index b86954e7e..af65d98f8 100644 --- a/src/plasma/packagestructure/plasmatheme-packagestructure.json +++ b/src/plasma/packagestructure/plasmatheme-packagestructure.json @@ -30,6 +30,7 @@ "Name[pl]": "Aaron Seigo", "Name[pt]": "Aaron Seigo", "Name[pt_BR]": "Aaron Seigo", + "Name[ro]": "Aaron Seigo", "Name[ru]": "Aaron Seigo", "Name[sk]": "Aaron Seigo", "Name[sl]": "Aaron Seigo", @@ -41,6 +42,7 @@ "Name[tg]": "Аарон Сейго (Aaron Seigo)", "Name[tr]": "Aaron Seigo", "Name[uk]": "Aaron Seigo", + "Name[vi]": "Aaron Seigo", "Name[x-test]": "xxAaron Seigoxx", "Name[zh_CN]": "Aaron Seigo", "Name[zh_TW]": "Aaron Seigo" @@ -74,6 +76,7 @@ "Name[pl]": "Wystrój Plazmy", "Name[pt]": "Tema do Plasma", "Name[pt_BR]": "Tema do Plasma", + "Name[ro]": "Tematică Plasma", "Name[ru]": "Тема оформления Plasma", "Name[sk]": "Téma Plasmy", "Name[sl]": "Tema za Plasmo", @@ -85,6 +88,7 @@ "Name[tg]": "Мавзӯи Plasma", "Name[tr]": "Plasma Teması", "Name[uk]": "Тема Плазми", + "Name[vi]": "Chủ đề của Plasma", "Name[x-test]": "xxPlasma Themexx", "Name[zh_CN]": "Plasma 主题", "Name[zh_TW]": "Plasma 主題", diff --git a/src/plasma/packagestructure/plasmoid-packagestructure.json b/src/plasma/packagestructure/plasmoid-packagestructure.json index ba9859c26..10201a9ee 100644 --- a/src/plasma/packagestructure/plasmoid-packagestructure.json +++ b/src/plasma/packagestructure/plasmoid-packagestructure.json @@ -30,6 +30,7 @@ "Name[pl]": "Aaron Seigo", "Name[pt]": "Aaron Seigo", "Name[pt_BR]": "Aaron Seigo", + "Name[ro]": "Aaron Seigo", "Name[ru]": "Aaron Seigo", "Name[sk]": "Aaron Seigo", "Name[sl]": "Aaron Seigo", @@ -41,6 +42,7 @@ "Name[tg]": "Аарон Сейго (Aaron Seigo)", "Name[tr]": "Aaron Seigo", "Name[uk]": "Aaron Seigo", + "Name[vi]": "Aaron Seigo", "Name[x-test]": "xxAaron Seigoxx", "Name[zh_CN]": "Aaron Seigo", "Name[zh_TW]": "Aaron Seigo" @@ -74,6 +76,7 @@ "Name[pl]": "Plazmoid", "Name[pt]": "Plasmóide", "Name[pt_BR]": "Plasmoide", + "Name[ro]": "Plasmoid", "Name[ru]": "Виджет Plasma", "Name[sk]": "Plasmoid", "Name[sl]": "Plasmoid", @@ -85,6 +88,7 @@ "Name[tg]": "Plasmoid", "Name[tr]": "Plasmoid", "Name[uk]": "Плазмоїд", + "Name[vi]": "Plasmoid", "Name[x-test]": "xxPlasmoidxx", "Name[zh_CN]": "小部件", "Name[zh_TW]": "元件", diff --git a/src/plasma/private/framesvg_p.h b/src/plasma/private/framesvg_p.h index 51d11df88..8ad6720b6 100644 --- a/src/plasma/private/framesvg_p.h +++ b/src/plasma/private/framesvg_p.h @@ -75,6 +75,7 @@ public: QPixmap cachedBackground; QCache cachedMasks; static const int MAX_CACHED_MASKS = 10; + uint lastModified = 0; QSize frameSize; QString cacheId; @@ -150,7 +151,7 @@ public: void paintCorner(QPainter& p, const QSharedPointer &frame, Plasma::FrameSvg::EnabledBorders border, const QRect& output) const; void paintCenter(QPainter& p, const QSharedPointer &frame, const QRect& contentRect, const QSize& fullSize); QRect contentGeometry(const QSharedPointer &frame, const QSize& size) const; - void updateFrameData(UpdateType updateType = UpdateFrameAndMargins); + void updateFrameData(uint lastModified, UpdateType updateType = UpdateFrameAndMargins); QSharedPointer lookupOrCreateMaskFrame(const QSharedPointer &frame, const QString &maskPrefix, const QString &maskRequestedPrefix); Types::Location location = Types::Floating; diff --git a/src/plasma/private/theme_p.cpp b/src/plasma/private/theme_p.cpp index da6156ded..88b5f4a66 100644 --- a/src/plasma/private/theme_p.cpp +++ b/src/plasma/private/theme_p.cpp @@ -44,6 +44,7 @@ ThemePrivate::ThemePrivate(QObject *parent) viewColorScheme(QPalette::Active, KColorScheme::View, KSharedConfigPtr(nullptr)), complementaryColorScheme(QPalette::Active, KColorScheme::Complementary, KSharedConfigPtr(nullptr)), headerColorScheme(QPalette::Active, KColorScheme::Header, KSharedConfigPtr(nullptr)), + tooltipColorScheme(QPalette::Active, KColorScheme::Tooltip, KSharedConfigPtr(nullptr)), defaultWallpaperTheme(QStringLiteral(DEFAULT_WALLPAPER_THEME)), defaultWallpaperSuffix(QStringLiteral(DEFAULT_WALLPAPER_SUFFIX)), defaultWallpaperWidth(DEFAULT_WALLPAPER_WIDTH), @@ -388,6 +389,9 @@ void ThemePrivate::colorsChanged() buttonColorScheme = KColorScheme(QPalette::Active, KColorScheme::Button, colors); viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors); selectionColorScheme = KColorScheme(QPalette::Active, KColorScheme::Selection, colors); + complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors); + headerColorScheme = KColorScheme(QPalette::Active, KColorScheme::Header, colors); + tooltipColorScheme = KColorScheme(QPalette::Active, KColorScheme::Tooltip, colors); palette = KColorScheme::createApplicationPalette(colors); scheduleThemeChangeNotification(PixmapCache | SvgElementsCache); emit applicationPaletteChange(); @@ -464,6 +468,15 @@ const QString ThemePrivate::processStyleSheet(const QString &css, Plasma::Svg::S elements[QStringLiteral("%viewpositivetextcolor")] = color(Theme::PositiveTextColor, Theme::ViewColorGroup).name(); elements[QStringLiteral("%viewneutraltextcolor")] = color(Theme::NeutralTextColor, Theme::ViewColorGroup).name(); elements[QStringLiteral("%viewnegativetextcolor")] = color(Theme::NegativeTextColor, Theme::ViewColorGroup).name(); + + elements[QStringLiteral("%tooltiptextcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightedTextColor : Theme::TextColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltipbackgroundcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightColor : Theme::BackgroundColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltiphovercolor")] = color(Theme::HoverColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltipfocuscolor")] = color(Theme::FocusColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltiphighlightedtextcolor")] = color(Theme::HighlightedTextColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltippositivetextcolor")] = color(Theme::PositiveTextColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltipneutraltextcolor")] = color(Theme::NeutralTextColor, Theme::ToolTipColorGroup).name(); + elements[QStringLiteral("%tooltipnegativetextcolor")] = color(Theme::NegativeTextColor, Theme::ToolTipColorGroup).name(); elements[QStringLiteral("%complementarytextcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightedTextColor : Theme::TextColor, Theme::ComplementaryColorGroup).name(); elements[QStringLiteral("%complementarybackgroundcolor")] = color(status == Svg::Status::Selected ? Theme::HighlightColor : Theme::BackgroundColor, Theme::ComplementaryColorGroup).name(); @@ -543,6 +556,16 @@ const QString ThemePrivate::svgStyleSheet(Plasma::Theme::ColorGroup group, Plasm stylesheet += skel.arg(QStringLiteral("NeutralText"), QStringLiteral("%headerneutraltextcolor")); stylesheet += skel.arg(QStringLiteral("NegativeText"), QStringLiteral("%headernegativetextcolor")); break; + case Theme::ToolTipColorGroup: + stylesheet += skel.arg(QStringLiteral("Text"), QStringLiteral("%tooltiptextcolor")); + stylesheet += skel.arg(QStringLiteral("Background"), QStringLiteral("%tooltipbackgroundcolor")); + + stylesheet += skel.arg(QStringLiteral("Highlight"), QStringLiteral("%tooltiphovercolor")); + stylesheet += skel.arg(QStringLiteral("HighlightedText"), QStringLiteral("%tooltiphighlightedtextcolor")); + stylesheet += skel.arg(QStringLiteral("PositiveText"), QStringLiteral("%tooltippositivetextcolor")); + stylesheet += skel.arg(QStringLiteral("NeutralText"), QStringLiteral("%tooltipneutraltextcolor")); + stylesheet += skel.arg(QStringLiteral("NegativeText"), QStringLiteral("%tooltipnegativetextcolor")); + break; default: stylesheet += skel.arg(QStringLiteral("Text"), QStringLiteral("%textcolor")); stylesheet += skel.arg(QStringLiteral("Background"), QStringLiteral("%backgroundcolor")); @@ -589,6 +612,15 @@ const QString ThemePrivate::svgStyleSheet(Plasma::Theme::ColorGroup group, Plasm stylesheet += skel.arg(QStringLiteral("HeaderPositiveText"), QStringLiteral("%headerpositivetextcolor")); stylesheet += skel.arg(QStringLiteral("HeaderNeutralText"), QStringLiteral("%headerneutraltextcolor")); stylesheet += skel.arg(QStringLiteral("HeaderNegativeText"), QStringLiteral("%headernegativetextcolor")); + + stylesheet += skel.arg(QStringLiteral("TootipText"), QStringLiteral("%tooltiptextcolor")); + stylesheet += skel.arg(QStringLiteral("TootipBackground"), QStringLiteral("%tooltipbackgroundcolor")); + stylesheet += skel.arg(QStringLiteral("TootipHover"), QStringLiteral("%tooltiphovercolor")); + stylesheet += skel.arg(QStringLiteral("TootipFocus"), QStringLiteral("%tooltipfocuscolor")); + stylesheet += skel.arg(QStringLiteral("TootipHighlightedText"), QStringLiteral("%tooltiphighlightedtextcolor")); + stylesheet += skel.arg(QStringLiteral("TootipPositiveText"), QStringLiteral("%tooltippositivetextcolor")); + stylesheet += skel.arg(QStringLiteral("TootipNeutralText"), QStringLiteral("%tooltipneutraltextcolor")); + stylesheet += skel.arg(QStringLiteral("TootipNegativeText"), QStringLiteral("%tooltipnegativetextcolor")); stylesheet = processStyleSheet(stylesheet, status); if (status == Svg::Status::Selected) { @@ -672,6 +704,11 @@ QColor ThemePrivate::color(Theme::ColorRole role, Theme::ColorGroup group) const scheme = &headerColorScheme; break; } + + case Theme::ToolTipColorGroup: { + scheme = &tooltipColorScheme; + break; + } case Theme::NormalColorGroup: default: { @@ -825,6 +862,7 @@ void ThemePrivate::setThemeName(const QString &tempThemeName, bool writeSettings viewColorScheme = KColorScheme(QPalette::Active, KColorScheme::View, colors); complementaryColorScheme = KColorScheme(QPalette::Active, KColorScheme::Complementary, colors); headerColorScheme = KColorScheme(QPalette::Active, KColorScheme::Header, colors); + tooltipColorScheme = KColorScheme(QPalette::Active, KColorScheme::Tooltip, colors); palette = KColorScheme::createApplicationPalette(colors); const QString wallpaperPath = QLatin1String(PLASMA_RELATIVE_DATA_INSTALL_DIR "/desktoptheme/") % theme % QLatin1String("/wallpapers/"); hasWallpapers = !QStandardPaths::locate(QStandardPaths::GenericDataLocation, wallpaperPath, QStandardPaths::LocateDirectory).isEmpty(); diff --git a/src/plasma/private/theme_p.h b/src/plasma/private/theme_p.h index ec35bf81e..4a311f1be 100644 --- a/src/plasma/private/theme_p.h +++ b/src/plasma/private/theme_p.h @@ -107,6 +107,7 @@ public: KColorScheme viewColorScheme; KColorScheme complementaryColorScheme; KColorScheme headerColorScheme; + KColorScheme tooltipColorScheme; QPalette palette; bool eventFilter(QObject *watched, QEvent *event) override; KConfigGroup cfg; diff --git a/src/plasma/svg.cpp b/src/plasma/svg.cpp index 98d0c170d..ddea080f6 100644 --- a/src/plasma/svg.cpp +++ b/src/plasma/svg.cpp @@ -253,11 +253,8 @@ bool SvgPrivate::setImagePath(const QString &imagePath) } } - if (!themed) { - QFile f(actualPath); - QFileInfo info(f); - lastModified = info.lastModified().toSecsSinceEpoch(); - } + QFileInfo info(path); + lastModified = info.lastModified().toSecsSinceEpoch(); q->resize(); emit q->imagePathChanged(); @@ -871,7 +868,7 @@ QRectF Svg::elementRect(const QString &elementId) const bool Svg::hasElement(const QString &elementId) const { - if (d->path.isNull() && d->themePath.isNull()) { + if (elementId.isEmpty() || (d->path.isNull() && d->themePath.isNull())) { return false; } diff --git a/src/plasma/theme.cpp b/src/plasma/theme.cpp index 1c606fca1..3895006bd 100644 --- a/src/plasma/theme.cpp +++ b/src/plasma/theme.cpp @@ -282,23 +282,31 @@ bool Theme::useGlobalSettings() const bool Theme::findInCache(const QString &key, QPixmap &pix, unsigned int lastModified) { - if (lastModified != 0 && d->useCache() && lastModified > uint(d->pixmapCache->lastModifiedTime().toSecsSinceEpoch())) { + //TODO KF6: Make lastModified non-optional. + if (lastModified == 0) { + qCWarning(LOG_PLASMA) << "findInCache with a lastModified timestamp of 0 is deprecated"; return false; } - if (d->useCache()) { - const QString id = d->keysToCache.value(key); - const auto it = d->pixmapsToCache.constFind(id); - if (it != d->pixmapsToCache.constEnd()) { - pix = *it; - return !pix.isNull(); - } + if (!d->useCache()) { + return false; + } - QPixmap temp; - if (d->pixmapCache->findPixmap(key, &temp) && !temp.isNull()) { - pix = temp; - return true; - } + if (lastModified > uint(d->pixmapCache->lastModifiedTime().toSecsSinceEpoch())) { + return false; + } + + const QString id = d->keysToCache.value(key); + const auto it = d->pixmapsToCache.constFind(id); + if (it != d->pixmapsToCache.constEnd()) { + pix = *it; + return !pix.isNull(); + } + + QPixmap temp; + if (d->pixmapCache->findPixmap(key, &temp) && !temp.isNull()) { + pix = temp; + return true; } return false; diff --git a/src/plasma/theme.h b/src/plasma/theme.h index ec7fd9129..5a68fec77 100644 --- a/src/plasma/theme.h +++ b/src/plasma/theme.h @@ -78,7 +78,8 @@ public: ButtonColorGroup = 1, ViewColorGroup = 2, ComplementaryColorGroup = 3, - HeaderColorGroup + HeaderColorGroup, + ToolTipColorGroup }; Q_ENUM(ColorGroup) @@ -220,6 +221,10 @@ public: * @param lastModified if non-zero, the time stamp is also checked on the file, * and must be newer than the timestamp to be loaded * + * @note Since KF 5.75, a lastModified value of 0 is deprecated. If used, it + * will now always return false. Use a proper file timestamp instead + * so modification can be properly tracked. + * * @return true when pixmap was found and loaded from cache, false otherwise * @since 4.3 **/ diff --git a/src/plasmaquick/appletquickitem.cpp b/src/plasmaquick/appletquickitem.cpp index 43051964b..c59d87456 100644 --- a/src/plasmaquick/appletquickitem.cpp +++ b/src/plasmaquick/appletquickitem.cpp @@ -41,7 +41,7 @@ AppletQuickItemPrivate::AppletQuickItemPrivate(Plasma::Applet *a, AppletQuickIte switchHeight(-1), applet(a), expanded(false), - activationTogglesExpanded(false), + activationTogglesExpanded(true), initComplete(false) { if (s_preloadPolicy == Uninitialized) { diff --git a/src/plasmaquick/configview.cpp b/src/plasmaquick/configview.cpp index 0b20bedac..12d1c2c74 100644 --- a/src/plasmaquick/configview.cpp +++ b/src/plasmaquick/configview.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -80,15 +81,15 @@ void ConfigViewPrivate::init() applet.data()->setUserConfiguring(true); - KDeclarative::KDeclarative kdeclarative; - kdeclarative.setDeclarativeEngine(q->engine()); + KLocalizedContext *localizedContextObject = new KLocalizedContext(q->engine()); const QString rootPath = applet.data()->pluginMetaData().value(QStringLiteral("X-Plasma-RootPath")); if (!rootPath.isEmpty()) { - kdeclarative.setTranslationDomain(QStringLiteral("plasma_applet_") + rootPath); + localizedContextObject->setTranslationDomain(QStringLiteral("plasma_applet_") + rootPath); } else { - kdeclarative.setTranslationDomain(QStringLiteral("plasma_applet_") + applet.data()->pluginMetaData().pluginId()); + localizedContextObject->setTranslationDomain(QStringLiteral("plasma_applet_") + applet.data()->pluginMetaData().pluginId()); } - kdeclarative.setupContext(); + q->engine()->rootContext()->setContextObject(localizedContextObject); + KDeclarative::KDeclarative::setupEngine(q->engine()); // ### how to make sure to do this only once per engine? //FIXME: problem on nvidia, all windows should be transparent or won't show diff --git a/src/plasmaquick/view.cpp b/src/plasmaquick/view.cpp index 7eb067fed..d3d07e6f5 100644 --- a/src/plasmaquick/view.cpp +++ b/src/plasmaquick/view.cpp @@ -14,6 +14,8 @@ #include #include +#include + #include "plasma/pluginloader.h" #include #include @@ -182,11 +184,11 @@ View::View(Plasma::Corona *corona, QWindow *parent) interceptor->setForcePlasmaStyle(true); engine()->setUrlInterceptor(interceptor); - KDeclarative::KDeclarative kdeclarative; - kdeclarative.setDeclarativeEngine(engine()); + KLocalizedContext *localizedContextObject = new KLocalizedContext(engine()); + localizedContextObject->setTranslationDomain(QStringLiteral("plasma_shell_") + pkg.metadata().pluginId()); + engine()->rootContext()->setContextObject(localizedContextObject); + //binds things like kconfig and icons - kdeclarative.setTranslationDomain(QStringLiteral("plasma_shell_") + pkg.metadata().pluginId()); - kdeclarative.setupContext(); KDeclarative::KDeclarative::setupEngine(engine()); // ### how to make sure to do this only once per engine? } else { qWarning() << "Invalid home screen package"; diff --git a/src/scriptengines/python/plasma-scriptengine-dataengine-python.desktop b/src/scriptengines/python/plasma-scriptengine-dataengine-python.desktop index d3c2fa58c..565f9adb8 100644 --- a/src/scriptengines/python/plasma-scriptengine-dataengine-python.desktop +++ b/src/scriptengines/python/plasma-scriptengine-dataengine-python.desktop @@ -30,6 +30,7 @@ Name[pa]=ਪਾਈਥਨ ਡਾਟਾ ਇੰਜਣ Name[pl]=Silnik danych w Pythonie Name[pt]=Motor de dados em Python Name[pt_BR]=Mecanismo de dados Python +Name[ro]=Motor de date Python Name[ru]=Источники данных на языке Python Name[sk]=Python dátový nástroj Name[sl]=Podatkovni vir v Pythonu @@ -41,6 +42,7 @@ Name[sv]=Python datagränssnitt Name[tg]=Низоми иттилоотии Python Name[tr]=Python veri motoru Name[uk]=Рушій даних Python +Name[vi]=Dụng cụ dữ liệu cho Python Name[x-test]=xxPython data enginexx Name[zh_CN]=Python 数据引擎 Name[zh_TW]=Python 資料引擎 @@ -86,6 +88,7 @@ Comment[sv]=Plasma datagränssnittstöd för Python Comment[tg]=Дастгирии низоми иттилоотии Plasma барои Python Comment[tr]=Python için Plasma veri motoru desteği Comment[uk]=Підтримка Python у рушії роботи з даними Плазми +Comment[vi]=Hỗ trợ của dụng cụ dữ liệu Plasma cho Python Comment[x-test]=xxPlasma data engine support for Pythonxx Comment[zh_CN]=Plasma 的 Python 数据引擎支持 Comment[zh_TW]=支援 Python 的 Plasma 資料引擎 diff --git a/src/scriptengines/python/plasma-scriptengine-runner-python.desktop b/src/scriptengines/python/plasma-scriptengine-runner-python.desktop index affffa346..6e3447669 100644 --- a/src/scriptengines/python/plasma-scriptengine-runner-python.desktop +++ b/src/scriptengines/python/plasma-scriptengine-runner-python.desktop @@ -41,6 +41,7 @@ Name[sv]=Python körningsprogram Name[tg]=Иҷрокунандаи Python Name[tr]=Python Çalıştırıcı Name[uk]=Засіб запуску Python +Name[vi]=Trình chạy Python Name[x-test]=xxPython Runnerxx Name[zh_CN]=Python 运行器 Name[zh_TW]=Python 執行器 @@ -86,6 +87,7 @@ Comment[sv]=Plasma körningsstöd för Python Comment[tg]=Дастгирии иҷрокунандаи Plasma барои Python Comment[tr]=Python için Plasma Çalıştırıcı desteği Comment[uk]=Підтримка Python у інструментах запуску +Comment[vi]=Hỗ trợ của trình chạy Plasma cho Python Comment[x-test]=xxPlasma Runner support for Pythonxx Comment[zh_CN]=Plasma 的 Python 运行器支持 Comment[zh_TW]=支援 Python 的執行器 diff --git a/src/scriptengines/qml/data/plasma-scriptengine-applet-declarative.desktop b/src/scriptengines/qml/data/plasma-scriptengine-applet-declarative.desktop index 75afe1f21..de87a7f1a 100644 --- a/src/scriptengines/qml/data/plasma-scriptengine-applet-declarative.desktop +++ b/src/scriptengines/qml/data/plasma-scriptengine-applet-declarative.desktop @@ -30,6 +30,7 @@ Name[pa]=ਡਿਕਲਰੇਟਿਵ ਵਿਦਜੈੱਟ Name[pl]=Deklaratywny element interfejsu Name[pt]=Item declarativo Name[pt_BR]=Widget declarativo +Name[ro]=Control grafic declarativ Name[ru]=Декларативный виджет Name[sk]=Deklaratívny widget Name[sl]=Deklarativni gradnik @@ -42,6 +43,7 @@ Name[tg]=Виҷети эъломгузор Name[tr]=Bildirim parçacığı Name[ug]=ئېنىقلىما ۋىجېت Name[uk]=Декларативний віджет +Name[vi]=Phụ kiện khai báo Name[x-test]=xxDeclarative widgetxx Name[zh_CN]=描述部件 Name[zh_TW]=宣告元件 @@ -88,6 +90,7 @@ Comment[tg]=Виҷети маҳаллии Plasma, ки дар асоси QML в Comment[tr]=JavaScript ve QML ile yazılmış gerçek Plasma gereci Comment[ug]=QML ۋە JavaScript بىلەن يېزىلغان ئەسلى Plasma ۋىجېتى Comment[uk]=Віджет Плазми, написаний на QML та JavaScript +Comment[vi]=Phụ kiện nội Plasma viết bằng QML và JavaScript Comment[x-test]=xxNative Plasma widget written in QML and JavaScriptxx Comment[zh_CN]=使用 QML 和 JavaScript 编写的原生 Plasma 部件 Comment[zh_TW]=用 QML 與 JavaScript 寫的原始 Plasma 元件 @@ -105,6 +108,5 @@ X-KDE-PluginInfo-Email=menard@kde.org X-KDE-PluginInfo-Name=qmlscript X-KDE-PluginInfo-Version=0.1 X-KDE-PluginInfo-Category=Examples -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true diff --git a/src/scriptengines/qml/data/plasma-wallpaper.desktop b/src/scriptengines/qml/data/plasma-wallpaper.desktop index 5c48671b5..f511e17c1 100644 --- a/src/scriptengines/qml/data/plasma-wallpaper.desktop +++ b/src/scriptengines/qml/data/plasma-wallpaper.desktop @@ -34,6 +34,7 @@ Comment[pa]=ਪਲਾਜ਼ਮਾ ਵਾਲਪੇਪਰ Comment[pl]=Tapeta Plazmy Comment[pt]=Papel de parede do Plasma Comment[pt_BR]=Papel de parede do Plasma +Comment[ro]=Tapet Plasma Comment[ru]=Обои Plasma Comment[sk]=Tapeta Plasma Comment[sl]=Slika ozadja za Plasmo @@ -45,6 +46,7 @@ Comment[sv]=Plasma skrivbordsunderlägg Comment[tg]=Тасвири заминаи Plasma Comment[tr]=Plasma duvar kağıdı Comment[uk]=Тло стільниці Плазми +Comment[vi]=Phông nền Plasma Comment[x-test]=xxPlasma wallpaperxx Comment[zh_CN]=Plasma 壁纸 Comment[zh_TW]=Plasma 桌布 diff --git a/src/scriptengines/ruby/plasma-scriptengine-ruby-dataengine.desktop b/src/scriptengines/ruby/plasma-scriptengine-ruby-dataengine.desktop index 7cb5b73d2..5d274ab6e 100644 --- a/src/scriptengines/ruby/plasma-scriptengine-ruby-dataengine.desktop +++ b/src/scriptengines/ruby/plasma-scriptengine-ruby-dataengine.desktop @@ -30,6 +30,7 @@ Name[pa]=ਰੂਬੀ ਵਿਦਜੈੱਟ Name[pl]=Element interfejsu Ruby Name[pt]=Elemento em Ruby Name[pt_BR]=Widget Ruby +Name[ro]=Control grafic Ruby Name[ru]=Виджет на Ruby Name[sk]=Ruby widget Name[sl]=Gradnik v Ruby @@ -41,6 +42,7 @@ Name[sv]=Grafisk Ruby-komponent Name[tg]=Виҷети Ruby Name[tr]=Ruby Gereci Name[uk]=Віджет на Ruby +Name[vi]=Phụ kiện Ruby Name[x-test]=xxRuby Widgetxx Name[zh_CN]=Ruby 部件 Name[zh_TW]=Ruby 元件 @@ -85,6 +87,7 @@ Comment[sv]=Inbyggd grafisk Plasma-komponent skriven i Ruby Comment[tg]=Виҷети маҳаллии Plasma, ки дар асоси Ruby навишта шудааст Comment[tr]=Ruby ile yazılmış gerçek Plasma gereci Comment[uk]=Віджет Плазми, написаний на Ruby +Comment[vi]=Phụ kiện nội Plasma viết bằng Ruby Comment[x-test]=xxNative Plasma widget written in Rubyxx Comment[zh_CN]=使用 Ruby 编写的原生 Plasma 部件 Comment[zh_TW]=用 Ruby 寫的原始 Plasma 元件 diff --git a/templates/cpp-plasmoid/cpp-plasmoid.kdevtemplate b/templates/cpp-plasmoid/cpp-plasmoid.kdevtemplate index b4ccbe412..06b37ff94 100644 --- a/templates/cpp-plasmoid/cpp-plasmoid.kdevtemplate +++ b/templates/cpp-plasmoid/cpp-plasmoid.kdevtemplate @@ -38,6 +38,7 @@ Name[sv]=Plasma QML/C++ miniprogram Name[tg]=Зербарномаи Plasma дар асоси QML/C++ Name[tr]=Plasma QML/C Uygulamacığı Name[uk]=Аплет Плазми мовами QML/C++ +Name[vi]=Tiểu ứng dụng QML/C++ của Plasma Name[x-test]=xxPlasma QML/C++ Appletxx Name[zh_CN]=Plasma QML/C++ 小程序 Name[zh_TW]=Plasma QML/C++ 小程式 @@ -75,6 +76,7 @@ Comment[sv]=En mall för Plasma-miniprogram skriven med en blandning av QML och Comment[tg]=Қолиби зербарномаи Plasma, ки дар асоси омезиши дурагаи QML ва C++ навишта шудааст: Қолиби зербарномаи Plasma матн ва тасвири SVG-ро нишон медиҳад Comment[tr]=QML ve C'nin karma bir karışımı içinde yazılmış bir Plasma Uygulamacık şablonu: Bir SVG resmi ve metin gösteren bir Plasma uygulaması şablonu Comment[uk]=Шаблон аплету Плазми на гібридній суміші QML і C++: шаблон аплету Плазми, який показує зображення SVG і текст +Comment[vi]=Một mẫu Tiểu ứng dụng Plasma viết bằng sự pha trộn giữa QML và C++: một mẫu tiểu ứng dụng Plasma hiển thị một ảnh SVG và một văn bản Comment[x-test]=xxA Plasma Applet template written in an hybrid mix of QML and C++: a Plasma applet template displaying a SVG picture and a textxx Comment[zh_CN]=一个使用 QML 和 C++ 混合实现的 Plasma 小程序模板:一个显示 SVG 图片和文字的 Plasma 小程序模板 Comment[zh_TW]=一個使用 QML 與 C++ 混合編寫的 Plasma 小程式範本:Plasma 小程式範本顯示了一張 SVG 圖片與文字 diff --git a/templates/cpp-plasmoid/src/package/metadata.desktop b/templates/cpp-plasmoid/src/package/metadata.desktop index ba163ca24..ad4fe5ffc 100644 --- a/templates/cpp-plasmoid/src/package/metadata.desktop +++ b/templates/cpp-plasmoid/src/package/metadata.desktop @@ -28,6 +28,7 @@ Name[pa]=%{APPNAME} Name[pl]=%{APPNAME} Name[pt]=%{APPNAME} Name[pt_BR]=%{APPNAME} +Name[ro]=%{APPNAME} Name[ru]=%{APPNAME} Name[sk]=%{APPNAME} Name[sl]=%{APPNAME} @@ -39,6 +40,7 @@ Name[sv]=%{APPNAME} Name[tg]=%{APPNAME} Name[tr]=%{APPNAME} Name[uk]=%{APPNAME} +Name[vi]=%{APPNAME} Name[x-test]=xx%{APPNAME}xx Name[zh_CN]=%{APPNAME} Name[zh_TW]=%{APPNAME} @@ -68,6 +70,7 @@ Comment[nn]=nokre få ord om kva programmet gjer Comment[pl]=w kilku słowach opis co robi twój program Comment[pt]=o que faz a sua aplicação, em poucas palavras Comment[pt_BR]=breve descrição do que o seu aplicativo faz +Comment[ro]=ce face aplicația, în câteva cuvinte Comment[ru]=Несколько слов о том, что делает ваша программа Comment[sk]=čo vaša aplikácia robí v niekoľkých slovách Comment[sl]=kaj vaš program dela, v nekaj besedah @@ -79,6 +82,7 @@ Comment[sv]=vad programmet gör med några få ord Comment[tg]=Тавсифи мухтасареро нависед, ки барномаи шумо чӣ кор мекунад Comment[tr]=uygulamanızın yaptığı şey, birkaç sözcükte Comment[uk]=призначення вашої програми у декількох словах +Comment[vi]=dùng vài từ để mô tả ứng dụng của bạn làm việc gì Comment[x-test]=xxwhat your app does in a few wordsxx Comment[zh_CN]=简单几个词概括您的小程序的功能 Comment[zh_TW]=以數個字描述您的應用程式的用途 @@ -95,7 +99,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.%{APPNAMELC} X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Utilities -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL-2.1+ X-KDE-PluginInfo-EnabledByDefault=true diff --git a/templates/plasma-wallpaper-with-qml-extension/package/metadata.desktop b/templates/plasma-wallpaper-with-qml-extension/package/metadata.desktop index 397b876df..60ce65a61 100644 --- a/templates/plasma-wallpaper-with-qml-extension/package/metadata.desktop +++ b/templates/plasma-wallpaper-with-qml-extension/package/metadata.desktop @@ -28,6 +28,7 @@ Name[pa]=%{APPNAME} Name[pl]=%{APPNAME} Name[pt]=%{APPNAME} Name[pt_BR]=%{APPNAME} +Name[ro]=%{APPNAME} Name[ru]=%{APPNAME} Name[sk]=%{APPNAME} Name[sl]=%{APPNAME} @@ -39,6 +40,7 @@ Name[sv]=%{APPNAME} Name[tg]=%{APPNAME} Name[tr]=%{APPNAME} Name[uk]=%{APPNAME} +Name[vi]=%{APPNAME} Name[x-test]=xx%{APPNAME}xx Name[zh_CN]=%{APPNAME} Name[zh_TW]=%{APPNAME} diff --git a/templates/plasma-wallpaper-with-qml-extension/plasma-wallpaper-with-qml-extension.kdevtemplate b/templates/plasma-wallpaper-with-qml-extension/plasma-wallpaper-with-qml-extension.kdevtemplate index 56e36a273..283c13674 100644 --- a/templates/plasma-wallpaper-with-qml-extension/plasma-wallpaper-with-qml-extension.kdevtemplate +++ b/templates/plasma-wallpaper-with-qml-extension/plasma-wallpaper-with-qml-extension.kdevtemplate @@ -24,12 +24,14 @@ Name[nn]=Enkelt Plasma-bakgrunnsbilete med QML-utviding Name[pl]=Prosta tapeta Plazmy z rozszerzeniami QML Name[pt]=Papel de Parede Simples do Plasma com com extensão QML Name[pt_BR]=Papel de parede simples do Plasma com extensão QML +Name[ro]=Tapet Plasma simplu cu extensie QML Name[ru]=Простые обои для Plasma с расширением для QML Name[sk]=Jednoduchá Tapeta Plasma s QML rozšírením Name[sl]=Enostavna Plasma ozadje z razširitvijo QML Name[sv]=Enkelt Plasma skrivbordsunderlägg med QML-utökning Name[tg]=Тасвири заминаи содаи Plasma бо васеъшавии QML Name[uk]=Просте тло стільниці Плазми із розширенням QML +Name[vi]=Phông nền Plasma Đơn giản với phần mở rộng QML Name[x-test]=xxSimple Plasma Wallpaper with QML extensionxx Name[zh_CN]=拥有 QML 扩展的简单 Plasma 壁纸 Name[zh_TW]=含有 QML 副檔名的簡易 Plasma 桌布 @@ -62,6 +64,7 @@ Comment[sl]=Ozadje Plasme, ki uporablja API po meri, ponujen s strani lastnega r Comment[sv]=Ett Plasma skrivbordsunderlägg som använder ett anpassat programmeringsgränssnitt tillhandahållet av en egen QML-utökningsmodul Comment[tg]=Тасвири заминаи Plasma, ки дар асоси васлкунаки васеъшавии QML низоми API-и фармоиширо истифода мебарад Comment[uk]=Тло стільниці Плазми, у якому використовується нетиповий програмний інтерфейс, що надається власним додатком розширення QML +Comment[vi]=Một phông nền Plasma sử dụng API riêng được cung cấp bởi một phần cài cắm mở rộng QML riêng Comment[x-test]=xxA Plasma wallpaper which uses custom API provided by an own QML extension pluginxx Comment[zh_CN]=使用自有 QML 扩展插件 API 的 Plasma 壁纸 Comment[zh_TW]=使用由自己的 QML 延伸元件提供的自訂 API 的 Plasma 桌布 diff --git a/templates/plasma-wallpaper/package/metadata.desktop b/templates/plasma-wallpaper/package/metadata.desktop index 397b876df..60ce65a61 100644 --- a/templates/plasma-wallpaper/package/metadata.desktop +++ b/templates/plasma-wallpaper/package/metadata.desktop @@ -28,6 +28,7 @@ Name[pa]=%{APPNAME} Name[pl]=%{APPNAME} Name[pt]=%{APPNAME} Name[pt_BR]=%{APPNAME} +Name[ro]=%{APPNAME} Name[ru]=%{APPNAME} Name[sk]=%{APPNAME} Name[sl]=%{APPNAME} @@ -39,6 +40,7 @@ Name[sv]=%{APPNAME} Name[tg]=%{APPNAME} Name[tr]=%{APPNAME} Name[uk]=%{APPNAME} +Name[vi]=%{APPNAME} Name[x-test]=xx%{APPNAME}xx Name[zh_CN]=%{APPNAME} Name[zh_TW]=%{APPNAME} diff --git a/templates/plasma-wallpaper/plasma-wallpaper.kdevtemplate b/templates/plasma-wallpaper/plasma-wallpaper.kdevtemplate index 94a3f3f20..52446d162 100644 --- a/templates/plasma-wallpaper/plasma-wallpaper.kdevtemplate +++ b/templates/plasma-wallpaper/plasma-wallpaper.kdevtemplate @@ -27,6 +27,7 @@ Name[nn]=Enkelt Plasma-bakgrunnsbilete Name[pl]=Prosta Tapeta Plazmy Name[pt]=Papel de Parede Simples do Plasma Name[pt_BR]=Papel de parede simples do Plasma +Name[ro]=Tapet Plasma simplu Name[ru]=Простые обои для Plasma Name[sk]=Jednoduchá Tapeta Plasma Name[sl]=Preprosta slika ozadja za Plasmo @@ -38,6 +39,7 @@ Name[sv]=Enkelt Plasma skrivbordsunderlägg Name[tg]=Тасвири заминаи содаи Plasma Name[tr]=Basit Plasma Duvar Kağıdı Name[uk]=Просте тло стільниці Плазми +Name[vi]=Phông nền Plasma đơn giản Name[x-test]=xxSimple Plasma Wallpaperxx Name[zh_CN]=简单 Plasma 壁纸 Name[zh_TW]=簡易 Plasma 桌布 @@ -75,6 +77,7 @@ Comment[sv]=Enkel mall för Plasma-skrivbordsunderlägg: en mall för ett Plasma Comment[tg]=Қолиби тасвири заминаи содаи Plasma: Қолиби тасвири заминаи Plasma матнеро нишон медиҳад Comment[tr]=Basit Plasma Duvar Kağıdı şablonu: Metin görüntüleyen bir Plasma duvar kağıdı şablonu Comment[uk]=Простий шаблон тла стільниці Плазми: шаблон шпалер, який показує текст +Comment[vi]=Mẫu Phông nền Plasma Đơn giản: một mẫu phông nền Plasma hiển thị một văn bản Comment[x-test]=xxSimple Plasma Wallpaper template: a Plasma wallpaper template displaying a textxx Comment[zh_CN]=简单的 Plasma 壁纸模板:一个显示文字的 Plasma 壁纸模板 Comment[zh_TW]=簡易 Plasma 桌布範本:顯示了文字的一個 Plasma 桌布範本 diff --git a/templates/qml-plasmoid-with-qml-extension/package/metadata.desktop b/templates/qml-plasmoid-with-qml-extension/package/metadata.desktop index 2e388b7d3..292340d27 100644 --- a/templates/qml-plasmoid-with-qml-extension/package/metadata.desktop +++ b/templates/qml-plasmoid-with-qml-extension/package/metadata.desktop @@ -28,6 +28,7 @@ Name[pa]=%{APPNAME} Name[pl]=%{APPNAME} Name[pt]=%{APPNAME} Name[pt_BR]=%{APPNAME} +Name[ro]=%{APPNAME} Name[ru]=%{APPNAME} Name[sk]=%{APPNAME} Name[sl]=%{APPNAME} @@ -39,6 +40,7 @@ Name[sv]=%{APPNAME} Name[tg]=%{APPNAME} Name[tr]=%{APPNAME} Name[uk]=%{APPNAME} +Name[vi]=%{APPNAME} Name[x-test]=xx%{APPNAME}xx Name[zh_CN]=%{APPNAME} Name[zh_TW]=%{APPNAME} @@ -68,6 +70,7 @@ Comment[nn]=nokre få ord om kva programmet gjer Comment[pl]=w kilku słowach opis co robi twój program Comment[pt]=o que faz a sua aplicação, em poucas palavras Comment[pt_BR]=breve descrição do que o seu aplicativo faz +Comment[ro]=ce face aplicația, în câteva cuvinte Comment[ru]=Несколько слов о том, что делает ваша программа Comment[sk]=čo vaša aplikácia robí v niekoľkých slovách Comment[sl]=kaj vaš program dela, v nekaj besedah @@ -79,6 +82,7 @@ Comment[sv]=vad programmet gör med några få ord Comment[tg]=Тавсифи мухтасареро нависед, ки барномаи шумо чӣ кор мекунад Comment[tr]=uygulamanızın yaptığı şey, birkaç sözcükte Comment[uk]=призначення вашої програми у декількох словах +Comment[vi]=dùng vài từ để mô tả ứng dụng của bạn làm việc gì Comment[x-test]=xxwhat your app does in a few wordsxx Comment[zh_CN]=简单几个词概括您的小程序的功能 Comment[zh_TW]=以數個字描述您的應用程式的用途 @@ -93,7 +97,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.%{APPNAMELC} X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Utilities -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL-2.1+ X-KDE-PluginInfo-EnabledByDefault=true diff --git a/templates/qml-plasmoid-with-qml-extension/qml-plasmoid-with-qml-extension.kdevtemplate b/templates/qml-plasmoid-with-qml-extension/qml-plasmoid-with-qml-extension.kdevtemplate index bbb4752c5..835752f4a 100644 --- a/templates/qml-plasmoid-with-qml-extension/qml-plasmoid-with-qml-extension.kdevtemplate +++ b/templates/qml-plasmoid-with-qml-extension/qml-plasmoid-with-qml-extension.kdevtemplate @@ -35,6 +35,7 @@ Name[sv]=Plasma QML-miniprogram med QML-utökning Name[tg]=Зербарномаи Plasma дар асоси QML бо васеъшавии QML Name[tr]=QML eklentisi ile Plasma QML Uygulamacığı Name[uk]=Аплет Плазми мовою QML із розширенням QML +Name[vi]=Tiểu ứng dụng QML của Plasma với phần mở rộng QML Name[x-test]=xxPlasma QML Applet with QML extensionxx Name[zh_CN]=带 QML 扩展的 Plasma QML 小部件 Name[zh_TW]=含有 QML 副檔名的 Plasma QML 小程式 @@ -72,6 +73,7 @@ Comment[sv]=En mall för ett Plasma-miniprogram som använder ett anpassat progr Comment[tg]=Қолиб барои зербарномаи Plasma, ки дар асоси васлкунаки васеъшавии QML низоми API-и фармоиширо истифода мебарад Comment[tr]=Kendi QML eklentisi için sağlanan özel bir API kullanan Plasma uygulamacığı için bir şablon Comment[uk]=Шаблон для аплету Плазми, у якому використовується нетиповий програмний інтерфейс, що надається власним додатком розширення QML +Comment[vi]=Một mẫu tiểu ứng dụng Plasma sử dụng API riêng được cung cấp bởi một phần cài cắm mở rộng QML riêng Comment[x-test]=xxA template for a Plasma applet which uses custom API provided by an own QML extension pluginxx Comment[zh_CN]=使用自有 QML 扩展插件 API 的 Plasma 小部件模板 Comment[zh_TW]=使用由自己的 QML 延伸元件提供的自訂 API 的 Plasma 小程式範本 diff --git a/templates/qml-plasmoid/package/metadata.desktop b/templates/qml-plasmoid/package/metadata.desktop index 2e388b7d3..292340d27 100644 --- a/templates/qml-plasmoid/package/metadata.desktop +++ b/templates/qml-plasmoid/package/metadata.desktop @@ -28,6 +28,7 @@ Name[pa]=%{APPNAME} Name[pl]=%{APPNAME} Name[pt]=%{APPNAME} Name[pt_BR]=%{APPNAME} +Name[ro]=%{APPNAME} Name[ru]=%{APPNAME} Name[sk]=%{APPNAME} Name[sl]=%{APPNAME} @@ -39,6 +40,7 @@ Name[sv]=%{APPNAME} Name[tg]=%{APPNAME} Name[tr]=%{APPNAME} Name[uk]=%{APPNAME} +Name[vi]=%{APPNAME} Name[x-test]=xx%{APPNAME}xx Name[zh_CN]=%{APPNAME} Name[zh_TW]=%{APPNAME} @@ -68,6 +70,7 @@ Comment[nn]=nokre få ord om kva programmet gjer Comment[pl]=w kilku słowach opis co robi twój program Comment[pt]=o que faz a sua aplicação, em poucas palavras Comment[pt_BR]=breve descrição do que o seu aplicativo faz +Comment[ro]=ce face aplicația, în câteva cuvinte Comment[ru]=Несколько слов о том, что делает ваша программа Comment[sk]=čo vaša aplikácia robí v niekoľkých slovách Comment[sl]=kaj vaš program dela, v nekaj besedah @@ -79,6 +82,7 @@ Comment[sv]=vad programmet gör med några få ord Comment[tg]=Тавсифи мухтасареро нависед, ки барномаи шумо чӣ кор мекунад Comment[tr]=uygulamanızın yaptığı şey, birkaç sözcükte Comment[uk]=призначення вашої програми у декількох словах +Comment[vi]=dùng vài từ để mô tả ứng dụng của bạn làm việc gì Comment[x-test]=xxwhat your app does in a few wordsxx Comment[zh_CN]=简单几个词概括您的小程序的功能 Comment[zh_TW]=以數個字描述您的應用程式的用途 @@ -93,7 +97,6 @@ X-KDE-PluginInfo-Name=org.kde.plasma.%{APPNAMELC} X-KDE-PluginInfo-Version=1.0 X-KDE-PluginInfo-Website=https://plasma.kde.org/ X-KDE-PluginInfo-Category=Utilities -X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL-2.1+ X-KDE-PluginInfo-EnabledByDefault=true diff --git a/templates/qml-plasmoid/qml-plasmoid.kdevtemplate b/templates/qml-plasmoid/qml-plasmoid.kdevtemplate index 0ff9722a2..0f578e972 100644 --- a/templates/qml-plasmoid/qml-plasmoid.kdevtemplate +++ b/templates/qml-plasmoid/qml-plasmoid.kdevtemplate @@ -28,6 +28,7 @@ Name[nn]=Plasma QML-element Name[pl]=Aplet QML Plazmy Name[pt]='Applet' em QML do Plasma Name[pt_BR]=Miniaplicativo QML do Plasma +Name[ro]=Miniaplicație QML Plasma Name[ru]=Виджет Plasma на QML Name[sk]=Plasma QML Applet Name[sl]=Plasma aplet v QML @@ -39,6 +40,7 @@ Name[sv]=Plasma QML-miniprogram Name[tg]=Зербарномаи Plasma дар асоси QML Name[tr]=Plasma QML Uygulamacığı Name[uk]=Аплет Плазми мовою QML +Name[vi]=Tiểu ứng dụng QML Plasma Name[x-test]=xxPlasma QML Appletxx Name[zh_CN]=Plasma QML 小程序 Name[zh_TW]=Plasma QML 小程式 @@ -76,6 +78,7 @@ Comment[sv]=Mall för Plasma QML-miniprogram. En mall för ett Plasma-miniprogra Comment[tg]=Қолиби зербарномаи Plasma дар асоси QML: Қолиби зербарномаи Plasma матн ва тасвири SVG-ро нишон медиҳад Comment[tr]=Plasma QML Uygulamacığı şablonu: SVG resmi ve metin gösteren bir Plasma uygulaması şablonu Comment[uk]=Шаблон аплету Плазми. Шаблон аплету Плазми, який показу зображення SVG і текст +Comment[vi]=Mẫu Tiểu ứng dụng QML của Plasma: một mẫu tiểu ứng dụng Plasma hiển thị một ảnh SVG và một văn bản Comment[x-test]=xxPlasma QML Applet template: a Plasma applet template displaying a SVG picture and a textxx Comment[zh_CN]=Plasma QML 小程序模板:一个显示 SVG 图片和文字的 Plasma 小程序模板 Comment[zh_TW]=Plasma QML 小程式範本:Plasma 小程式範本顯示了一張 SVG 圖片與文字 diff --git a/tests/buttons_pc3.0.qml b/tests/buttons_pc3.0.qml index 343d2010d..6bd170add 100644 --- a/tests/buttons_pc3.0.qml +++ b/tests/buttons_pc3.0.qml @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import org.kde.plasma.components 3.0 as PlasmaComponents diff --git a/tests/components/ComponentBase.qml b/tests/components/ComponentBase.qml index d52d5247e..0bd926354 100644 --- a/tests/components/ComponentBase.qml +++ b/tests/components/ComponentBase.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/busyindicator.qml b/tests/components/busyindicator.qml index 597c8bc0b..b2e480c64 100644 --- a/tests/components/busyindicator.qml +++ b/tests/components/busyindicator.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2014 Kai Uwe Broulik + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/busyindicator3.qml b/tests/components/busyindicator3.qml index 5b0051ceb..fac6207f7 100644 --- a/tests/components/busyindicator3.qml +++ b/tests/components/busyindicator3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/button.qml b/tests/components/button.qml index 2a22cdc8e..2035951fd 100644 --- a/tests/components/button.qml +++ b/tests/components/button.qml @@ -1,3 +1,10 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2015 Marco Martin + * SPDX-FileCopyrightText: 2020 Nate Graham + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import QtQuick.Controls 1.2 diff --git a/tests/components/button3.qml b/tests/components/button3.qml index 46830dfd5..567652314 100644 --- a/tests/components/button3.qml +++ b/tests/components/button3.qml @@ -1,3 +1,10 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Marco Martin + * SPDX-FileCopyrightText: 2020 Nate Graham + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import org.kde.plasma.core 2.0 as PlasmaCore @@ -66,6 +73,15 @@ ComponentBase { Layout.maximumWidth: 150 } + PlasmaComponents.Label { + text: "disabled icon + text" + } + + PlasmaComponents.Button { + icon.name: "start-here-kde-plasma" + text: "test" + enabled: false + } PlasmaComponents.Label { text: "button (with or without icon) and textfield should have the same height" @@ -83,26 +99,6 @@ ComponentBase { } } - PlasmaComponents.Label { - text: "minimum width property. Should be two letters wide" - } - - RowLayout { - PlasmaComponents.Button { - text: "AA" - implicitWidth: Layout.minimumWidth - } - PlasmaComponents.Button { - icon.name: "application-menu" - text: "AA" - implicitWidth: Layout.minimumWidth - } - PlasmaComponents.Button { - icon.name: "application-menu" - implicitWidth: Layout.minimumWidth - } - } - PlasmaComponents.Label { text: "Display property" } @@ -186,6 +182,16 @@ ComponentBase { flat: true } + PlasmaComponents.Label { + text: "disabled icon + text" + } + + PlasmaComponents.Button { + icon.name: "start-here-kde-plasma" + text: "test" + flat: true + enabled: false + } PlasmaComponents.Label { text: "button (with or without icon) and textfield should have the same height" @@ -205,29 +211,6 @@ ComponentBase { } } - PlasmaComponents.Label { - text: "minimum width property. Should be two letters wide" - } - - RowLayout { - PlasmaComponents.Button { - text: "AA" - implicitWidth: Layout.minimumWidth - flat: true - } - PlasmaComponents.Button { - icon.name: "application-menu" - text: "AA" - implicitWidth: Layout.minimumWidth - flat: true - } - PlasmaComponents.Button { - icon.name: "application-menu" - implicitWidth: Layout.minimumWidth - flat: true - } - } - PlasmaComponents.Label { text: "Display property" } diff --git a/tests/components/checkbox.qml b/tests/components/checkbox.qml index 380e67147..577b89f07 100644 --- a/tests/components/checkbox.qml +++ b/tests/components/checkbox.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2017 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import QtQuick.Controls 1.2 diff --git a/tests/components/checkbox3.qml b/tests/components/checkbox3.qml index f9864e4e8..b36236d9f 100644 --- a/tests/components/checkbox3.qml +++ b/tests/components/checkbox3.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Nate Graham + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/combobox.qml b/tests/components/combobox.qml index 5c1b1229c..e96663189 100644 --- a/tests/components/combobox.qml +++ b/tests/components/combobox.qml @@ -1,3 +1,10 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2014 Marco Martin + * SPDX-FileCopyrightText: 2019 Yuri Chornoivan + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/combobox3.qml b/tests/components/combobox3.qml index 643603011..626c8768b 100644 --- a/tests/components/combobox3.qml +++ b/tests/components/combobox3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/menu.qml b/tests/components/menu.qml index 228114002..65eda8ebe 100644 --- a/tests/components/menu.qml +++ b/tests/components/menu.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2015 Kai Uwe Broulik + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/progressbar.qml b/tests/components/progressbar.qml index d579bf268..0146997b4 100644 --- a/tests/components/progressbar.qml +++ b/tests/components/progressbar.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2014 Kai Uwe Broulik + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/progressbar3.qml b/tests/components/progressbar3.qml index 34cfbef2a..796c082ae 100644 --- a/tests/components/progressbar3.qml +++ b/tests/components/progressbar3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/radiobutton.qml b/tests/components/radiobutton.qml index 809a92229..f439ec09f 100644 --- a/tests/components/radiobutton.qml +++ b/tests/components/radiobutton.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2017 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import QtQuick.Controls 1.2 diff --git a/tests/components/radiobutton3.qml b/tests/components/radiobutton3.qml index 494eb35bd..688837c5e 100644 --- a/tests/components/radiobutton3.qml +++ b/tests/components/radiobutton3.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 George Vogiatzis + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.2 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/slider.qml b/tests/components/slider.qml index 4cd33825d..0e00db01e 100644 --- a/tests/components/slider.qml +++ b/tests/components/slider.qml @@ -1,3 +1,7 @@ +/* + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/slider3.qml b/tests/components/slider3.qml index ea38df1d1..d4cfeddc2 100644 --- a/tests/components/slider3.qml +++ b/tests/components/slider3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 Aleix Pol + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/tabbar3.qml b/tests/components/tabbar3.qml index e013226dc..d39fe9741 100644 --- a/tests/components/tabbar3.qml +++ b/tests/components/tabbar3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2020 Marco Martin + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/textarea.qml b/tests/components/textarea.qml index ffe694502..75d1d3344 100644 --- a/tests/components/textarea.qml +++ b/tests/components/textarea.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2019 Yuri Chornoivan + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import QtQuick.Controls 1.3 diff --git a/tests/components/textarea3.qml b/tests/components/textarea3.qml index a4c909a11..f016f56e2 100644 --- a/tests/components/textarea3.qml +++ b/tests/components/textarea3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/textfield.qml b/tests/components/textfield.qml index 3c8738a37..fffee19cf 100644 --- a/tests/components/textfield.qml +++ b/tests/components/textfield.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import QtQuick.Controls 1.3 diff --git a/tests/components/textfield3.qml b/tests/components/textfield3.qml index d7e03d5a2..e80f02935 100644 --- a/tests/components/textfield3.qml +++ b/tests/components/textfield3.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/toolbutton.qml b/tests/components/toolbutton.qml index a4baf6259..252517cb6 100644 --- a/tests/components/toolbutton.qml +++ b/tests/components/toolbutton.qml @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2014 David Edmundson + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.12 import org.kde.plasma.core 2.0 as PlasmaCore diff --git a/tests/components/toolbutton3.qml b/tests/components/toolbutton3.qml index 8a04c6972..7baf7a0d9 100644 --- a/tests/components/toolbutton3.qml +++ b/tests/components/toolbutton3.qml @@ -1,3 +1,9 @@ +/* + * SPDX-FileCopyrightText: 2019 David Edmundson + * SPDX-FileCopyrightText: 2020 Marco Martin + * SPDX-FileCopyrightText: 2020 Noah Davis + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + */ import QtQuick 2.0 import QtQuick.Layouts 1.4 import org.kde.plasma.core 2.0 as PlasmaCore