Merge branch 'master' of https://invent.kde.org/frameworks/plasma-framework into work/plasmoidsCanIgnoreMargins

This commit is contained in:
Niccolò Venerandi 2020-10-08 14:52:45 +02:00
commit 337779252d
129 changed files with 670 additions and 383 deletions

View File

@ -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)

View File

@ -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}")

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: 2016 David Rosca <nowrep@gmail.com>
* 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

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: 2016 David Rosca <nowrep@gmail.com>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Rectangle {

View File

@ -1,3 +1,7 @@
/*
* SPDX-FileCopyrightText: 2016 David Rosca <nowrep@gmail.com>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Rectangle {

View File

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: 2014 Marco Martin <notmart@gmail.com>
* SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Rectangle {

View File

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: 2014 Marco Martin <notmart@gmail.com>
* SPDX-FileCopyrightText: 2014 Sebastian Kügler <sebas@kde.org>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Rectangle {

View File

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: 2014 Marco Martin <notmart@gmail.com>
* SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Rectangle {

View File

@ -1,3 +1,8 @@
/*
* SPDX-FileCopyrightText: 2016 David Rosca <nowrep@gmail.com>
* SPDX-FileCopyrightText: 2016 Marco Martin <notmart@gmail.com>
* SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
import QtQuick 2.0
Item {
width: 100

View File

@ -8,11 +8,9 @@
#include <qtest.h>
#include <QDebug>
//#include <QJsonObject>
#include <QSignalSpy>
#include <KPluginInfo>
//#include <KPluginTrader>
#include <plasma/pluginloader.h>
#include <plasma/dataengineconsumer.h>

View File

@ -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());

View File

@ -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 mt li 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;li;phát trin;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]=Li
Name[x-test]=xxBugxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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ế gii
Name[x-test]=xxhello worldxx
Name[zh_CN]=hello world
Name[zh_TW]=hello world

View File

@ -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]=Kim th tiu ng dng
Name[x-test]=xxApplet Testxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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]=Kim th cu hình
Name[x-test]=xxConfiguration testxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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]=Tiu ng dng ví d cho thy 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]=

View File

@ -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ế gii
Name[x-test]=xxhello worldxx
Name[zh_CN]=hello world
Name[zh_TW]=hello world

View File

@ -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]=

View File

@ -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]=Mt trình điu khin và phát phương tin th nghim viết bng 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

View File

@ -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 ca 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 thy cách viết Ph kin tác v ca riêng bn
Comment[x-test]=xxExample showing how to write your own tasks Widgetxx
Comment[zh_CN]=
Comment[zh_TW]=

View File

@ -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 bng QML, chuyn dng 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

View File

@ -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]=Kim th các thành phn
Name[x-test]=xxComponents Testxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -39,6 +39,7 @@ Name[sv]=Skuggningstest
Name[tg]=Санҷиши соягузор
Name[tr]=Gölgelendirici Testi
Name[uk]=Тестування підпрограм побудови тіней
Name[vi]=Kim 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 hiu ng trc quan
Comment[x-test]=xxFutzing with Visual Effectsxx
Comment[zh_CN]=
Comment[zh_TW]=

View File

@ -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]=Kim th ch đ
Name[x-test]=xxTheme Testxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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 tp ph kin
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 kin làm bng QtComponents ca 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

View File

@ -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 ca ca 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 thy cách hin th hình nh ca ca s
Comment[x-test]=xxExample showing how to display window thumbnailsxx
Comment[zh_CN]=
Comment[zh_TW]=

View File

@ -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]=Kim th vic bao cha
Name[x-test]=xxContainment Testxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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 vic kế tha lp 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

View File

@ -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 gin
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]=Mt phn thi hành DataEngine rt cơ bn
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

View File

@ -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]=Ngun khi có yêu cu
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]=Mt ví d v DataEngine cho thy cách hi đáp các yêu cu to và cp nht ngun
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

View File

@ -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 dng cơ bn
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]=Li
Name[x-test]=xxBugxx
Name[zh_CN]=
Name[zh_TW]=

View File

@ -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]=Kim 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]=Mt phn cài cm nm dùng cho kim 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

View File

@ -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]=

View File

@ -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

View File

@ -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

View File

@ -11,6 +11,8 @@
#include <QQmlContext>
#include <KLocalizedContext>
#include <kdeclarative/kdeclarative.h>
#include <plasma/framesvg.h>
@ -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);
}
}

View File

@ -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)

View File

@ -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();
}

View File

@ -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

View File

@ -7,6 +7,8 @@
*/
import QtQuick 2.1
import org.kde.plasma.core 2.0 as PlasmaCore
import "ButtonGroup.js" as Behavior
/**

View File

@ -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"

View File

@ -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
}
}

View File

@ -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
}
}
}
]
}

View File

@ -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 {}
}

View File

@ -1,4 +1,8 @@
/*
* SPDX-FileCopyrightText: 2017 Marco Martin <notmart@gmail.com>
* SPDX-FileCopyrightText: 2020 Nate Graham <nate@kde.org>
* 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@

View File

@ -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

View File

@ -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

View File

@ -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 {}
}

View File

@ -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
}
}
}

View File

@ -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 {

View File

@ -0,0 +1,66 @@
/*
* SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
* SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com>
* 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"
}
}

View File

@ -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.

View File

@ -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

View File

@ -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]=Mt lung 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

View File

@ -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
)

View File

@ -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 Ti
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 Ti, 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

View File

@ -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
)

View File

@ -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

View File

@ -6,11 +6,11 @@
color:#da4453;
}
</style>
<g id="22-22-plasmavault" transform="translate(49 4.999999)">
<g id="22-22-plasmavault_error" transform="translate(49 4.999999)">
<path id="rect4148" d="m0 0h22v22h-22z" fill="none"/>
<path id="path829" d="m3 3.000001v16h16v-14h-6.992l-2-2-.008.008v-.008zm1 1h5.586l1.004 1.004-4.02 3.996h-2.57zm10 5a3 3 0 0 1 3 3.000001v.999999h1v5h-8v-5h1v-.999999a3 3 0 0 1 3-3.000001zm0 1.000001a2 2 0 0 0 -2 2v.999999h4v-.999999a2 2 0 0 0 -2-2z" class="ColorScheme-NegativeText" fill="currentColor"/>
</g>
<g id="plasmavault">
<g id="plasmavault_error">
<path id="rect4230" d="m0-1e-6h32.000004v32h-32.000004z" fill="none"/>
<path id="path875" d="m4 4v24h24v-21h-11l-3-3zm1 1h8.585938l2.207031 2.2070312-5.792969 5.7929688h-5zm16 8a4 4 0 0 1 4 4v3h2v7h-12v-7h2v-3a4 4 0 0 1 4-4zm0 1a3.0003099 3 0 0 0-3 3v3h6v-3a3.0003099 3 0 0 0-3-3z" class="ColorScheme-NegativeText" fill="currentColor"/>
</g>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -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

View File

@ -318,101 +318,101 @@
<path style="stroke-width:0.999996" id="pressed-hint-bottom-margin" d="m 190,204 h 2 v 6 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="pressed-hint-left-margin" d="m 174,192 h 6 v 2 h -6 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="pressed-hint-right-margin" d="m 202,192 h 6 v 2 h -6 z" fill="#ff00ff" fill-rule="evenodd" />
<g id="toolbutton-hover-bottom" transform="translate(238,142)" fill-rule="evenodd">
<g id="toolbutton-hover-bottom" transform="translate(238,140)" fill-rule="evenodd">
<path id="path1565-7-9" d="m 4,-11 v 3 h 22 v -3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1565-4" d="m 4,-9 v 1 h 22 v -1 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-bottomright" transform="translate(240,142)" fill-rule="evenodd">
<g id="toolbutton-hover-bottomright" transform="translate(238,140)" fill-rule="evenodd">
<path id="rect1509-7-9-6-2-2" d="m 27,-8 v -3 h 3 c 0,1.662 -1.338,3 -3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6" d="m 29,-11 c 0,1.108 -0.892,2 -2,2 v 1 c 1.662,0 3,-1.338 3,-3 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-right" transform="translate(240,140)" fill-rule="evenodd">
<g id="toolbutton-hover-right" transform="translate(238,140)" fill-rule="evenodd">
<path id="path1565-7-8-1" d="m 27,-12 h 3 v -22 h -3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1559-2" d="m 29,-34 v 22 h 1 v -22 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-top" transform="rotate(180,134,46)" fill-rule="evenodd">
<g id="toolbutton-hover-top" transform="rotate(180,134,47)" fill-rule="evenodd">
<path id="path1565-7-9-8" d="m 4,-11 v 3 h 22 v -3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1565-4-9" d="m 4,-9 v 1 h 22 v -1 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-topleft" transform="rotate(180,133,46)" fill-rule="evenodd">
<g id="toolbutton-hover-topleft" transform="rotate(180,134,47)" fill-rule="evenodd">
<path id="rect1509-7-9-6-2-2-8" d="m 27,-8 v -3 h 3 c 0,1.662 -1.338,3 -3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-8" d="m 29,-11 c 0,1.108 -0.892,2 -2,2 v 1 c 1.662,0 3,-1.338 3,-3 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-left" transform="rotate(180,133,47)" fill-rule="evenodd">
<g id="toolbutton-hover-left" transform="rotate(180,134,47)" fill-rule="evenodd">
<path id="path1565-7-8-1-6" d="m 27,-12 h 3 v -22 h -3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1559-2-8" d="m 29,-34 v 22 h 1 v -22 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-topright" transform="matrix(1,0,0,-1,240,92)" fill-rule="evenodd">
<g id="toolbutton-hover-topright" transform="matrix(1,0,0,-1,238,94)" fill-rule="evenodd">
<path id="rect1509-7-9-6-2-2-83" d="m 27,-8 v -3 h 3 c 0,1.662 -1.338,3 -3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-3" d="m 29,-11 c 0,1.108 -0.892,2 -2,2 v 1 c 1.662,0 3,-1.338 3,-3 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<g id="toolbutton-hover-bottomleft" transform="matrix(-1,0,0,1,266,142)" fill-rule="evenodd">
<g id="toolbutton-hover-bottomleft" transform="matrix(-1,0,0,1,268,140)" fill-rule="evenodd">
<path id="rect1509-7-9-6-2-2-0" d="m 27,-8 v -3 h 3 c 0,1.662 -1.338,3 -3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-4" d="m 29,-11 c 0,1.108 -0.892,2 -2,2 v 1 c 1.662,0 3,-1.338 3,-3 z" class="ColorScheme-ButtonHover" fill="currentColor" />
</g>
<path id="toolbutton-hover-center" d="m242 106h22v22h-22z" fill-opacity=".003922" fill-rule="evenodd" opacity=".001" />
<rect id="toolbutton-hover-hint-top-margin" x="252" y="100" width="2" height="6" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999997" />
<rect id="toolbutton-hover-hint-bottom-margin" x="252" y="128" width="2" height="6" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999997" />
<rect id="toolbutton-hover-hint-right-margin" x="264" y="116" width="6" height="2" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999997" />
<rect style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke-width:0.999997" id="toolbutton-hover-hint-left-margin" width="6" height="2" x="236" y="116" />
<g id="toolbutton-focus-bottom" transform="translate(62,2)" fill-rule="evenodd">
<rect id="toolbutton-hover-hint-top-margin" x="252" y="102" width="2" height="4" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999996" />
<rect id="toolbutton-hover-hint-bottom-margin" x="252" y="128" width="2" height="4" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999996" />
<rect id="toolbutton-hover-hint-right-margin" x="264" y="116" width="4" height="2" fill="#ff00ff" fill-rule="evenodd" style="stroke-width:0.999996" />
<rect style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke-width:0.999996" id="toolbutton-hover-hint-left-margin" width="4" height="2" x="238" y="116" />
<g id="toolbutton-focus-bottom" transform="translate(62)" fill-rule="evenodd">
<path id="rect829-6-5-2-9-8" transform="scale(-1)" d="m -202,-170 h 22 v 3 h -22 z" class="ColorScheme-ButtonBackground" fill="currentColor" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="rect829-6-2-6-6-9-3" transform="scale(-1)" d="m -202,-170 h 22 v 1 h -22 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
<path id="path1565-4-90-2-7" d="m 180,170 v 1 h 22 v -1 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
</g>
<g id="toolbutton-focus-top" transform="matrix(1,0,0,-1,62,308)" fill-rule="evenodd">
<g id="toolbutton-focus-top" transform="matrix(1,0,0,-1,62,310)" fill-rule="evenodd">
<path id="rect829-6-5-2-9-5-3" transform="scale(-1)" d="m -202,-170 h 22 v 3 h -22 z" class="ColorScheme-ButtonBackground" fill="currentColor" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="rect829-6-2-6-6-9-2-7" transform="scale(-1)" d="m -202,-170 h 22 v 1 h -22 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
<path id="path1565-4-90-2-0-8" d="m 180,170 v 1 h 22 v -1 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
</g>
<g id="toolbutton-focus-right" transform="rotate(-90,223,123)" fill-rule="evenodd">
<g id="toolbutton-focus-right" transform="rotate(-90,222,124)" fill-rule="evenodd">
<path id="rect829-6-5-2-9-0-4" transform="scale(-1)" d="m -202,-170 h 22 v 3 h -22 z" class="ColorScheme-ButtonBackground" fill="currentColor" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="rect829-6-2-6-6-9-9-1" transform="scale(-1)" d="m -202,-170 h 22 v 1 h -22 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
<path id="path1565-4-90-2-9-9" d="m 180,170 v 1 h 22 v -1 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
</g>
<g id="toolbutton-focus-left" transform="matrix(0,-1,-1,0,406,346)" fill-rule="evenodd">
<g id="toolbutton-focus-left" transform="matrix(0,-1,-1,0,408,346)" fill-rule="evenodd">
<path id="rect829-6-5-2-9-0-1-9" transform="scale(-1)" d="m -202,-170 h 22 v 3 h -22 z" class="ColorScheme-ButtonBackground" fill="currentColor" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="rect829-6-2-6-6-9-9-0-8" transform="scale(-1)" d="m -202,-170 h 22 v 1 h -22 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
<path id="path1565-4-90-2-9-3-8" d="m 180,170 v 1 h 22 v -1 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
</g>
<g transform="translate(-2,2)" id="toolbutton-focus-bottomleft" fill-rule="evenodd">
<g id="toolbutton-focus-bottomleft" fill-rule="evenodd">
<path id="rect2974" d="m 237,167 c 0,2.216 1.784,4 4,4 v -1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
<path id="rect1509-7-9-6-2-2-0-8" d="m 241,170 v -3 h -3 c 0,1.662 1.338,3 3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-4-7" d="m 239,167 c 0,1.108 0.892,2 2,2 v 1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
</g>
<g id="toolbutton-focus-topleft" transform="matrix(1,0,0,-1,-2,308)" fill-rule="evenodd">
<g id="toolbutton-focus-topleft" transform="matrix(1,0,0,-1,0,310)" fill-rule="evenodd">
<path id="rect2974-6" d="m 237,167 c 0,2.216 1.784,4 4,4 v -1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
<path id="rect1509-7-9-6-2-2-0-8-7" d="m 241,170 v -3 h -3 c 0,1.662 1.338,3 3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-4-7-6" d="m 239,167 c 0,1.108 0.892,2 2,2 v 1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
</g>
<g id="toolbutton-focus-topright" transform="rotate(180,254,154)" fill-rule="evenodd">
<g id="toolbutton-focus-topright" transform="rotate(180,253,155)" fill-rule="evenodd">
<path id="rect2974-9" d="m 237,167 c 0,2.216 1.784,4 4,4 v -1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
<path id="rect1509-7-9-6-2-2-0-8-75" d="m 241,170 v -3 h -3 c 0,1.662 1.338,3 3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-4-7-9" d="m 239,167 c 0,1.108 0.892,2 2,2 v 1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
</g>
<g id="toolbutton-focus-bottomright" transform="matrix(-1,0,0,1,508,2)" fill-rule="evenodd">
<g id="toolbutton-focus-bottomright" transform="matrix(-1,0,0,1,506,0)" fill-rule="evenodd">
<path id="rect2974-8" d="m 237,167 c 0,2.216 1.784,4 4,4 v -1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" opacity="0.2" />
<path id="rect1509-7-9-6-2-2-0-8-5" d="m 241,170 v -3 h -3 c 0,1.662 1.338,3 3,3 z" fill-opacity="0.00392199" opacity="0.00100002" />
<path id="path1561-6-4-7-3" d="m 239,167 c 0,1.108 0.892,2 2,2 v 1 c -1.662,0 -3,-1.338 -3,-3 z" class="ColorScheme-ButtonFocus" fill="currentColor" />
</g>
<path id="toolbutton-focus-hint-top-margin" d="m 252,137 h 2 v 1 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-bottom-margin" d="m 252,172 h 2 v 1 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-left-margin" d="m 235,154 h 1 v 2 h -1 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-right-margin" d="m 270,154 h 1 v 2 h -1 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-top-margin" d="m 252,139 h 2 v 1 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-bottom-margin" d="m 252,170 h 2 v 1 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-left-margin" d="m 237,154 h 1 v 2 h -1 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-focus-hint-right-margin" d="m 268,154 h 1 v 2 h -1 z" fill="#ff00ff" fill-rule="evenodd" />
<path opacity="0.00100002" fill-rule="evenodd" fill-opacity="0.00392199" d="m 242,144 h 22 v 22 h -22 z" id="toolbutton-focus-center" />
<path id="toolbutton-pressed-top" d="m 242,176 v 3 h 22 v -3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-topleft" d="m 239,176 c -1.662,0 -3,1.338 -3,3 h 3 v -2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-top" d="m 242,178 v 3 h 22 v -3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-topleft" d="m 241,178 c -1.662,0 -3,1.338 -3,3 h 3 v -2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-center" d="m242 182h22v22h-22z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottom" d="m 264,210 v -3 h -22 v 3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottomright" d="m 267,210 c 1.662,0 3,-1.338 3,-3 h -3 v 2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-right" d="m 270,182 h -3 v 22 h 3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-topright" d="m 270,179 c 0,-1.662 -1.338,-3 -3,-3 v 3 h 2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-left" d="m 236,204 h 3 v -22 h -3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottomleft" d="m 236,207 c 0,1.662 1.338,3 3,3 v -3 h -2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-top-margin" d="m 252,176 h 2 v 6 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-bottom-margin" d="m 252,204 h 2 v 6 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-left-margin" d="m 236,192 h 6 v 2 h -6 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-right-margin" d="m 264,192 h 6 v 2 h -6 z" fill="#ff00ff" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottom" d="m 264,208 v -3 h -22 v 3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottomright" d="m 265,208 c 1.662,0 3,-1.338 3,-3 h -3 v 2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-right" d="m 268,182 h -3 v 22 h 3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-topright" d="m 268,181 c 0,-1.662 -1.338,-3 -3,-3 v 3 h 2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-left" d="m 238,204 h 3 v -22 h -3 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path id="toolbutton-pressed-bottomleft" d="m 238,205 c 0,1.662 1.338,3 3,3 v -3 h -2 z" class="ColorScheme-ButtonHover" fill="currentColor" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-top-margin" d="m 252,178 h 2 v 4 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-bottom-margin" d="m 252,204 h 2 v 4 h -2 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-left-margin" d="m 238,192 h 4 v 2 h -4 z" fill="#ff00ff" fill-rule="evenodd" />
<path style="stroke-width:0.999996" id="toolbutton-pressed-hint-right-margin" d="m 264,192 h 4 v 2 h -4 z" fill="#ff00ff" fill-rule="evenodd" />
<text id="text2130" x="36" y="82" font-family="Noto Sans" font-size="10" letter-spacing="0" text-anchor="end" word-spacing="0"><tspan id="tspan2128" x="36" y="82" font-size="10" text-anchor="end">normal</tspan></text>
<text id="text2130-0" x="36" y="120" font-family="Noto Sans" font-size="10" letter-spacing="0" text-anchor="end" word-spacing="0"><tspan id="tspan2128-4" x="36" y="120" font-size="10" text-anchor="end">hover</tspan></text>
<text id="text2130-0-2" x="36" y="158" font-family="Noto Sans" font-size="10" letter-spacing="0" text-anchor="end" word-spacing="0"><tspan id="tspan2128-4-9" x="36" y="158" font-size="10" text-anchor="end">focus</tspan></text>
@ -429,8 +429,10 @@
</tspan></tspan><tspan x="96" y="-43.5000030473"><tspan style="font-size:10px;text-align:start;text-anchor:start">NOTE: shadow, hover and focus (not focus-background) use negative margins!
</tspan></tspan><tspan x="96" y="-31.0000030473"><tspan style="font-size:10px;text-align:start;text-anchor:start">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 </tspan></tspan><tspan x="96" y="-18.5000030473"><tspan style="font-size:10px;text-align:start;text-anchor:start">put this info):
</tspan></tspan><tspan x="96" y="-6.00000304728"><tspan style="font-size:10px;text-align:start;text-anchor:start">plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonShadow.qml
</tspan></tspan><tspan x="96" y="6.49999695272"><tspan style="font-size:10px;text-align:start;text-anchor:start">
</tspan></tspan><tspan x="96" y="18.9999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">We should add support for a negative margins hint to FrameSvg and document it instead of requiring people to read source </tspan></tspan><tspan x="96" y="31.4999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">code in order to know these things. Unfortunately, not sure if we can change the code of ButtonShadow since it would break </tspan></tspan><tspan x="96" y="43.9999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">themes that rely on this undocumented behaviour. Maybe in KF6.</tspan></tspan></text>
</tspan></tspan><tspan x="96" y="6.49999695272"><tspan style="font-size:10px;text-align:start;text-anchor:start">plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonHover.qml
</tspan></tspan><tspan x="96" y="18.9999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">plasma-framework/src/declarativeimports/plasmacomponents3/private/ButtonFocus.qml
</tspan></tspan><tspan x="96" y="31.4999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">
</tspan></tspan><tspan x="96" y="43.9999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">We should add support for a negative margins hint to FrameSvg and document it instead of requiring people to read source </tspan></tspan><tspan x="96" y="56.4999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">code in order to know these things. Unfortunately, not sure if we can change the code of ButtonShadow since it would break </tspan></tspan><tspan x="96" y="68.9999969527"><tspan style="font-size:10px;text-align:start;text-anchor:start">themes that rely on this undocumented behaviour. Maybe in KF6.</tspan></tspan></text>
<path fill-rule="evenodd" fill="#00ff00" d="m -12,76 h 3.9999999 v 4 H -12 Z" id="normal-hint-compose-over-border" style="stroke-width:1" />
<path style="stroke-width:1" id="focus-background-hint-compose-over-border" d="m -12,152 h 3.9999999 v 4 H -12 Z" fill="#00ff00" fill-rule="evenodd" />
<path fill-rule="evenodd" fill="#00ff00" d="m -20,152 h 4 v 4 h -4 z" id="hint-focus-highlighted-background" style="stroke-width:1" />

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -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 to vi kiu 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

View File

@ -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);

View File

@ -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]=Tiu ng dng Plasma
Comment[x-test]=xxPlasma appletxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -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 cha tiu ng dng và trình tô nn Plasma
Comment[x-test]=xxPlasma applet container and background painterxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -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

View File

@ -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]=Dng c d liu ca Plasma
Comment[x-test]=xxPlasma Data Enginexx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -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

View File

@ -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à Cm 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 Trc 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

View File

@ -45,6 +45,7 @@ Comment[tg]=Таърифи сохтори бастаи Plasma
Comment[tr]=Plasma paketi yapı tanımlaması
Comment[ug]=Plasma بوغچا قۇرۇلما ئېنىقلىمىسى
Comment[uk]=Опис структури пакунка плазми
Comment[vi]=Đnh nghĩa cu trúc gói Plasma
Comment[x-test]=xxPlasma package structure definitionxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -45,6 +45,7 @@ Comment[tg]=Васеъшавии забони намоишнома барои Pl
Comment[tr]=Plasma için betik dili eklentisi
Comment[ug]=Plasma نىڭ قوليازما تىل كېڭەيتىلمىسى
Comment[uk]=Розширення скриптових мов для Плазми
Comment[vi]=Phn m rng "Ngôn ng kch bn" cho Plasma
Comment[x-test]=xxScripting language extension for Plasmaxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma 稿

View File

@ -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]=Dch v Plasma
Comment[x-test]=xxPlasma servicexx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -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 phn h v Plasma
Comment[x-test]=xxPlasma Shell Componentsxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma Shell

View File

@ -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<FrameData> 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<FrameData> &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<FrameData> &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);
}
}

View File

@ -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]": "遏止動作",

View File

@ -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]": "資料引擎",

View File

@ -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]": "一般",

View File

@ -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 主題",

View File

@ -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]": "元件",

View File

@ -75,6 +75,7 @@ public:
QPixmap cachedBackground;
QCache<QString, QRegion> 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<FrameData> &frame, Plasma::FrameSvg::EnabledBorders border, const QRect& output) const;
void paintCenter(QPainter& p, const QSharedPointer<FrameData> &frame, const QRect& contentRect, const QSize& fullSize);
QRect contentGeometry(const QSharedPointer<FrameData> &frame, const QSize& size) const;
void updateFrameData(UpdateType updateType = UpdateFrameAndMargins);
void updateFrameData(uint lastModified, UpdateType updateType = UpdateFrameAndMargins);
QSharedPointer<FrameData> lookupOrCreateMaskFrame(const QSharedPointer<FrameData> &frame, const QString &maskPrefix, const QString &maskRequestedPrefix);
Types::Location location = Types::Floating;

View File

@ -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();

View File

@ -107,6 +107,7 @@ public:
KColorScheme viewColorScheme;
KColorScheme complementaryColorScheme;
KColorScheme headerColorScheme;
KColorScheme tooltipColorScheme;
QPalette palette;
bool eventFilter(QObject *watched, QEvent *event) override;
KConfigGroup cfg;

View File

@ -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;
}

View File

@ -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;

View File

@ -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
**/

View File

@ -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) {

View File

@ -21,6 +21,7 @@
#include <KAuthorized>
#include <KLocalizedString>
#include <KLocalizedContext>
#include <kdeclarative/kdeclarative.h>
#include <packageurlinterceptor.h>
#include <KQuickAddons/ConfigModule>
@ -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

View File

@ -14,6 +14,8 @@
#include <QScreen>
#include <QQmlEngine>
#include <KLocalizedContext>
#include "plasma/pluginloader.h"
#include <packageurlinterceptor.h>
#include <kdeclarative/kdeclarative.h>
@ -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";

View File

@ -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]=Dng c d liu 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 ca dng c d liu Plasma cho Python
Comment[x-test]=xxPlasma data engine support for Pythonxx
Comment[zh_CN]=Plasma Python
Comment[zh_TW]= Python Plasma

View File

@ -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 chy 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 ca trình chy Plasma cho Python
Comment[x-test]=xxPlasma Runner support for Pythonxx
Comment[zh_CN]=Plasma Python
Comment[zh_TW]= Python

View File

@ -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 kin 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 kin ni Plasma viết bng 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

View File

@ -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 nn Plasma
Comment[x-test]=xxPlasma wallpaperxx
Comment[zh_CN]=Plasma
Comment[zh_TW]=Plasma

View File

@ -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 kin 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 kin ni Plasma viết bng Ruby
Comment[x-test]=xxNative Plasma widget written in Rubyxx
Comment[zh_CN]=使 Ruby Plasma
Comment[zh_TW]= Ruby Plasma

View File

@ -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 圖片與文字

View File

@ -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 dng ca bn làm vic 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

View File

@ -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}

View File

@ -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 桌布

View File

@ -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}

Some files were not shown because too many files have changed in this diff Show More