Subversion Repositories public

Rev

Rev 132 | Rev 245 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/***************************************************************************
 *   Copyright (C) 2007, 2008 by Andreas Theofilu                          *
 *   andreas@theosys.at                                                    *
 *                                                                         *
 *   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 version 3 of the License.                *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#include "config.h"
#include "sportwatcher.h"
#include <kapplication.h>
#include <kaboutdata.h>
#include <kcmdlineargs.h>
#include <klocale.h>
#include <kmimesourcefactory.h>
#include <kstandarddirs.h>

// #include <iostream.h>
extern KApplication *mapp;
KApplication *mapp;

static const char description[] =
    I18N_NOOP("A KDE Application");

static const char version[] = VERSION;

static KCmdLineOptions options[] =
{
//    { "+[URL]", I18N_NOOP( "Document to open" ), 0 },
    KCmdLineLastOption
};

int main(int argc, char **argv)
{
    KAboutData about("sportwatcher", I18N_NOOP("sportwatcher"), version, description,
                     KAboutData::License_GPL, "(C) 2007, 2008 Andreas Theofilu", 0, 0, "andreas@theosys.at");
    about.addAuthor( "Andreas Theofilu", 0, "andreas@theosys.at" );
    KCmdLineArgs::init(argc, argv, &about);
    KCmdLineArgs::addCmdLineOptions( options );
    KApplication app;
    sportwatcher *mainWin = 0;
    mapp = 0;

    if (app.isRestored())
    {
        RESTORE(sportwatcher);
    }
    else
    {
        // no session.. just start up normally
        KCmdLineArgs *args = KCmdLineArgs::parsedArgs();

        QMimeSourceFactory* oldDefaultFactory = QMimeSourceFactory::takeDefaultFactory();
        QMimeSourceFactory::setDefaultFactory(app.mimeSourceFactory());

        if (oldDefaultFactory)
           QMimeSourceFactory::addFactory(oldDefaultFactory);

        app.mimeSourceFactory()->addFilePath(KGlobal::dirs()->findResourceDir("icon", "hand.png"));
        QStringList icons = KGlobal::dirs()->resourceDirs("icon");
        QStringList::Iterator it;

        for (it = icons.begin(); it != icons.end(); ++it)
        {
           app.mimeSourceFactory()->addFilePath(*it);
           app.mimeSourceFactory()->addFilePath(*it);
           app.mimeSourceFactory()->addFilePath(*it + "sportwatcher/16x16/actions/");
           app.mimeSourceFactory()->addFilePath(*it + "hicolor/16x16/actions/");
           app.mimeSourceFactory()->addFilePath(*it + "default.kde/16x16/actions/");
        }

        /// @todo do something with the command line args here

        mainWin = new sportwatcher();
        app.setMainWidget( mainWin );
        mainWin->show();

        args->clear();
    }

    mapp = &app;
    // mainWin has WDestructiveClose flag by default, so it will delete itself.
    return app.exec();
}