diff options
Diffstat (limited to 'kapptemplate/kpartapp/main.cpp')
-rw-r--r-- | kapptemplate/kpartapp/main.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kapptemplate/kpartapp/main.cpp b/kapptemplate/kpartapp/main.cpp new file mode 100644 index 00000000..14bbf216 --- /dev/null +++ b/kapptemplate/kpartapp/main.cpp @@ -0,0 +1,55 @@ +echo "Creating $LOCATION_ROOT/${APP_NAME_LC}/main.cpp..."; +cat << EOF > $LOCATION_ROOT/${APP_NAME_LC}/main.cpp +#include "${APP_NAME_LC}.h" +#include <kapplication.h> +#include <kaboutdata.h> +#include <kcmdlineargs.h> +#include <klocale.h> + +static const char description[] = + I18N_NOOP("A KDE KPart Application"); + +static const char version[] = "v${APP_VERSION}"; + +static KCmdLineOptions options[] = +{ + { "+[URL]", I18N_NOOP( "Document to open" ), 0 }, + KCmdLineLastOption +}; + +int main(int argc, char **argv) +{ + KAboutData about("${APP_NAME_LC}", I18N_NOOP("${APP_NAME}"), version, description, KAboutData::License_GPL, "(C) 2004 ${AUTHOR}", 0, 0, "${EMAIL}"); + about.addAuthor( "${AUTHOR}", 0, "${EMAIL}" ); + KCmdLineArgs::init(argc, argv, &about); + KCmdLineArgs::addCmdLineOptions( options ); + KApplication app; + + // see if we are starting with session management + if (app.isRestored()) + RESTORE(${APP_NAME}) + else + { + // no session.. just start up normally + KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + + if ( args->count() == 0 ) + { + ${APP_NAME} *widget = new ${APP_NAME}; + widget->show(); + } + else + { + int i = 0; + for (; i < args->count(); i++ ) + { + ${APP_NAME} *widget = new ${APP_NAME}; + widget->show(); + widget->load( args->url( i ) ); + } + } + args->clear(); + } + + return app.exec(); +} |