diff options
author | Marco Martin <notmart@gmail.com> | 2015-12-09 12:14:38 +0100 |
---|---|---|
committer | Marco Martin <notmart@gmail.com> | 2015-12-29 10:33:34 +0100 |
commit | 76377cdf5d0658672bea5cc84f1c7d5657b8aea2 (patch) | |
tree | c92b63f1e3e1b1c99ba66f4927028676f66b97df /tests/KDEPackageAppTemplatesTest | |
parent | 70f8c5f9efaae8f16874d8cfc551e8ae19558fba (diff) | |
download | extra-cmake-modules-76377cdf5d0658672bea5cc84f1c7d5657b8aea2.tar.gz extra-cmake-modules-76377cdf5d0658672bea5cc84f1c7d5657b8aea2.tar.bz2 |
Make the KAppTemplate CMake module globalv5.18.0-rc1v5.18.0
templates are very useful as teaching tool in order to make
a minimal application that uses a certain framework.
templates in the KAppTemplate repository will always get forgotten
(plus kapptemplate is not really necessary as they work in kdevelop as well)
An ideal situation would be frameworks having templates in their own repos
with templates of barebone apps using the main framework features.
In order to do that, the cmake stuff needed in order to correctly install
a template needs to be ported to a place avaiable to all frameworks
REVIEW:126185
Diffstat (limited to 'tests/KDEPackageAppTemplatesTest')
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/CMakeLists.txt | 12 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/check.cmake.in | 37 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/CMakeLists.txt | 10 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/Messages.sh | 2 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/README | 32 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/images/pairs.svgz | bin | 0 -> 103064 bytes | |||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/ui/main.qml | 28 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/metadata.desktop | 67 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.kdevtemplate | 74 | ||||
-rw-r--r-- | tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.png | bin | 0 -> 35613 bytes |
10 files changed, 262 insertions, 0 deletions
diff --git a/tests/KDEPackageAppTemplatesTest/CMakeLists.txt b/tests/KDEPackageAppTemplatesTest/CMakeLists.txt new file mode 100644 index 00000000..1e5e369a --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.0) +set(ECM_KDE_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../kde-modules) +set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../modules) +set(CMAKE_MODULE_PATH "${ECM_KDE_MODULE_DIR}") + +include(KDEPackageAppTemplates) + +message(STATUS "Test: generate compressed template") +kde_package_app_templates(TEMPLATES "qml-plasmoid" INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}) + +# this will be run by CTest +configure_file(check.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check.cmake" @ONLY) diff --git a/tests/KDEPackageAppTemplatesTest/check.cmake.in b/tests/KDEPackageAppTemplatesTest/check.cmake.in new file mode 100644 index 00000000..2a4ed1e7 --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/check.cmake.in @@ -0,0 +1,37 @@ +set(CMAKE_MODULE_PATH "@MODULES_DIR@/../kde-modules") +set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@") +set(CMAKE_CURRENT_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@") + + +########################################################### + +macro(check_exists file) + message(STATUS "Checking for ${file}") + if (NOT EXISTS ${file}) + message(FATAL_ERROR "File \"${file}\" does not exist") + endif() +endmacro() + +message(STATUS "Test: the packaged template has been generated") +check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2 ) + +message(STATUS "Extracting the packaged template") +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid) +execute_process(COMMAND ${CMAKE_COMMAND} -E tar "xvfj" ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2 + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid + RESULT_VARIABLE result + ERROR_VARIABLE error + ) + +if(NOT result EQUAL 0) + message(FATAL_ERROR "Error extracting the template: ${error}") +endif() + +message(STATUS "Test: the packaged template has been correctly extracted") +check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/qml-plasmoid.png ) +check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/qml-plasmoid.kdevtemplate ) +check_exists(${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid/package/metadata.desktop ) + +message(STATUS "Cleaning up generated files") +file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid.tar.bz2 ) +file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/qml-plasmoid ) diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/CMakeLists.txt b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/CMakeLists.txt new file mode 100644 index 00000000..d9cbb7fe --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 2.8.12) + +project(plasma-%{APPNAMELC}) + +find_package(ECM 1.4.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) + +find_package(KF5Plasma REQUIRED) + +plasma_install_package(package org.kde.%{APPNAMELC}) diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/Messages.sh b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/Messages.sh new file mode 100644 index 00000000..b8af9a77 --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/Messages.sh @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +$XGETTEXT `find . -name \*.qml` -o $podir/plasma_applet_%{APPNAMELC}.pot
\ No newline at end of file diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/README b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/README new file mode 100644 index 00000000..6814263d --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/README @@ -0,0 +1,32 @@ +Plasma Applet Template +---------------------- + +-- Build instructions -- + +cd /where/your/applet/is/generated +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=MYPREFIX .. +make +make install + +(MYPREFIX is where you install your Plasma setup, replace it accordingly) + +Restart plasma to load the applet +(in a terminal type: +kquitapp plasmashell +and then +plasmashell) + +or view it with +plasmoidviewer -a YourAppletName + +-- Tutorials and resources -- +The explanation of the template +http://techbase.kde.org/index.php?title=Development/Tutorials/Plasma/GettingStarted + +Plasma techbase pages +http://techbase.kde.org/Projects/Plasma + +Plasma QML API explained +http://techbase.kde.org/Development/Tutorials/Plasma/QML/API diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/images/pairs.svgz b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/images/pairs.svgz Binary files differnew file mode 100644 index 00000000..4d1be5de --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/images/pairs.svgz diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/ui/main.qml b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/ui/main.qml new file mode 100644 index 00000000..afa4758a --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/contents/ui/main.qml @@ -0,0 +1,28 @@ +/*************************************************************************** + * Copyright (C) %{CURRENT_YEAR} by %{AUTHOR} <%{EMAIL}> * + * * + * Distributed under the OSI-approved BSD License (the "License"); + * see accompanying file COPYING-CMAKE-SCRIPTS for details. + * + * This software is distributed WITHOUT ANY WARRANTY; without even the + * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the License for more information. + ***************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Layouts 1.1 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.plasmoid 2.0 +import org.kde.plasma.components 2.0 as PlasmaComponents + +Item { + Plasmoid.fullRepresentation: ColumnLayout { + anchors.fill: parent + PlasmaCore.IconItem { + source: "kde" + } + PlasmaComponents.Label { + text: "This is Plasma!" + } + } +} diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/metadata.desktop b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/metadata.desktop new file mode 100644 index 00000000..5fcd677c --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/package/metadata.desktop @@ -0,0 +1,67 @@ +[Desktop Entry] +Name=%{APPNAME} +Name[ca]=%{APPNAME} +Name[ca@valencia]=%{APPNAME} +Name[da]=%{APPNAME} +Name[en_GB]=%{APPNAME} +Name[es]=%{APPNAME} +Name[fi]=%{APPNAME} +Name[gl]=%{APPNAME} +Name[it]=%{APPNAME} +Name[nb]=%{APPNAME} +Name[nl]=%{APPNAME} +Name[nn]=%{APPNAME} +Name[pl]=%{APPNAME} +Name[pt]=%{APPNAME} +Name[pt_BR]=%{APPNAME} +Name[sl]=%{APPNAME} +Name[sr]=%{APPNAME} +Name[sr@ijekavian]=%{APPNAME} +Name[sr@ijekavianlatin]=%{APPNAME} +Name[sr@latin]=%{APPNAME} +Name[sv]=%{APPNAME} +Name[uk]=%{APPNAME} +Name[x-test]=xx%{APPNAME}xx +Comment=what your app does in a few words +Comment[ca]=Què fa aquesta aplicació en poques paraules +Comment[ca@valencia]=Què fa esta aplicació en poques paraules +Comment[da]=nogle få ord om hvad din app gør +Comment[en_GB]=what your app does in a few words +Comment[es]=lo que hace su aplicación, en pocas palabras +Comment[fi]=ohjelmasi toiminta muutamalla sanalla +Comment[gl]=o que fai o seu programa en poucas palabras +Comment[it]=Cosa fa la tua applicazione in poche parole +Comment[nb]=hva programmet gjør, med noen få ord +Comment[nl]=wat uw app doet in een paar woorden +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[sl]=kaj vaš program dela, v nekaj besedah +Comment[sr]=Укратко о томе шта ваш програм ради +Comment[sr@ijekavian]=Укратко о томе шта ваш програм ради +Comment[sr@ijekavianlatin]=Ukratko o tome šta vaš program radi +Comment[sr@latin]=Ukratko o tome šta vaš program radi +Comment[sv]=vad programmet gör med några få ord +Comment[uk]=призначення вашої програми у декількох словах +Comment[x-test]=xxwhat your app does in a few wordsxx + +Icon=applications-system +Type=Service +ServiceTypes=Plasma/Applet + +X-KDE-PluginInfo-Author=%{AUTHOR} +X-KDE-PluginInfo-Email=%{EMAIL} +X-KDE-PluginInfo-Name=%{APPNAMELC} +X-KDE-PluginInfo-Version=1.0 +X-KDE-PluginInfo-Website=http://plasma.kde.org/ +X-KDE-PluginInfo-Category=Utilities +X-KDE-PluginInfo-Depends= +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=true +X-KDE-PluginInfo-Name=org.kde.%{APPNAMELC} + +X-Plasma-API=declarativeappletscript +X-Plasma-MainScript=ui/main.qml +X-Plasma-Requires-FileDialog=Unused +X-Plasma-Requires-LaunchApp=Unused +X-Plasma-DefaultSize=200,300 diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.kdevtemplate b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.kdevtemplate new file mode 100644 index 00000000..2675e711 --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.kdevtemplate @@ -0,0 +1,74 @@ +# KDE Config File +[General] +Name=Plasma QML Applet +Name[bs]=Plasma QML Applet +Name[ca]=Miniaplicació en QML pel Plasma +Name[ca@valencia]=Miniaplicació en QML pel Plasma +Name[cs]=Aplet QML Plasma +Name[da]=Plasma QML-applet +Name[de]=Plasma-QML-Miniprogramm +Name[el]=Μικροεφαρμογή Plasma QML +Name[en_GB]=Plasma QML Applet +Name[es]=Miniaplicación QML para Plasma +Name[et]=Plasma QML aplett +Name[fi]=Plasma QML-sovelma +Name[fr]=Composant graphique QML pour Plasma +Name[gl]=Applet QML para Plasma +Name[hu]=Plasma QML kisalkalmazás +Name[it]=Applet di Plasma in QML +Name[kk]=Plasma QML апплеті +Name[ko]=Plasma QML 애플릿 +Name[nb]=Plasma QML-miniprogram +Name[nl]=Plasma QML-applet +Name[pl]=Aplet plazmy QML Applet +Name[pt]='Applet' do Plasma em QML +Name[pt_BR]=Miniaplicativo Plasma em QML +Name[ru]=Аплет Plasma QML +Name[sk]=Plasma QML Applet +Name[sl]=Aplet QML za Plasmo +Name[sr]=Плазма КуМЛ аплет +Name[sr@ijekavian]=Плазма КуМЛ аплет +Name[sr@ijekavianlatin]=Plasma QML aplet +Name[sr@latin]=Plasma QML aplet +Name[sv]=Plasma QML-miniprogram +Name[tr]=Plasma QML Programcığı +Name[uk]=Аплет Плазми мовою QML +Name[x-test]=xxPlasma QML Appletxx +Name[zh_CN]=Plasma QML 小程序 +Name[zh_TW]=Plasma QML 小程式 +Comment=Plasma QML Applet Template: a plasma applet template displaying a svg picture and a text. +Comment[bs]=Predložak za QML aplete. Predložak za plasma aplete koji prikazuju SVG sliku i tekst. +Comment[ca]=Plantilla de miniaplicació pel Plasma: una plantilla de miniaplicació del plasma que mostra una icona i un text. +Comment[ca@valencia]=Plantilla de miniaplicació pel Plasma: una plantilla de miniaplicació del plasma que mostra una icona i un text. +Comment[da]=Skabelon til Plasma QML-applet. En skabelon til en Plasma-applet, som viser et SVG-billede og en tekst. +Comment[de]=Vorlage für Plasma-QML-Miniprogramm. Eine Vorlage für ein Plasma-Miniprogramm, das ein SVG-Symbol und einen Text anzeigt +Comment[el]=Πρότυπο μικροεφαρμογής Plasma QML: ένα πρότυπο μικροεφαρμογής plasma που εμφανίζει μια εικόνα svg και ένα κείμενο. +Comment[en_GB]=Plasma QML Applet Template: a plasma applet template displaying a svg picture and a text. +Comment[es]=Plantilla de miniaplicación QML para Plasma: una plantilla de miniaplicación para Plasma que muestra una imagen SVG y un texto. +Comment[et]=Plasma QML apleti mall. Plasma apleti mall, näitab SVG-pilti ja teksti +Comment[fi]=Plasman QML-sovelmamalli: Plasma-sovelmamalli, joka näyttää kuvakkeen ja tekstiä. +Comment[fr]=Modèle de composant graphique QML pour Plasma. Un modèle de composant graphique pour Plasma affichant une image « svg » et un texte. +Comment[gl]=Modelo de applet para Plasma: un modelo de applet para Plasma que mostra unha imaxe SVG e un texto. +Comment[hu]=Plasma QML kisalkalmazás sablon: egy Plasma kisalkalmazás sablon, amely megjelenít egy SVG képet és egy szöveget. +Comment[it]=Modello di applet Plasma in QML. Un modello di programmino Plasma che visualizza un'immagine SVG e del testo +Comment[kk]=Plasma QML апплет үлгісі. SVG-суреті мен мәтінді көрсететін Plasma апплет үлгісі. +Comment[ko]=Plasma QML 애플릿 템플릿. SVG 그림과 텍스트를 표시하는 Plasma 애플릿 템플릿 +Comment[nb]=Plasma mal for QML miniprogram: en mal for et Plasma-element som viser et svg-bilde og en tekst. +Comment[nl]=Sjabloon voor Plasma-QML-applet: Een sjabloon voor een plasma-applet dat een svg-afbeelding en een tekst toont +Comment[pl]=Szablon apletu Plazmy QML: szablon apletu plazmy wyświetlający zdjęcie svg i tekst. +Comment[pt]=Modelo de 'Applet' do Plasma. Um modelo de 'applet' do Plasma que mostra uma imagem SVG e algum texto. +Comment[pt_BR]=Modelo de miniaplicativo Plasma em QML: Um modelo de miniaplicativo Plasma que mostra uma imagem SVG e texto. +Comment[ru]=Пример виджета Plasma на QML. Шаблон виджета Plasma, показывающий изображение SVG и текст. +Comment[sk]=Šablóna appletu Plasma QML: šablóna plasma appletu zobrazujúca svg obrázok a text. +Comment[sl]=Predloga apleta Plasma, ki prikazuje sliko svg in besedilo. +Comment[sr]=Шаблон за плазма КуМЛ аплет који даје СВГ слику и текст +Comment[sr@ijekavian]=Шаблон за плазма КуМЛ аплет који даје СВГ слику и текст +Comment[sr@ijekavianlatin]=Šablon za plasma QML aplet koji daje SVG sliku i tekst +Comment[sr@latin]=Šablon za plasma QML aplet koji daje SVG sliku i tekst +Comment[sv]=Mall för Plasma QML-miniprogram. En mall för ett Plasma-miniprogram som visar en SVG-bild och en text. +Comment[tr]=Plasma QML Programcığı Şablonu: Bir metin ve svg resmi gösteren plasma programcığı şablonu +Comment[uk]=Шаблон аплету Плазми. Шаблон аплету Плазми, який показу зображення SVG і текст. +Comment[x-test]=xxPlasma QML Applet Template: a plasma applet template displaying a svg picture and a text.xx +Comment[zh_TW]=Plasma QML 小程式樣本:用於顯示 svg 圖片與文字的 plasma 小程式樣本 +Category=KDE/Plasmoid +Icon=qml-plasmoid.png diff --git a/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.png b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.png Binary files differnew file mode 100644 index 00000000..26748f6c --- /dev/null +++ b/tests/KDEPackageAppTemplatesTest/qml-plasmoid/qml-plasmoid.png |