summaryrefslogtreecommitdiffstats
path: root/src/core/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/main.cpp')
-rw-r--r--src/core/main.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/core/main.cpp b/src/core/main.cpp
new file mode 100644
index 0000000..0c43a35
--- /dev/null
+++ b/src/core/main.cpp
@@ -0,0 +1,58 @@
+/***************************************************************************
+ * Copyright (C) 2003-2005 by David Saxton *
+ * david@bluehaze.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. *
+ ***************************************************************************/
+
+#include "ktechlab.h"
+
+#include <dcopclient.h>
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kconfig.h>
+#include <klocale.h>
+
+static const char description[] =
+ I18N_NOOP("An IDE for microcontrollers and electronics");
+
+static const char version[] = "0.3";
+
+static KCmdLineOptions options[] =
+{
+ { "+[URL]", I18N_NOOP( "Document to open." ), 0 },
+ KCmdLineLastOption
+};
+
+
+int main(int argc, char **argv)
+{
+ KAboutData about("ktechlab", I18N_NOOP("KTechlab"), version, description,
+ KAboutData::License_GPL, "(C) 2003-2005, The KTechlab developers", "", "http://ktechlab.org", "ktechlab-devel@lists.sourceforge.net" );
+ about.addAuthor( "David Saxton", 0, "david@bluehaze.org" );
+ about.addAuthor( "Daniel Clarke", 0, "daniel.jc@gmail.com" );
+ about.addCredit( "Couriousous", "JK flip-flop, asyncronous preset/reset in the D flip-flop." );
+ about.addCredit( "John Myers", "Rotary Switch" );
+ about.addCredit( "Ali Akcaagac", "Glib friendliness." );
+ about.addCredit( "David Leggett", "Website hosting and feedback during early development." );
+ KCmdLineArgs::init(argc, argv, &about);
+ KCmdLineArgs::addCmdLineOptions(options);
+ KApplication app;
+
+ // register ourselves as a dcop client
+ app.dcopClient()->registerAs(app.name(), false);
+
+ KTechlab *ktechlab = new KTechlab();
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ for ( int i=0; i < args->count(); ++i )
+ ktechlab->load( args->url(i) );
+
+ ktechlab->show();
+ args->clear(); // Free up some memory
+ return app.exec();
+}