summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/kscreensaver
diff options
context:
space:
mode:
Diffstat (limited to 'languages/cpp/app_templates/kscreensaver')
-rw-r--r--languages/cpp/app_templates/kscreensaver/.kdev_ignore0
-rw-r--r--languages/cpp/app_templates/kscreensaver/Makefile.am19
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.cpp107
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.desktop124
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.h35
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.kdevelop113
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.kdevtemplate203
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaver.pngbin0 -> 12032 bytes
-rw-r--r--languages/cpp/app_templates/kscreensaver/kscreensaverui.ui79
-rw-r--r--languages/cpp/app_templates/kscreensaver/src-Makefile.am24
-rw-r--r--languages/cpp/app_templates/kscreensaver/subdirs3
11 files changed, 707 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/kscreensaver/.kdev_ignore b/languages/cpp/app_templates/kscreensaver/.kdev_ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/.kdev_ignore
diff --git a/languages/cpp/app_templates/kscreensaver/Makefile.am b/languages/cpp/app_templates/kscreensaver/Makefile.am
new file mode 100644
index 00000000..28747ace
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/Makefile.am
@@ -0,0 +1,19 @@
+dataFiles = kscreensaver.desktop kscreensaver.png kscreensaver.h \
+ kscreensaverui.ui src-Makefile.am kscreensaver.cpp \
+ kscreensaver.kdevelop subdirs
+
+templateName= kscreensaver
+
+### no need to change below:
+template_DATA = $(templateName).kdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/kdevappwizard
+$(templateName).tar.gz: ${dataFiles}
+ $(TAR) -cf $(templateName).tar -C $(srcdir) ${dataFiles}
+ $(GZIP_COMMAND) -f9 $(templateName).tar
+
+archivedir = ${appwizarddatadir}
+archive_DATA = $(templateName).tar.gz $(templateName).png
+
+CLEANFILES = *.tar.gz \ No newline at end of file
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.cpp b/languages/cpp/app_templates/kscreensaver/kscreensaver.cpp
new file mode 100644
index 00000000..f4418571
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.cpp
@@ -0,0 +1,107 @@
+%{CPP_TEMPLATE}
+
+#include <stdlib.h>
+#include <qcheckbox.h>
+#include <qcolor.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kpushbutton.h>
+#include <kconfig.h>
+#include <kglobal.h>
+#include "%{APPNAMELC}.h"
+#include "%{APPNAMELC}ui.h"
+
+//! libkscreensaver interface
+extern "C"
+{
+ const char *kss_applicationName = "%{APPNAMELC}.kss";
+ const char *kss_description = I18N_NOOP( "%{APPNAME}" );
+ const char *kss_version = "2.2.0";
+
+ %{APPNAME} *kss_create( WId id )
+ {
+ KGlobal::locale()->insertCatalogue("%{APPNAMELC}");
+ return new %{APPNAME}( id );
+ }
+
+ QDialog *kss_setup()
+ {
+ KGlobal::locale()->insertCatalogue("%{APPNAMELC}");
+ return new %{APPNAME}Setup();
+ }
+}
+
+//-----------------------------------------------------------------------------
+//! dialog to setup screen saver parameters
+%{APPNAME}Setup::%{APPNAME}Setup( QWidget *parent, const char *name )
+ : %{APPNAME}UI( parent, name, TRUE )
+{
+ /// @todo
+ //Connect your signals and slots here to configure the screen saver.
+ connect( OkayPushButton, SIGNAL( released() ),
+ SLOT( slotOkPressed() ) );
+ connect( CancelPushButton, SIGNAL( released() ),
+ SLOT( slotCancelPressed() ) );
+}
+
+
+//! read settings from config file
+void %{APPNAME}Setup::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+ /// @todo
+ // Add your config options here...
+ CheckBox1->setChecked(config->readBoolEntry( "somesetting", false ));
+}
+
+
+//! Ok pressed - save settings and exit
+void %{APPNAME}Setup::slotOkPressed()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+ /// @todo
+ // Add your config options here.
+ config->writeEntry( "somesetting", CheckBox1->isChecked() );
+ config->sync();
+
+ accept();
+}
+
+void %{APPNAME}Setup::slotCancelPressed()
+{
+ reject();
+}
+//-----------------------------------------------------------------------------
+
+
+%{APPNAME}::%{APPNAME}( WId id ) : KScreenSaver( id )
+{
+ readSettings();
+ blank();
+}
+
+%{APPNAME}::~%{APPNAME}()
+{}
+
+
+//! read configuration settings from config file
+void %{APPNAME}::readSettings()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "Settings" );
+ /// @todo
+ // Add your config options here...
+ bool somesetting = config->readBoolEntry( "somesetting", false );
+}
+
+
+void %{APPNAME}::blank()
+{
+ /// @todo
+ //Add your code to render the screen.
+ setBackgroundColor( QColor(black) );
+ //
+ erase();
+}
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.desktop b/languages/cpp/app_templates/kscreensaver/kscreensaver.desktop
new file mode 100644
index 00000000..0743cc69
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.desktop
@@ -0,0 +1,124 @@
+[Desktop Entry]
+Exec=%{APPNAMELC}.kss
+Icon=kscreensaver
+Type=Application
+Actions=Setup;InWindow;Root;
+X-KDE-Category=Miscellaneous
+Name=%{APPNAME}
+
+[Desktop Action Setup]
+Exec=%{APPNAMELC}.kss -setup
+Name=Setup...
+Name[br]=Kefluniadur ...
+Name[ca]=Configuració...
+Name[cy]=Gosod ...
+Name[da]=Opsætning...
+Name[de]=Einrichtung ...
+Name[el]=Ρύθμιση...
+Name[es]=Configuración...
+Name[et]=Häälestus...
+Name[eu]=Konfiguratu...
+Name[fa]=برپایی...
+Name[fr]=Configuration...
+Name[ga]=Cumraigh...
+Name[gl]=Configuración...
+Name[hu]=Beállítások...
+Name[it]=Imposta...
+Name[ja]=設定...
+Name[lt]=Nustatymas...
+Name[ms]=Tetapan...
+Name[nds]=Instellen...
+Name[ne]=सेटअप...
+Name[nl]=Instellen...
+Name[pl]=Ustawienia...
+Name[pt]=Configurar...
+Name[pt_BR]=Configurar...
+Name[ru]=Настроить...
+Name[rw]=Iboneza...
+Name[sk]=Nastavenie...
+Name[sl]=Nastavi ...
+Name[sr]=Постављање...
+Name[sr@Latn]=Postavljanje...
+Name[sv]=Inställning...
+Name[tr]=Kurulum...
+Name[zh_CN]=设置...
+Name[zh_TW]=設定...
+Icon=kscreensaver
+
+[Desktop Action InWindow]
+Exec=%{APPNAMELC}.kss -window-id %w
+Name=Display in Specified Window
+Name[br]=Diskwel er prenestr spisaet
+Name[ca]=Mostra a la finestra especificada
+Name[cy]=Dangos mewn Ffenestr Benodol
+Name[da]=Vis i specificeret vindue
+Name[de]=Im angegebenen Fenster anzeigen
+Name[el]=Προβολή στο ορισμένο παράθυρο
+Name[es]=Mostrar en la ventana especificada
+Name[et]=Kuva määratud aknas
+Name[eu]=Bistaratu zehaztutako lehioan
+Name[fa]=نمایش در پنجرۀ مشخص‌شده
+Name[fr]=Afficher dans la fenêtre spécifiée
+Name[ga]=Taispeáin san Fhuinneog Sonraithe
+Name[gl]=Mostrar na xanela especificada
+Name[hu]=Megjelenítés egy adott ablakban
+Name[it]=Mostra in una finestra specificata
+Name[ja]=指定したウィンドウに表示
+Name[lt]=Rodyti nurodytame lange
+Name[ms]=Papar dalam Tetingkap Yang Dinyatakan
+Name[nds]=Binnen angeven Finster wiesen
+Name[ne]=निर्दिष्ट सञ्झ्यालमा प्रर्दशन
+Name[nl]=Weergave in aangegeven venster
+Name[pl]=Pokazywanie w podanym oknie
+Name[pt]=Mostrar na Janela Indicada
+Name[pt_BR]=Exibir na Janela Especificada
+Name[ru]=Показать в указанном окне
+Name[rw]=Kwerekana mu Idirishya Ryihariye
+Name[sk]=Zobraziť v špecifickom okne
+Name[sl]=Prikaži v določenem oknu
+Name[sr]=Прикажи у наведеном прозору
+Name[sr@Latn]=Prikaži u navedenom prozoru
+Name[sv]=Visa i angivet fönster
+Name[tr]=Belirtilen Pencerede Göster
+Name[zh_CN]=在指定窗口中显示
+Name[zh_TW]=顯示在指定視窗
+NoDisplay=true
+
+[Desktop Action Root]
+Exec=%{APPNAMELC}.kss -root
+Name=Display in Root Window
+Name[br]=Diskwel er prenestr gwrizienn
+Name[ca]=Mostra a la finestra arrel
+Name[cy]=Dangos mewn Ffenestr Wraidd
+Name[da]=Vis i rod-vindue
+Name[de]=Im Root-Fenster anzeigen
+Name[el]=Προβολή στο βασικό παράθυρο
+Name[es]=Mostrar en la ventana raíz
+Name[et]=Kuva juuraknas
+Name[eu]=Bistaratu erro-lehioan
+Name[fa]=نمایش در پنجرۀ ریشه
+Name[fr]=Afficher dans la fenêtre racine
+Name[ga]=Taispeáin sa bhFréamhfhuinneog
+Name[gl]=Mostrar na xanela raíz
+Name[hu]=Megjelenítés a gyökérablakban
+Name[it]=Mostra nella finestra radice
+Name[ja]=ルートウィンドウに表示
+Name[lt]=Rodyti root lange
+Name[ms]=Papar dalam Tetingkap Root
+Name[nds]=Binnen Wörtelfinster wiesen
+Name[ne]=रूट सञ्झ्यालमा प्रर्दशन
+Name[nl]=Weergave in hoofdvenster
+Name[pl]=Pokazywanie w głównym oknie
+Name[pt]=Mostrar na Janela de Fundo
+Name[pt_BR]=Exibir na Janela Raiz
+Name[ru]=Показать в главном окне
+Name[rw]=Kwerekana mu Idirishya Umuzi
+Name[sk]=Zobraziť v koreňovom okne
+Name[sl]=Prikaži v korenskem oknu
+Name[sr]=Прикажи у кореном прозору
+Name[sr@Latn]=Prikaži u korenom prozoru
+Name[sv]=Visa i rotfönster
+Name[tr]=Kök Pencerede Göster
+Name[zh_CN]=在根窗口中显示
+Name[zh_TW]=顯示在根視窗
+NoDisplay=true
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.h b/languages/cpp/app_templates/kscreensaver/kscreensaver.h
new file mode 100644
index 00000000..1301083d
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.h
@@ -0,0 +1,35 @@
+%{CPP_TEMPLATE}
+
+#ifndef %{APPNAME}_H__
+#define %{APPNAME}_H__
+
+#include "kscreensaver.h"
+#include "%{APPNAMELC}ui.h"
+
+class %{APPNAME} : public KScreenSaver
+{
+ Q_OBJECT
+public:
+ %{APPNAME}( WId drawable );
+ virtual ~%{APPNAME}();
+private:
+ void readSettings();
+ void blank();
+};
+
+class %{APPNAME}Setup : public %{APPNAME}UI
+{
+ Q_OBJECT
+public:
+ %{APPNAME}Setup( QWidget *parent = NULL, const char *name = NULL );
+
+private slots:
+ void slotOkPressed();
+ void slotCancelPressed();
+
+private:
+ void readSettings();
+ %{APPNAME} *saver;
+};
+
+#endif
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevelop b/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevelop
new file mode 100644
index 00000000..e912518f
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevelop
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<kdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevKDEAutoProject</projectmanagement>
+ <primarylanguage>C++</primarylanguage>
+ <keywords>
+ <keyword>C++</keyword>
+ <keyword>Code</keyword>
+ <keyword>Qt</keyword>
+ <keyword>KDE</keyword>
+ <keyword>kioslave</keyword>
+ </keywords>
+ </general>
+ <kdevcppsupport>
+ <qt>
+ <version>3</version>
+ <used>true</used>
+ <includestyle>3</includestyle>
+ <designerintegration>EmbeddedKDevDesigner</designerintegration>
+ </qt>
+ </kdevcppsupport>
+
+<kdevautoproject>
+ <general>
+ <activetarget>src/lib%{APPNAMELC}.la</activetarget>
+ <useconfiguration>debug</useconfiguration>
+ </general>
+ <configurations>
+ <optimized>
+ <builddir>optimized</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O2 -g0</cxxflags>
+ </optimized>
+ <debug>
+ <configargs>--enable-debug=full</configargs>
+ <builddir>debug</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O0 -g3</cxxflags>
+ </debug>
+ </configurations>
+ </kdevautoproject>
+ <kdevfileview>
+ <groups>
+ <group pattern="*.cpp;*.cxx;*.h" name="Sources" />
+ <group pattern="*.po;*.ts" name="Translations" />
+ <group pattern="*" name="Others" />
+ </groups>
+ </kdevfileview>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>ada</toc>
+ <toc>ada_bugs_gcc</toc>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>clanlib</toc>
+ <toc>fortran_bugs_gcc</toc>
+ <toc>gnome1</toc>
+ <toc>gnustep</toc>
+ <toc>gtk</toc>
+ <toc>gtk_bugs</toc>
+ <toc>haskell</toc>
+ <toc>haskell_bugs_ghc</toc>
+ <toc>java_bugs_gcc</toc>
+ <toc>java_bugs_sun</toc>
+ <toc>opengl</toc>
+ <toc>pascal_bugs_fp</toc>
+ <toc>php</toc>
+ <toc>php_bugs</toc>
+ <toc>perl</toc>
+ <toc>perl_bugs</toc>
+ <toc>python</toc>
+ <toc>python_bugs</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>stl</toc>
+ <toc>sw</toc>
+ <toc>w3c-dom-level2-html</toc>
+ <toc>w3c-svg</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ </kdevdoctreeview>
+ <kdevdebugger>
+ <general>
+ <dbgshell>libtool</dbgshell>
+ </general>
+ </kdevdebugger>
+ <kdevfilecreate>
+ <filetypes/>
+ <useglobaltypes>
+ <type ext="ui" />
+ <type ext="cpp" />
+ <type ext="h" />
+ </useglobaltypes>
+ </kdevfilecreate>
+ <kdevdocumentation>
+ <projectdoc>
+ <docsystem>Doxygen Documentation Collection</docsystem>
+ <docurl>%{APPNAMELC}.tag</docurl>
+ </projectdoc>
+ </kdevdocumentation>
+</kdevelop>
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevtemplate b/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevtemplate
new file mode 100644
index 00000000..027ba4ea
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.kdevtemplate
@@ -0,0 +1,203 @@
+# KDE Config File
+[General]
+Name=KDE Screen Saver
+Name[br]=Damanter skramm KDE
+Name[ca]=Salvapantalles per al KDE
+Name[da]=KDE pauseskærm
+Name[de]=KDE-Bildschirmschoner
+Name[el]=Προφύλαξη οθόνης του KDE
+Name[es]=Salvapantallas para KDE
+Name[et]=KDE ekraanisäästja
+Name[eu]=KDE pantaila-babeslea
+Name[fa]=محافظ صفحۀ KDE
+Name[fr]=Écran de veille KDE
+Name[ga]=Spárálaí Scáileáin KDE
+Name[gl]=Salvapantallas KDE
+Name[hu]=KDE-s képernyővédő
+Name[it]=Salva schermo di KDE
+Name[ja]=KDE スクリーンセーバー
+Name[nds]=KDE-Pausschirm
+Name[ne]=केडीई स्क्रिन सर्भर
+Name[nl]=KDE-schermbeveiliging
+Name[pl]=Wygaszacz ekranu KDE
+Name[pt]=Protector de Ecrã do KDE
+Name[pt_BR]=Protetor de tela do KDE
+Name[ru]=Хранитель экрана для KDE
+Name[sk]=KDE šetrič obrazovky
+Name[sl]=Ohranjevalnik zaslona za KDE
+Name[sr]=KDE чувар екрана
+Name[sr@Latn]=KDE čuvar ekrana
+Name[sv]=KDE-skärmsläckare
+Name[tr]=KDE Ekran Koruyucusu
+Name[zh_CN]= KDE 屏幕保护程序
+Name[zh_TW]=KDE 螢幕保護程式
+Icon=kscreensaver.png
+Category=C++/KDE
+Comment=Generates a framework for a KDE screensaver.
+Comment[ca]=Genera una infraestructura per a un salvapantalles de KDE.
+Comment[da]=Genererer et skelet for en KDE-pauseskærm.
+Comment[de]=Erstellt das Gerüst für einen KDE-Bildschirmschoner.
+Comment[el]=Δημιουργεί ένα πλαίσιο για μια προφύλαξη οθόνης του KDE.
+Comment[es]=Genera una infraestructura para un salvapantallas de KDE
+Comment[et]=KDE ekraanisäästja raamistiku loomine.
+Comment[eu]=KDE-ren pantaila-babesle baten lan-marko bat sortzen du.
+Comment[fa]=چارچوبی برای محافظ صفحۀ KDE تولید می‌کند.
+Comment[fr]=Génère une infrastructure pour un écran de veille KDE.
+Comment[gl]=Xera un contorno de traballo para un salvapantallas KDE.
+Comment[hu]=Létrehoz egy alap KDE-s képernyővédőt.
+Comment[it]=Genera l'infrastruttura per un salvaschermo di KDE.
+Comment[ja]=KDE スクリーンセーバーのフレームワークを作成します
+Comment[nds]=Stellt dat Rahmenwark för en KDE-Pausschirm op.
+Comment[ne]=केडीई स्क्रिनसेभरका लागि फ्रेमवर्क उत्पन्न गर्दछ
+Comment[nl]=Genereert een framework voor een KDE-schermbeveiliging.
+Comment[pl]=Generuje szablon wygaszacza ekranu dla KDE.
+Comment[pt]=Gera a plataforma para um protector de ecrã do KDE.
+Comment[pt_BR]=Gera a plataforma para um protector de ecrã do KDE.
+Comment[ru]=Создание инфраструктуры хранителя экрана для KDE.
+Comment[sk]=Vygeneruje framework pre KDE šetrič obrazovky.
+Comment[sl]=Ustvari ogrodje ohranjevalnika zaslona za KDE.
+Comment[sr]=Прави радни оквир за KDE чувар екрана.
+Comment[sr@Latn]=Pravi radni okvir za KDE čuvar ekrana.
+Comment[sv]=Skapar ett ramverk för en KDE-skärmsläckare
+Comment[tr]=Bir KDE ekran koruyucusu için bir çatı oluşturulur.
+Comment[zh_CN]=生成 KDE 屏幕保护程序框架。
+Comment[zh_TW]=產生一個 KDE 螢幕保護程式的框架
+FileTemplates=h,CStyle,cpp,CStyle
+ShowFilesAfterGeneration=%{dest}/src/%{APPNAMELC}.cpp
+Archive=kscreensaver.tar.gz
+
+[ADMIN]
+Type=include
+File=%{kdevelop}/template-common/admin.kdevtemplate
+
+[GNU]
+Type=include
+File=%{kdevelop}/template-common/gnu.kdevtemplate
+
+[MKDIR_DOCBOOK1]
+Type=mkdir
+Dir=%{dest}/doc
+
+[MKDIR_DOCBOOK2]
+Type=mkdir
+Dir=%{dest}/doc/en
+
+[FILE1]
+Type=install
+EscapeXML=true
+Source=%{kdevelop}/template-common/kde-doc-Makefile.am
+Dest=%{dest}/doc/Makefile.am
+
+[FILE2]
+Type=install
+Source=%{kdevelop}/template-common/kde-doc-en-Makefile.am
+Dest=%{dest}/doc/en/Makefile.am
+
+[FILE3]
+Type=install
+EscapeXML=true
+Source=%{kdevelop}/template-common/kde-index.docbook
+Dest=%{dest}/doc/en/index.docbook
+
+[FILE4]
+Type=install
+EscapeXML=true
+Source=%{src}/kscreensaver.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[MkDir3]
+Type=mkdir
+Dir=%{dest}/src
+
+[FILE5]
+Type=install
+Source=%{kdevelop}/template-common/kde-app.lsm
+Dest=%{dest}/src/%{APPNAMELC}.lsm
+
+[MkDir4]
+Type=mkdir
+Dir=%{dest}/po
+
+[FILE6]
+Type=install
+Source=%{kdevelop}/template-common/kde-po-Makefile.am
+Dest=%{dest}/po/Makefile.am
+
+[FILE7]
+Type=install
+Source=%{kdevelop}/template-common/kde-Makefile.am
+Dest=%{dest}/Makefile.am
+
+[FILE8]
+Type=install
+Source=%{kdevelop}/template-common/kde-Makefile.cvs
+Dest=%{dest}/Makefile.cvs
+
+[FILE9]
+Type=install
+Source=%{kdevelop}/template-common/kde-configure.in.in
+Dest=%{dest}/configure.in.in
+
+[FILE10]
+Type=install
+Source=%{src}/subdirs
+Dest=%{dest}/subdirs
+
+[FILE11]
+Type=install
+Source=%{src}/src-Makefile.am
+Dest=%{dest}/src/Makefile.am
+
+[FILE12]
+Type=install
+Source=%{src}/kscreensaver.cpp
+Dest=%{dest}/src/%{APPNAMELC}.cpp
+
+[FILE13]
+Type=install
+Source=%{src}/kscreensaver.h
+Dest=%{dest}/src/%{APPNAMELC}.h
+
+[FILE14]
+Type=install
+Source=%{src}/kscreensaver.desktop
+Dest=%{dest}/src/%{APPNAMELC}.desktop
+
+[FILE15]
+Type=install
+EscapeXML=true
+Source=%{src}/kscreensaverui.ui
+Dest=%{dest}/src/%{APPNAMELC}ui.ui
+
+[MSG]
+Type=message
+Comment=A screensaver application was created in %{dest}
+Comment[ca]=Una aplicació de salvapantalles ha estat creada en %{dest}
+Comment[da]=Et pauseskærmsprogram blev oprettet i %{dest}
+Comment[de]=Ein Bildschirmschoner wurde in %{dest} erstellt.
+Comment[el]=Μια εφαρμογή προφύλαξης οθόνης δημιουργήθηκε στο %{dest}
+Comment[es]=Una aplicación salvapantallas ha sido creada en %{dest}
+Comment[et]=Ekraanisäästja rakendus loodi asukohta %{dest}
+Comment[eu]=Pantaila-babesle baten aplikazioa sortu da hemen: %{dest}
+Comment[fa]=یک کاربرد محافظ صفحه در %{dest} ایجاد شد
+Comment[fr]=Une application écran de veille a été créé dans %{dest}
+Comment[ga]=Cruthaíodh spárálaí scáileáin i %{dest}
+Comment[gl]=Creouse unha aplicación salvapantallas en %{dest}
+Comment[hu]=Létrejött egy alap képernyővédő program itt: %{dest}
+Comment[it]=È stata creata un'applicazione salvaschermo in %{dest}
+Comment[ja]=スクリーンセーバーアプリケーションを %{dest} に作成しました
+Comment[nds]=In %{dest} wöör en Pausschirm opstellt
+Comment[ne]=स्क्रिनसेभर अनुप्रयोग %{dest} मा सिर्जना गरियो
+Comment[nl]=Een schermbeveiligingstoepassing is aangemaakt in %{dest}
+Comment[pl]=Program wygaszacza ekranu został utworzony w %{dest}
+Comment[pt]=Foi criada uma aplicação protectora do ecrã em %{dest}
+Comment[pt_BR]=Foi criada uma aplicação protectora do ecrã em %{dest}
+Comment[ru]=Приложение хранителя экрана создано в %{dest}
+Comment[sk]=Aplikácia šetriča obrazovky bola vytvorená v %{dest}
+Comment[sl]=Program ohranjevalnika zaslona je bil ustvarjen v %{dest}
+Comment[sr]=Програм чувара екрана направљен је у %{dest}
+Comment[sr@Latn]=Program čuvara ekrana napravljen je u %{dest}
+Comment[sv]=Ett skärmsläckarprogram skapades i %{dest}
+Comment[tr]=Bir ekran koruyucusu uygulaması %{dest} içinde yaratıldı.
+Comment[zh_CN]=在 %{dest} 中创建了屏幕保护应用程序
+Comment[zh_TW]=一個螢幕保護程式已建立於 %{dest}
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaver.png b/languages/cpp/app_templates/kscreensaver/kscreensaver.png
new file mode 100644
index 00000000..e91ec2e2
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaver.png
Binary files differ
diff --git a/languages/cpp/app_templates/kscreensaver/kscreensaverui.ui b/languages/cpp/app_templates/kscreensaver/kscreensaverui.ui
new file mode 100644
index 00000000..c4a843d0
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/kscreensaverui.ui
@@ -0,0 +1,79 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>%{APPNAME}UI</class>
+<comment>This is the main UI for setting up your screen saver.</comment>
+<author>Ian Reinhart Geiser</author>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>%{APPNAMELC}cfg</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>257</width>
+ <height>58</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Screen Saver Config</string>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>Layout2</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>5</x>
+ <y>0</y>
+ <width>255</width>
+ <height>57</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>CheckBox1</cstring>
+ </property>
+ <property name="text">
+ <string>Set some setting</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>Layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>OkayPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>CancelPushButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+</widget>
+<includes>
+ <include location="global" impldecl="in implementation">kdialog.h</include>
+</includes>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+</UI>
diff --git a/languages/cpp/app_templates/kscreensaver/src-Makefile.am b/languages/cpp/app_templates/kscreensaver/src-Makefile.am
new file mode 100644
index 00000000..e19ffb77
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/src-Makefile.am
@@ -0,0 +1,24 @@
+# Makefile.am for %{APPNAMELC}.
+#
+
+AM_CPPFLAGS = -UQT_NO_ASCII_CAST
+METASOURCES = AUTO
+
+INCLUDES = $(all_includes)
+LDFLAGS = $(all_libraries) $(KDE_RPATH)
+LDADD = $(LIB_KDEUI) -lkscreensaver -lm
+bin_PROGRAMS = %{APPNAMELC}.kss
+
+%{APPNAMELC}_kss_SOURCES = %{APPNAMELC}ui.ui %{APPNAMELC}.cpp
+%{APPNAMELC}_kss_LDADD = $(LIB_QT) $(LIB_KDECORE) $(LDADD) $(LIB_KSYCOCA)
+
+#datadir = $(kde_datadir)/%{APPNAMELC}
+
+desktop_DATA = %{APPNAMELC}.desktop
+desktopdir = $(kde_appsdir)/System/ScreenSavers
+
+EXTRA_DIST = $(desktop_DATA)
+
+messages: rc.cpp
+ $(EXTRACTRC) `find . -name \*.ui -o -name \*.rc` > rc.cpp
+ $(XGETTEXT) *.cpp -o $(podir)/%{APPNAMELC}.pot
diff --git a/languages/cpp/app_templates/kscreensaver/subdirs b/languages/cpp/app_templates/kscreensaver/subdirs
new file mode 100644
index 00000000..0e678106
--- /dev/null
+++ b/languages/cpp/app_templates/kscreensaver/subdirs
@@ -0,0 +1,3 @@
+doc
+po
+src