diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch) | |
tree | acaf47eb0fa12142d3896416a69e74cbf5a72242 /languages/ruby/app_templates/kxt/app.cpp | |
download | tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'languages/ruby/app_templates/kxt/app.cpp')
-rw-r--r-- | languages/ruby/app_templates/kxt/app.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
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(); +} |