Add plasmoid to project.
This commit is contained in:
@@ -24,6 +24,7 @@ find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS
|
||||
)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(plasmoid)
|
||||
|
||||
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
||||
3
plasmoid/CMakeLists.txt
Normal file
3
plasmoid/CMakeLists.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
find_package(KF5Plasma REQUIRED)
|
||||
|
||||
plasma_install_package(package org.eyecreate.simplecastplasmoid)
|
||||
2
plasmoid/Messages.sh
Normal file
2
plasmoid/Messages.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#! /usr/bin/env bash
|
||||
$XGETTEXT `find . -name \*.qml` -o $podir/plasma_applet_org.kde.plasma.simplecastplasmoid.pot
|
||||
31
plasmoid/README
Normal file
31
plasmoid/README
Normal file
@@ -0,0 +1,31 @@
|
||||
Simple Cast Plasma Applet
|
||||
----------------------
|
||||
Goes with Simple Cast DataEngine to display and start service to allow casting/streaming Youtube and Bandcamp audio on device.
|
||||
|
||||
|
||||
-- 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
|
||||
https://techbase.kde.org/Development/Tutorials/Plasma5/QML2/GettingStarted
|
||||
|
||||
Plasma QML API explained
|
||||
https://techbase.kde.org/Development/Tutorials/Plasma2/QML2/API
|
||||
93
plasmoid/package/contents/ui/main.qml
Normal file
93
plasmoid/package/contents/ui/main.qml
Normal file
@@ -0,0 +1,93 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2019 by Kevin Whiaker <eyecreate@eyecreate.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
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
|
||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||
|
||||
Item {
|
||||
Plasmoid.fullRepresentation: ColumnLayout {
|
||||
Layout.minimumWidth: units.gridUnit * 20
|
||||
Layout.minimumHeight: units.gridUnit * 10
|
||||
|
||||
PlasmaExtras.ScrollArea {
|
||||
id:scrollingList
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
ListView {
|
||||
id:trackList
|
||||
delegate:PlasmaComponents.ListItem {
|
||||
checked: index==0?true:false
|
||||
content: Text{
|
||||
text:modelData
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
PlasmaCore.DataSource {
|
||||
id:castSource
|
||||
engine: "simplecast"
|
||||
connectedSources: ["Playlist","CurrentState"]
|
||||
interval: 500
|
||||
onNewData: {
|
||||
if(sourceName == "Playlist")
|
||||
{
|
||||
trackList.model = data.trackNames;
|
||||
}
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
PlasmaComponents.Button {
|
||||
iconSource: castSource.data.CurrentState.playingState?"media-playback-pause":"media-playback-start"
|
||||
onClicked: {
|
||||
var service = castSource.serviceForSource("CurrentState");
|
||||
var playPause = service.operationDescription("changePlayState");
|
||||
playPause.playing = !castSource.data.CurrentState.playingState;
|
||||
service.startOperationCall(playPause);
|
||||
}
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
iconSource: "media-skip-forward"
|
||||
onClicked: {
|
||||
var service = castSource.serviceForSource("CurrentState");
|
||||
var nextTrack = service.operationDescription("skipToNextTrack");
|
||||
service.startOperationCall(nextTrack);
|
||||
}
|
||||
}
|
||||
PlasmaComponents.TextField {
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: units.gridWidth * 10
|
||||
id:url
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text:"Add URL"
|
||||
onClicked: {
|
||||
var service = castSource.serviceForSource("CurrentState");
|
||||
var loadTrack = service.operationDescription("addURLToPlaylist");
|
||||
loadTrack.URL = url.text;
|
||||
service.startOperationCall(loadTrack);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//TODO: Plasmoid.compactRepresentation?
|
||||
}
|
||||
95
plasmoid/package/metadata.desktop
Normal file
95
plasmoid/package/metadata.desktop
Normal file
@@ -0,0 +1,95 @@
|
||||
[Desktop Entry]
|
||||
Name=SimpleCastPlasmoid
|
||||
Name[ar]=SimpleCastPlasmoid
|
||||
Name[ca]=SimpleCastPlasmoid
|
||||
Name[ca@valencia]=SimpleCastPlasmoid
|
||||
Name[cs]=SimpleCastPlasmoid
|
||||
Name[da]=SimpleCastPlasmoid
|
||||
Name[de]=SimpleCastPlasmoid
|
||||
Name[en_GB]=SimpleCastPlasmoid
|
||||
Name[es]=SimpleCastPlasmoid
|
||||
Name[et]=SimpleCastPlasmoid
|
||||
Name[eu]=SimpleCastPlasmoid
|
||||
Name[fi]=SimpleCastPlasmoid
|
||||
Name[fr]=SimpleCastPlasmoid
|
||||
Name[gd]=SimpleCastPlasmoid
|
||||
Name[gl]=SimpleCastPlasmoid
|
||||
Name[hu]=SimpleCastPlasmoid
|
||||
Name[ia]=SimpleCastPlasmoid
|
||||
Name[id]=SimpleCastPlasmoid
|
||||
Name[it]=SimpleCastPlasmoid
|
||||
Name[ko]=SimpleCastPlasmoid
|
||||
Name[nb]=SimpleCastPlasmoid
|
||||
Name[nl]=SimpleCastPlasmoid
|
||||
Name[nn]=SimpleCastPlasmoid
|
||||
Name[pl]=SimpleCastPlasmoid
|
||||
Name[pt]=SimpleCastPlasmoid
|
||||
Name[pt_BR]=SimpleCastPlasmoid
|
||||
Name[ru]=SimpleCastPlasmoid
|
||||
Name[sk]=SimpleCastPlasmoid
|
||||
Name[sl]=SimpleCastPlasmoid
|
||||
Name[sr]=SimpleCastPlasmoid
|
||||
Name[sr@ijekavian]=SimpleCastPlasmoid
|
||||
Name[sr@ijekavianlatin]=SimpleCastPlasmoid
|
||||
Name[sr@latin]=SimpleCastPlasmoid
|
||||
Name[sv]=SimpleCastPlasmoid
|
||||
Name[tr]=SimpleCastPlasmoid
|
||||
Name[uk]=SimpleCastPlasmoid
|
||||
Name[x-test]=xxSimpleCastPlasmoidxx
|
||||
Name[zh_CN]=SimpleCastPlasmoid
|
||||
Name[zh_TW]=SimpleCastPlasmoid
|
||||
Comment=what your app does in a few words
|
||||
Comment[ar]=ما يفعله تطبيقك ببضع كلمات
|
||||
Comment[ca]=Què fa aquesta aplicació en poques paraules
|
||||
Comment[ca@valencia]=Què fa aquesta aplicació en poques paraules
|
||||
Comment[da]=nogle få ord om hvad din app gør
|
||||
Comment[de]=In ein paar Worten, was Ihre Anwendung tut
|
||||
Comment[en_GB]=what your app does in a few words
|
||||
Comment[es]=lo que hace su aplicación, en pocas palabras
|
||||
Comment[et]=Mõne sõnaga, mida rakendus teeb
|
||||
Comment[eu]=zure aplikazioak egiten duena hitz gutxitan
|
||||
Comment[fi]=ohjelmasi toiminta muutamalla sanalla
|
||||
Comment[fr]=que fait votre application en quelques mots
|
||||
Comment[gd]=na nì an aplacaid agad ann am beagan fhaclan
|
||||
Comment[gl]=o que fai o seu aplicativo en poucas palabras
|
||||
Comment[hu]=Írja le néhány szóba, mit csinál az alkalmazása!
|
||||
Comment[ia]=cosa tu app face in pauc parolas
|
||||
Comment[id]=app apa yang kamu lakukan dalam beberapa kata
|
||||
Comment[it]=Cosa fa la tua applicazione in poche parole
|
||||
Comment[ko]=프로그램이 하는 일에 대한 간단한 설명
|
||||
Comment[nb]=hva programmet gjør, med noen få ord
|
||||
Comment[nl]=wat uw app doet in een paar woorden
|
||||
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[ru]=Несколько слов о том, что делает ваша программа
|
||||
Comment[sk]=čo vaša aplikácia robí v niekoľkých slovách
|
||||
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[tr]=uygulamanızın yaptığı şey, birkaç sözcükte
|
||||
Comment[uk]=призначення вашої програми у декількох словах
|
||||
Comment[x-test]=xxwhat your app does in a few wordsxx
|
||||
Comment[zh_CN]=简单几个词概括您的小程序的功能
|
||||
Comment[zh_TW]=以數個字描述您的應用程式的用途
|
||||
|
||||
Icon=emblem-music-symbolic
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=Plasma/Applet
|
||||
|
||||
X-KDE-PluginInfo-Author=Kevin Whitaker
|
||||
X-KDE-PluginInfo-Email=eyecreate@eyecreate.org
|
||||
X-KDE-PluginInfo-Name=org.eyecreate.simplecastplasmoid
|
||||
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=GPL
|
||||
X-KDE-PluginInfo-EnabledByDefault=true
|
||||
|
||||
X-Plasma-API=declarativeappletscript
|
||||
X-Plasma-MainScript=ui/main.qml
|
||||
Reference in New Issue
Block a user