diff options
Diffstat (limited to 'languages/ruby/app_templates/kxt')
21 files changed, 958 insertions, 0 deletions
diff --git a/languages/ruby/app_templates/kxt/Makefile.am b/languages/ruby/app_templates/kxt/Makefile.am new file mode 100644 index 00000000..b642b88b --- /dev/null +++ b/languages/ruby/app_templates/kxt/Makefile.am @@ -0,0 +1,20 @@ +dataFiles = app.rb main.rb prefs.rb app.cpp appview.rb appview_base.ui prefs-base.ui \ + appui.rc app.desktop kxtruby.png app.kdevelop \ + app-Makefile.am app-configure.in.in \ + app.kcfg settings.kcfgc src-Makefile.am subdirs README + +templateName = kxtruby + +### 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 diff --git a/languages/ruby/app_templates/kxt/README b/languages/ruby/app_templates/kxt/README new file mode 100644 index 00000000..490ddab8 --- /dev/null +++ b/languages/ruby/app_templates/kxt/README @@ -0,0 +1,38 @@ +KConfig XT Ruby template quick start +Author: Anne-Marie Mahfouf +Date: 2006-12-12 +----------------------------------------------- + +This README file explains you some basic things for starting with +this application template, a KConfig XT Ruby template. +----------------------------------------------- + +-- REQUIREMENTS -- +you need +- Qt version might be 3.3.4 or 3.3.5. +- kdelibs 3.5 and kdelibs headers 3.5 (devel package) in order to build this template. +- Korundum either from your distribution or from the kdebindings module or also +from +http://rubyforge.org/projects/korundum/. + +----------------------------------------------- + +-- BUILD -- +In KDevelop Build menu choose: +Run automake & friends +Run Configure +Build Project +Install (or Install as root) +----------------------------------------------- + +-- RUN -- +You will see that the Build menu in KDevelop is now adapted to Ruby. +In the Build menu, choose +Run or use Shift + F9 to see your project running. + +----------------------------------------------- + +-- RELEVANT LINK -- +http://developer.kde.org/language-bindings/ruby/index.html + +In KDevelop Documentation, you can find a Ruby tutorial.
\ No newline at end of file diff --git a/languages/ruby/app_templates/kxt/app-Makefile.am b/languages/ruby/app_templates/kxt/app-Makefile.am new file mode 100644 index 00000000..bfe1c599 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app-Makefile.am @@ -0,0 +1 @@ +SUBDIRS = $(TOPSUBDIRS) diff --git a/languages/ruby/app_templates/kxt/app-configure.in.in b/languages/ruby/app_templates/kxt/app-configure.in.in new file mode 100644 index 00000000..7d849466 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app-configure.in.in @@ -0,0 +1,45 @@ +#MIN_CONFIG(3.0.0) + +AM_INIT_AUTOMAKE(%{APPNAMELC}, 0.1) +AC_C_BIGENDIAN +AC_CHECK_KDEMAXPATHLEN + +AC_PROG_MAKE_SET + +AC_CHECK_PROG(RUBY, ruby, ruby) + +if test -z "$RUBY"; then + DO_NOT_COMPILE="$DO_NOT_COMPILE qtruby" +else + AC_MSG_CHECKING(for ruby dirs) + RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'` + RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'` + RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'` + RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'` + RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'` + AC_MSG_RESULT([archdir $RUBY_ARCHDIR, sitearchdir $RUBY_SITEARCHDIR, sitedir $RUBY_SITEDIR, libdir $RUBY_LIBDIR, librubyarg $RUBY_LIBRUBYARG]) + AC_SUBST(RUBY_ARCHDIR) + AC_SUBST(RUBY_SITEARCHDIR) + AC_SUBST(RUBY_SITEDIR) + AC_SUBST(RUBY_LIBDIR) + AC_SUBST(RUBY_LIBRUBYARG) +fi + +# Korundum check +AC_MSG_CHECKING([whether Korundum is installed]) +korundum_present=no +cat >korundumtest.rb <<END +require 'Korundum' +END +${RUBY} korundumtest.rb >/dev/null 2>&1 && korundum_present=yes +AC_MSG_RESULT([$korundum_present]) + +# rbuic check +AC_PATH_PROG([RBUIC],[rbuic]) +if test -z "${RBUIC}" ; then + AC_MSG_ERROR([cannot find rbuic (part of the QtRuby package)]) +fi +AC_SUBST([RBUIC]) +AC_SUBST([RUBY]) + + diff --git a/languages/ruby/app_templates/kxt/app.cpp b/languages/ruby/app_templates/kxt/app.cpp new file mode 100644 index 00000000..8d6af02d --- /dev/null +++ b/languages/ruby/app_templates/kxt/app.cpp @@ -0,0 +1,30 @@ +#include <ruby.h> + +#include <qstring.h> +#include <qfileinfo.h> +#include <kinstance.h> +#include <kstandarddirs.h> + +int main(int argc, char **argv) { + KInstance * instance = new KInstance("%{APPNAMELC}"); + QString appdir = ::locate("data", "%{APPNAMELC}/main.rb", instance); + delete instance; + if (appdir.isNull()) { + qFatal("Error: Can't find \"%{APPNAMELC}/main.rb\"\n"); + } + QFileInfo program(appdir); + + char ** rubyargs = (char **) calloc(argc+4, sizeof(char *)); + rubyargs[0] = strdup(argv[0]); + rubyargs[1] = strdup("-KU"); + rubyargs[2] = strdup(QString("-C%1").arg(program.dirPath()).latin1()); + rubyargs[3] = strdup(QString("-I%1").arg(program.dirPath()).latin1()); + rubyargs[4] = strdup(program.fileName().latin1()); + for (int i = 1; i < argc; i++) { + rubyargs[i+4] = argv[i]; + } + + ruby_init(); + ruby_options(argc+4, rubyargs); + ruby_run(); +} diff --git a/languages/ruby/app_templates/kxt/app.desktop b/languages/ruby/app_templates/kxt/app.desktop new file mode 100644 index 00000000..8b36e6e0 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app.desktop @@ -0,0 +1,40 @@ +[Desktop Entry] +Name=%{APPNAME} +Exec=%{APPNAMELC} +Icon=%{APPNAMELC} +Type=Application +Comment=A simple KDE Application +Comment[br]=Ur meziant eeun evit KDE +Comment[ca]=Una simple aplicació per al KDE +Comment[da]=Et simpelt KDE program +Comment[de]=Eine einfache KDE-Anwendung +Comment[el]=Μια απλή εφαρμογή του KDE +Comment[es]=Una aplicación de KDE sencilla +Comment[et]=Lihtne KDE rakendus +Comment[eu]=KDE aplikazio simple bat +Comment[fa]=یک کاربرد سادۀ KDE +Comment[fr]=Une application simple pour KDE +Comment[ga]=Feidhmchlár Simplí KDE +Comment[gl]=Unha aplicación KDE sinxela +Comment[hi]=एक सादा केडीई अनुप्रयोग +Comment[hu]=Egyszerű KDE-alkalmazás +Comment[is]=Einfalt KDE forrit +Comment[it]=Una semplice applicazione KDE +Comment[ja]=簡単な KDE アプリケーション +Comment[nds]=En eenfach KDE-Programm +Comment[ne]=एउटा साधारण केडीई अनुप्रयोग +Comment[nl]=Een eenvoudige KDE-toepassing +Comment[pl]=Prosty program KDE +Comment[pt]=Uma aplicação simples do KDE +Comment[pt_BR]=Um simples Aplicativo do KDE +Comment[ru]=Простое приложение KDE +Comment[sk]=Jednoduchá KDE aplikácia +Comment[sl]=Preprost program za KDE +Comment[sr]=Једноставан KDE програм +Comment[sr@Latn]=Jednostavan KDE program +Comment[sv]=Ett enkelt KDE-program +Comment[ta]=ஒரு சாதாரண கெடிஇ பயன்பாடு +Comment[tg]=Гузориши оддиKDE +Comment[tr]=Basit bir KDE Uygulaması +Comment[zh_CN]=一个简单的 KDE 应用程序 +Comment[zh_TW]=簡單的 KDE 應用程式 diff --git a/languages/ruby/app_templates/kxt/app.kcfg b/languages/ruby/app_templates/kxt/app.kcfg new file mode 100644 index 00000000..d5325b92 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app.kcfg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 + http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" > + <kcfgfile name="%{APPNAME}rc"/> + <group name="Preferences"> + <entry name="col_background" type="Color"> + <label>color of the background</label> + <default>black</default> + </entry> + <entry name="col_foreground" type="Color"> + <label>color of the foreground</label> + <default>yellow</default> + </entry> + <entry name="val_time" type="Int"> + <label>size of a ball</label> + <default>2</default> + </entry> + </group> +</kcfg> diff --git a/languages/ruby/app_templates/kxt/app.kdevelop b/languages/ruby/app_templates/kxt/app.kdevelop new file mode 100644 index 00000000..3a1efdd9 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app.kdevelop @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<kdevelop> + <general> + <author>%{AUTHOR}</author> + <email>%{EMAIL}</email> + <version>%{VERSION}</version> + <projectmanagement>KDevAutoProject</projectmanagement> + <primarylanguage>Ruby</primarylanguage> + <keywords> + <keyword>Ruby</keyword> + <keyword>Qt</keyword> + <keyword>KDE</keyword> + </keywords> + <ignoreparts> + <part>KDevDoxygen</part> + <part>KDevdistpart</part> + <part>KDevVisualBoyAdvance</part> + <part>KDevDebugger</part> + </ignoreparts> + </general> + <kdevautoproject> + <general> + <activedir/> + </general> + <run> + <mainprogram>src/%{APPNAMELC}</mainprogram> + </run> + </kdevautoproject> + <kdevfileview> + <tree> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidepatterns>CVS,.svn</hidepatterns> + </tree> + <groups> + <group pattern="*.rb" name="Ruby files" /> + <group pattern="*.ui" name="QT Designer files" /> + </groups> + </kdevfileview> + <kdevdoctreeview> + <ignoretocs> + <toc>ada</toc> + <toc>ada_bugs_gcc</toc> + <toc>bash</toc> + <toc>bash_bugs</toc> + <toc>c++_bugs_gcc</toc> + <toc>clanlib</toc> + <toc>w3c-dom-level2-html</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>kde2book</toc> + <toc>libc</toc> + <toc>libstdc++</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>sdl</toc> + <toc>stl</toc> + <toc>w3c-svg</toc> + <toc>sw</toc> + <toc>w3c-uaag10</toc> + <toc>wxwindows_bugs</toc> + </ignoretocs> + </kdevdoctreeview> + <kdevfilecreate> + <useglobaltypes> + <type ext="rb"/> + <type ext="ui"/> + </useglobaltypes> + </kdevfilecreate> + <kdevrubysupport> + <run> + <interpreter>ruby</interpreter> + <terminal>false</terminal> + <charactercoding>3</charactercoding> + <mainprogram>src/main.rb</mainprogram> + </run> + </kdevrubysupport> +</kdevelop> diff --git a/languages/ruby/app_templates/kxt/app.rb b/languages/ruby/app_templates/kxt/app.rb new file mode 100644 index 00000000..39da5345 --- /dev/null +++ b/languages/ruby/app_templates/kxt/app.rb @@ -0,0 +1,94 @@ +=begin + This class serves as the main window for %{APPNAME}. It handles the + menus, toolbars, and status bars. + + @short Main window class + @author %{AUTHOR} <%{EMAIL}> + @version %{VERSION} +=end + +class %{APPNAMESC} < KDE::MainWindow + + slots 'fileNew()', + 'optionsPreferences()', + 'newToolbarConfig()', + 'changeStatusbar(const QString&)', + 'changeCaption(const QString&)' + + def initialize() + super( nil, "%{APPNAMESC}" ) + Settings.instance.readConfig + @view = %{APPNAMESC}View.new(self) + @printer = nil + + # accept dnd + setAcceptDrops(true) + + # tell the KDE::MainWindow that this is indeed the main widget + setCentralWidget(@view) + + # then, setup our actions + setupActions() + + # and a status bar + statusBar().show() + + # Apply the create the main window and ask the mainwindow to + # automatically save settings if changed: window size, toolbar + # position, icon size, etc. Also to add actions for the statusbar + # toolbar, and keybindings if necessary. + setupGUI(); + + # allow the view to change the statusbar and caption + connect(@view, SIGNAL('signalChangeStatusbar(const QString&)'), + self, SLOT('changeStatusbar(const QString&)')) + connect(@view, SIGNAL('signalChangeCaption(const QString&)'), + self, SLOT('changeCaption(const QString&)')) + + end + + def setupActions() + KDE::StdAction.openNew(self, SLOT('fileNew()'), actionCollection()) + KDE::StdAction.quit($kapp, SLOT('quit()'), actionCollection()) + + KDE::StdAction.preferences(self, SLOT('optionsPreferences()'), actionCollection()) + + # this doesn't do anything useful. it's just here to illustrate + # how to insert a custom menu and menu item + custom = KDE::Action.new(i18n("Swi&tch Colors"), KDE::Shortcut.new(), + @view, SLOT('switchColors()'), + actionCollection(), "switch_action") + end + + def fileNew() + # This slot is called whenever the File.New menu is selected, + # the New shortcut is pressed (usually CTRL+N) or the New toolbar + # button is clicked + + # create a new window + %{APPNAMESC}.new.show() + end + + def optionsPreferences() + # The preference dialog is derived from prefs-base.ui which is subclassed into Prefs + # + # compare the names of the widgets in the .ui file + # to the names of the variables in the .kcfg file + dialog = KDE::ConfigDialog.new(self, "settings", Settings.instance, KDE::DialogBase::Swallow) + dialog.addPage(Prefs.new(), i18n("General"), "package_settings") + connect(dialog, SIGNAL('settingsChanged()'), @view, SLOT('settingsChanged()')) + dialog.show() + + end + + def changeStatusbar(text) + # display the text on the statusbar + statusBar().message(text) + end + + def changeCaption(text) + # display the text on the caption + setCaption(text) + end + +end diff --git a/languages/ruby/app_templates/kxt/appui.rc b/languages/ruby/app_templates/kxt/appui.rc new file mode 100644 index 00000000..06549878 --- /dev/null +++ b/languages/ruby/app_templates/kxt/appui.rc @@ -0,0 +1,8 @@ +<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +<kpartgui name="%{APPNAMELC}" version="1"> +<MenuBar> + <Menu name="move"><text>&Move</text> + <Action name="switch_action" /> + </Menu> +</MenuBar> +</kpartgui> diff --git a/languages/ruby/app_templates/kxt/appview.rb b/languages/ruby/app_templates/kxt/appview.rb new file mode 100644 index 00000000..391f4c37 --- /dev/null +++ b/languages/ruby/app_templates/kxt/appview.rb @@ -0,0 +1,55 @@ + +=begin + This is the main view class for %{APPNAME}. Most of the non-menu, + non-toolbar, and non-statusbar (e.g., non frame) GUI code should go + here. + + This %{APPNAMELC} uses an HTML component as an example. + + @short Main view + @author %{AUTHOR} <%{EMAIL}> + @version %{VERSION} +=end +class %{APPNAMESC}View < %{APPNAMESC}view_base + + # + # Use this signal to change the content of the statusbar + # + signals 'signalChangeStatusbar(const QString&)' + + # + # Use this signal to change the content of the caption + # + signals 'signalChangeCaption(const QString&)' + + slots 'switchColors()', + 'settingsChanged()' + + def initialize(parent) + super(parent) + + settingsChanged() + end + + def switchColors() + color = Settings.instance.col_background + Settings.instance.setCol_background( Settings.instance.col_foreground ) + Settings.instance.setCol_foreground( color ) + + settingsChanged() + end + + def settingsChanged() + sillyLabel.setPaletteBackgroundColor( Settings.instance.col_background ) + sillyLabel.setPaletteForegroundColor( Settings.instance.col_foreground ) + # i18n : internationallization + sillyLabel.setText( i18n("This project is %d days old" % Settings.instance.val_time) ) + + emit signalChangeStatusbar( i18n("Settings changed") ) + end + + def slotSetTitle(title) + emit signalChangeCaption(title) + end + +end diff --git a/languages/ruby/app_templates/kxt/appview_base.ui b/languages/ruby/app_templates/kxt/appview_base.ui new file mode 100644 index 00000000..78009d08 --- /dev/null +++ b/languages/ruby/app_templates/kxt/appview_base.ui @@ -0,0 +1,33 @@ +<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> +<class>%{APPNAME}view_base</class> +<widget class="QWidget"> + <property name="name"> + <cstring>%{APPNAMESC}view_base</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>268</width> + <height>164</height> + </rect> + </property> + <property name="caption"> + <string>%{APPNAMESC}_base</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>sillyLabel</cstring> + </property> + <property name="text"> + <string>hello, world</string> + </property> + </widget> + </grid> +</widget> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/languages/ruby/app_templates/kxt/kxtruby.kdevtemplate b/languages/ruby/app_templates/kxt/kxtruby.kdevtemplate new file mode 100644 index 00000000..fd2a5c1a --- /dev/null +++ b/languages/ruby/app_templates/kxt/kxtruby.kdevtemplate @@ -0,0 +1,251 @@ +# KDE Config File +[General] + +Name=KConfig XT application +Name[ca]=Aplicació KConfig XT +Name[da]=KConfig XT program +Name[de]=KConfigXT-Anwendung +Name[el]=Εφαρμογή KConfig XT +Name[es]=Aplicación KConfig XT +Name[et]=KConfig XT rakendus +Name[eu]=KConfig XT aplikazioa +Name[fa]=کاربرد KConfig XT +Name[fr]=Application KConfig XT +Name[ga]=Feidhmchlár XT KConfig +Name[gl]=Aplicación KConfig XT +Name[hu]=KConfig XT-alapú alkalmazás +Name[it]=Applicazione KConfig XT +Name[ja]=KConfig XT アプリケーション +Name[nds]=KConfig-XT-Programm +Name[ne]=KConfig XT अनुप्रयोग +Name[nl]=KConfig XT-toepassing +Name[pl]=Program KConfig XT +Name[pt]=Aplicação do KConfig XT +Name[pt_BR]=Aplicação do KConfig XT +Name[ru]=Приложение KDE с KConfig XT +Name[sk]=KConfig XT aplikácia +Name[sr]=KConfig XT програм +Name[sr@Latn]=KConfig XT program +Name[sv]=KConfig XT-program +Name[tr]=KConfig XT uygulaması +Name[zh_CN]=KConfig XT 应用程序 +Name[zh_TW]=KConfig XT 應用程式 +Category=Ruby/KDE +Icon=kxtruby.png +Comment=Generates a simple KDE application with one widget and a configuration dialog +Comment[ca]=Genera una simple aplicació per al KDE amb un estri i un diàleg de configuració +Comment[da]=Genererer et simpelt KDE-program med en kontrol og en indstillingsdialog +Comment[de]=Erstellt eine einfache KDE-Anwendung mit einem Widget und einem Einstellungsdialog. +Comment[el]=Δημιουργεί μια απλή εφαρμογή KDE με ένα γραφικό συστατικό, ένα διάλογο ρύθμισης +Comment[en_GB]=Generates a simple KDE application with one widget and a configuration dialogue +Comment[es]=Genera una sencilla aplicación para KDE con una ventana y un diálogo de configuración +Comment[et]=Lihtsa KDE rakenduse loomine ühe vidina ja seadistustedialoogiga. +Comment[eu]=Trepeta bat eta konfigurazio elkarrizketa-koadro bat duen KDE aplikazio sinple bat sortzen du +Comment[fa]=یک کاربرد سادۀ KDE، با یک عنصر و یک محاورۀ پیکربندی تولید میکند +Comment[fr]=Génère une application KDE simple comprenant un seul élément graphique (widget) et une boîte de dialogue de configuration +Comment[ga]=Cruthaíonn sé seo feidhmchlár simplí KDE le giuirléid amháin agus dialóg chumraíochta +Comment[gl]=Xera unha aplicación KDE sinxela cunha compoñente e un diálogo de configuración +Comment[hu]=Létrehoz egy egyszerű KDE-alkalmazást egy grafikus elemmel és egy beállítóablakkal +Comment[it]=Genera una semplice applicazione KDE con un elemento grafico e una finestra di configurazione +Comment[ja]=一つのウィジェットと設定ダイアログを含む簡単な KDE アプリケーションを作成します +Comment[nds]=Stellt en eenfach KDE-Programm mit een Element un en Instelldialoog op +Comment[ne]=एउटा विगेट र कन्फिगरेसन संवादसँग साधारण केडीई अनुप्रयोग उत्पन्न गर्दछ +Comment[nl]=Genereert een eenvoudige KDE-toepassing met één widget en een configuratiedialoog +Comment[pl]=Generuje prosty program KDE z jednym widgetem i oknem konfiguracyjnym +Comment[pt]=Gera uma aplicação simples do KDE com uma janela principal e outra para configuração +Comment[pt_BR]=Gera uma aplicação simples do KDE com uma janela principal e outra para configuração +Comment[ru]=Создание приложения KDE с окном конфигурации +Comment[sk]=Vygeneruje jednoduchú KDE aplikáciu s jedným oknom a konfiguračným dialógom +Comment[sr]=Прави једноставан KDE програм са једном контролом и дијалогом за подешавање +Comment[sr@Latn]=Pravi jednostavan KDE program sa jednom kontrolom i dijalogom za podešavanje +Comment[sv]=Skapar ett enkelt KDE-program med en grafisk komponent och en inställningsdialogruta +Comment[tr]=Bir parçacığı ve ayar penceresi olan basit bir KDE uygulaması yaratır. +Comment[zh_CN]=生成带一个部件和一个配置对话框的简单 KDE 应用程序 +Comment[zh_TW]=產生一個簡單的 KDE 應用程式,內含一個元件與一個設定對話框。 +ShowFilesAfterGeneration=%{dest}/src/%{APPNAMELC}.rb,%{dest}/src/README +Archive=kxtruby.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 +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}/app.kdevelop +Dest=%{dest}/%{APPNAMELC}.kdevelop + +[FILE5] +Type=install +Source=%{kdevelop}/template-common/kde-Makefile.am +Dest=%{dest}/Makefile.am + +[FILE6] +Type=install +Source=%{kdevelop}/template-common/kde-Makefile.cvs +Dest=%{dest}/Makefile.cvs + +[FILE7] +Type=install +Source=%{src}/app-configure.in.in +Dest=%{dest}/configure.in.in + +[MkDir3] +Type=mkdir +Dir=%{dest}/src + +[FILE8] +Type=install +Source=%{kdevelop}/template-common/kde-app.desktop +Dest=%{dest}/src/%{APPNAMELC}.desktop + +[FILE9] +Type=install +Source=%{kdevelop}/template-common/kde-app.lsm +Dest=%{dest}/src/%{APPNAMELC}.lsm + +[FILE10] +Type=install +Source=%{kdevelop}/template-common/hi16-app-app.png +Dest=%{dest}/src/hi16-app-%{APPNAMELC}.png +Process=false + +[FILE11] +Type=install +Source=%{kdevelop}/template-common/hi32-app-app.png +Dest=%{dest}/src/hi32-app-%{APPNAMELC}.png +Process=false + +[MkDir4] +Type=mkdir +Dir=%{dest}/po + +[FILE12] +Type=install +Source=%{kdevelop}/template-common/kde-po-Makefile.am +Dest=%{dest}/po/Makefile.am + +[FILE13] +Type=install +Source=%{src}/subdirs +Dest=%{dest}/subdirs + +[FILE14] +Type=install +Source=%{src}/src-Makefile.am +Dest=%{dest}/src/Makefile.am + +[FILE15] +Type=install +Source=%{src}/app.cpp +Dest=%{dest}/src/%{APPNAMELC}.cpp + +[FILE16] +Type=install +Source=%{src}/app.rb +Dest=%{dest}/src/%{APPNAMELC}.rb + +[FILE17] +Type=install +Source=%{src}/appview.rb +Dest=%{dest}/src/%{APPNAMELC}view.rb + +[FILE18] +Type=install +Source=%{src}/appview_base.ui +Dest=%{dest}/src/appview_base.ui + +[FILE19] +Type=install +Source=%{src}/prefs-base.ui +Dest=%{dest}/src/prefs-base.ui + +[FILE20] +Type=install +Source=%{src}/prefs.rb +Dest=%{dest}/src/prefs.rb + +[FILE21] +Type=install +Source=%{src}/main.rb +Dest=%{dest}/src/main.rb + +[FILE22] +Type=install +EscapeXML=true +Source=%{src}/appui.rc +Dest=%{dest}/src/%{APPNAMELC}ui.rc + +[FILE23] +Type=install +Source=%{src}/README +Dest=%{dest}/src/README + +[FILE24] +Type=install +Source=%{src}/app.kcfg +Dest=%{dest}/src/%{APPNAMELC}.kcfg + +[FILE25] +Type=install +Source=%{src}/settings.kcfgc +Dest=%{dest}/src/settings.kcfgc + +[MSG] +Type=message +Comment=A Korundum KConfig XT Application was created at %{dest} +Comment[ca]=Una aplicació Korundum amb KConfig XT ha estat creada a %{dest} +Comment[da]=Et Korundum KConfig XT program blev oprettet i %{dest} +Comment[de]=Eine Korundum-KConfig-XT-Anwendung wurde in %{dest} erstellt. +Comment[el]=Μια εφαρμογή Korundum KConfig XT δημιουργήθηκε στο %{dest} +Comment[es]=Una aplicación Korundum con KConfig XT ha sido creada en %{dest} +Comment[et]=Korundumi KConfig XT rakendus loodi asukohta %{dest} +Comment[eu]=Korundum KConfig XT aplikazio bat sortu da hemen: %{dest} +Comment[fa]=یک کاربرد Korundum KConfig XT در %{dest} ایجاد شد +Comment[fr]=Une application KConfig XT Korundum a été créée dans %{dest} +Comment[ga]=Cruthaíodh Feidhmchlár Korundum KConfig XT ag %{dest} +Comment[gl]=Creouse unha aplicación KConfig XT con Korundum en %{dest} +Comment[hu]=Létrejött egy Korundum-alapú KConfig XT-s alkalmazás itt: %{dest} +Comment[it]=È stata creata un'applicazione Korundum KConfig XT in %{dest} +Comment[ja]=Korundum KConfig XT アプリケーションを %{dest} に作成しました +Comment[nds]=In %{dest} wöör en Korundum/KConfig-XT-Programm opstellt. +Comment[ne]=Korundum KConfig XT अनुप्रयोग %{dest} मा सिर्जना गरियो +Comment[nl]=Een Korundum KConfig XT-toepassing is aangemaakt in %{dest} +Comment[pl]=Program Korundum KConfig XT został utworzony w %{dest} +Comment[pt]=Foi criada uma aplicação Korundum com KConfig XT em %{dest} +Comment[pt_BR]=Foi criada uma aplicação Korundum com KConfig XT em %{dest} +Comment[ru]=Приложение Korundum с KConfig XT создано в %{dest} +Comment[sk]=Korundim KConfig XT aplikácia bola vytvorená v %{dest} +Comment[sr]=Korundum KConfig XT програм направљен је у %{dest} +Comment[sr@Latn]=Korundum KConfig XT program napravljen je u %{dest} +Comment[sv]=Ett Korundum KConfig XT-program skapades i %{dest} +Comment[tr]=Bir Korundum KConfig XT uygulaması %{dest} içinde yaratıldı. +Comment[zh_TW]=一個 Korundum KConfig XT 應用程式已建立於 %{dest} diff --git a/languages/ruby/app_templates/kxt/kxtruby.png b/languages/ruby/app_templates/kxt/kxtruby.png Binary files differnew file mode 100644 index 00000000..419dfa33 --- /dev/null +++ b/languages/ruby/app_templates/kxt/kxtruby.png diff --git a/languages/ruby/app_templates/kxt/main.rb b/languages/ruby/app_templates/kxt/main.rb new file mode 100644 index 00000000..930bff4f --- /dev/null +++ b/languages/ruby/app_templates/kxt/main.rb @@ -0,0 +1,41 @@ +#!/usr/bin/env ruby + +require 'Korundum' + +require '%{APPNAMELC}.rb' +require 'prefs-base.rb' +require 'prefs.rb' +require 'settings.rb' +require 'appview_base.rb' +require '%{APPNAMELC}view.rb' + +description = I18N_NOOP("A KDE Application") +version = "%{VERSION}" +options = [ [ "+[URL]", I18N_NOOP( "Document to open" ), "" ] ] + +about = KDE::AboutData.new("%{APPNAMELC}", I18N_NOOP("%{APPNAME}"), version, description, + KDE::AboutData.License_%{LICENSE}, "(C) %{YEAR} %{AUTHOR}", nil, nil, "%{EMAIL}") +about.addAuthor( "%{AUTHOR}", nil, "%{EMAIL}" ) +KDE::CmdLineArgs.init(ARGV, about) +KDE::CmdLineArgs.addCmdLineOptions(options) +app = KDE::Application.new + +# see if we are starting with session management +if app.restored? + RESTORE(%{APPNAMESC}) +else + # no session.. just start up normally + args = KDE::CmdLineArgs.parsedArgs + if args.count == 0 + widget = %{APPNAMESC}.new + widget.show + else + for i in 0...args.count do + widget = %{APPNAMESC}.new + widget.show + end + end +end + +app.exec + diff --git a/languages/ruby/app_templates/kxt/prefs-base.ui b/languages/ruby/app_templates/kxt/prefs-base.ui new file mode 100644 index 00000000..5c0fc860 --- /dev/null +++ b/languages/ruby/app_templates/kxt/prefs-base.ui @@ -0,0 +1,127 @@ +<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> +<class>Prefs_base</class> +<widget class="QWidget"> + <property name="name"> + <cstring>Prefs_base</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>282</width> + <height>156</height> + </rect> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="text"> + <string>Background color:</string> + </property> + </widget> + <widget class="KColorButton" row="0" column="1"> + <property name="name"> + <cstring>kcfg_col_background</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <widget class="QLabel" row="2" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Project age:</string> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>Foreground color:</string> + </property> + </widget> + <widget class="KColorButton" row="1" column="1"> + <property name="name"> + <cstring>kcfg_col_foreground</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer row="0" column="2"> + <property name="name"> + <cstring>spacer1</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>41</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>41</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QSpinBox" row="2" column="1"> + <property name="name"> + <cstring>kcfg_val_time</cstring> + </property> + <property name="minValue"> + <number>1</number> + </property> + <property name="value"> + <number>2</number> + </property> + </widget> + <spacer row="2" column="2"> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>41</width> + <height>20</height> + </size> + </property> + </spacer> + </grid> +</widget> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kcolorbutton.h</includehint> +</includehints> +</UI> diff --git a/languages/ruby/app_templates/kxt/prefs.rb b/languages/ruby/app_templates/kxt/prefs.rb new file mode 100644 index 00000000..1469687e --- /dev/null +++ b/languages/ruby/app_templates/kxt/prefs.rb @@ -0,0 +1,7 @@ + +class Prefs < Prefs_base + + def initialize() + super() + end +end diff --git a/languages/ruby/app_templates/kxt/previewruby.png b/languages/ruby/app_templates/kxt/previewruby.png Binary files differnew file mode 100644 index 00000000..e235c9cf --- /dev/null +++ b/languages/ruby/app_templates/kxt/previewruby.png diff --git a/languages/ruby/app_templates/kxt/settings.kcfgc b/languages/ruby/app_templates/kxt/settings.kcfgc new file mode 100644 index 00000000..384510cd --- /dev/null +++ b/languages/ruby/app_templates/kxt/settings.kcfgc @@ -0,0 +1,6 @@ +# Code generation options for kconfig_compiler +File=%{APPNAMELC}.kcfg +ClassName=Settings +Singleton=true +Mutators=col_background,col_foreground +# will create the necessary code for setting those variables diff --git a/languages/ruby/app_templates/kxt/src-Makefile.am b/languages/ruby/app_templates/kxt/src-Makefile.am new file mode 100644 index 00000000..a8170abc --- /dev/null +++ b/languages/ruby/app_templates/kxt/src-Makefile.am @@ -0,0 +1,48 @@ +## Makefile.am for %{APPNAMELC} + +# this is the program that gets installed. it's name is used for all +# of the other Makefile.am variables +bin_PROGRAMS = %{APPNAMELC} + +# set the include path for X, qt and KDE +INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) + +# the library search path. +%{APPNAMELC}_LDFLAGS = $(all_libraries) $(KDE_RPATH) -L$(RUBY_LIBDIR) + +# the libraries to link against. +%{APPNAMELC}_LDADD = $(LIB_KFILE) $(LIB_KDEPRINT) $(RUBY_LIBRUBYARG) + +# which sources should be compiled for %{APPNAMELC} +%{APPNAMELC}_SOURCES = %{APPNAMELC}.cpp + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +KDE_ICON = AUTO + +# this is where the kdelnk file will go +kdelnkdir = $(kde_appsdir)/Utilities +kdelnk_DATA = %{APPNAMELC}.desktop + +# this is where the XML-GUI resource file goes +rcdir = $(kde_datadir)/%{APPNAMELC} +rc_DATA = %{APPNAMELC}ui.rc + +rubysrc_DATA = main.rb %{APPNAMELC}.rb %{APPNAMELC}view.rb prefs.rb \ + appview_base.rb prefs-base.rb settings.rb + +rubysrcdir = $(kde_datadir)/%{APPNAMELC} + +rubyui_DATA = appview_base.ui prefs-base.ui + +rubyuidir = $(kde_datadir)/%{APPNAMELC} + +%.rb: %.ui + $(RBUIC) -tr ${UIC_TR} -kde $< -o $@ + +RBKCONFIG_COMPILER = rbkconfig_compiler + +settings.rb: %{APPNAMELC}.kcfg settings.kcfgc + $(RBKCONFIG_COMPILER) ./%{APPNAMELC}.kcfg ./settings.kcfgc + diff --git a/languages/ruby/app_templates/kxt/subdirs b/languages/ruby/app_templates/kxt/subdirs new file mode 100644 index 00000000..0e678106 --- /dev/null +++ b/languages/ruby/app_templates/kxt/subdirs @@ -0,0 +1,3 @@ +doc +po +src |