main.cpp 4.51 KB
Newer Older
1 2
/***************************************************************************
    begin                : Mon Feb  4 23:40:41 EST 2002
Scott Wheeler's avatar
Scott Wheeler committed
3
    copyright            : (C) 2002 - 2004 by Scott Wheeler
4
    email                : wheeler@kde.org
5
***************************************************************************/
6 7 8 9 10 11 12 13 14 15

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

Scott Wheeler's avatar
Scott Wheeler committed
16
#include <kuniqueapplication.h>
17 18
#include <kcmdlineargs.h>
#include <kaboutdata.h>
19 20
#include <kconfigbase.h>
#include <kconfig.h>
21 22
#include <klocale.h>
#include <kglobal.h>
23 24 25

#include "juk.h"

26 27
static const char description[] = I18N_NOOP("Jukebox and music manager for KDE");
static const char scott[]       = I18N_NOOP("Author, chief dork and keeper of the funk");
28
static const char michael[]     = I18N_NOOP("Assistant super-hero, fixer of many things");
29 30 31
static const char daniel[]      = I18N_NOOP("System tray docking, \"inline\" tag editing,\nbug fixes, evangelism, moral support");
static const char tim[]         = I18N_NOOP("GStreamer port");
static const char stefan[]      = I18N_NOOP("Global keybindings support");
32
static const char stephen[]     = I18N_NOOP("Track announcement popups");
33 34
static const char frerich[]     = I18N_NOOP("Automagic track data guessing, bugfixes");
static const char zack[]        = I18N_NOOP("More automagical things, now using MusicBrainz");
35
static const char adam[]        = I18N_NOOP("Co-conspirator in MusicBrainz wizardry");
36
static const char matthias[]    = I18N_NOOP("Friendly, neighborhood aRts guru");
Malcolm Hunter's avatar
Malcolm Hunter committed
37
static const char maks[]        = I18N_NOOP("Making JuK friendlier to people with\nterabytes of music");
38
static const char antonio[]     = I18N_NOOP("DCOP interface");
39
static const char allan[]       = I18N_NOOP("FLAC and MPC support");
Scott Wheeler's avatar
Scott Wheeler committed
40
static const char nathan[]      = I18N_NOOP("Album cover manager");
41
static const char pascal[]      = I18N_NOOP("Gimper of splash screen");
42

43 44
static KCmdLineOptions options[] =
{
45
    { "+[file(s)]", I18N_NOOP("File(s) to open"), 0 },
46
    KCmdLineLastOption
47 48 49 50
};

int main(int argc, char *argv[])
{
51
    KAboutData aboutData("juk", I18N_NOOP("JuK"),
52
                         "2.3.2", description, KAboutData::License_GPL,
53
                         "(c) 2002 - 2005, Scott Wheeler", 0,
54
                         "http://developer.kde.org/~wheeler/juk.html");
Scott Wheeler's avatar
Scott Wheeler committed
55 56

    aboutData.addAuthor("Scott Wheeler", scott, "wheeler@kde.org");
57
    aboutData.addAuthor("Michael Pyne", michael, "michael.pyne@kdemail.net");
Scott Wheeler's avatar
Scott Wheeler committed
58
    aboutData.addCredit("Daniel Molkentin", daniel, "molkentin@kde.org");
59
    aboutData.addCredit("Tim Jansen", tim, "tim@tjansen.de");
Scott Wheeler's avatar
Scott Wheeler committed
60
    aboutData.addCredit("Stefan Asserhäll", stefan, "stefan.asserhall@telia.com");
61
    aboutData.addCredit("Stephen Douglas", stephen, "stephen_douglas@yahoo.com");
62
    aboutData.addCredit("Frerich Raabe", frerich, "raabe@kde.org");
Scott Wheeler's avatar
Scott Wheeler committed
63
    aboutData.addCredit("Zack Rusin", zack, "zack@kde.org");
64 65 66 67
    aboutData.addCredit("Adam Treat", adam, "manyoso@yahoo.com");
    aboutData.addCredit("Matthias Kretz", matthias, "kretz@kde.org");
    aboutData.addCredit("Maks Orlovich", maks, "maksim@kde.org");
    aboutData.addCredit("Antonio Larrosa Jimenez", antonio, "larrosa@kde.org");
68
    aboutData.addCredit("Allan Sandfeld Jensen", allan, "kde@carewolf.com");
Scott Wheeler's avatar
Scott Wheeler committed
69
    aboutData.addCredit("Nathan Toone", nathan, "nathan@toonetown.com");
70
    aboutData.addCredit("Pascal Klein", pascal, "4pascal@tpg.com.au");
71 72 73

    KCmdLineArgs::init(argc, argv, &aboutData);
    KCmdLineArgs::addCmdLineOptions(options);
74

75
    KUniqueApplication::addCmdLineOptions();
76

77
    KUniqueApplication a;
78 79 80

    // Here we do some DCOP locking of sorts to prevent incoming DCOP calls
    // before JuK has finished its initialization.
81

David Faure's avatar
David Faure committed
82
#ifdef __GNUC__
Laurent Montel's avatar
Port it  
Laurent Montel committed
83
#warning "kde4: port it"
David Faure's avatar
David Faure committed
84
#endif
Laurent Montel's avatar
Port it  
Laurent Montel committed
85
    //a.dcopClient()->suspend();
86
    JuK *juk = new JuK;
Laurent Montel's avatar
Port it  
Laurent Montel committed
87
    //a.dcopClient()->resume();
88

89 90
    bool startDocked;

91
    KConfigGroup config(KGlobal::config(), "Settings");
92
    startDocked = config.readEntry("StartDocked", false);
93

94
    if(!startDocked)
95
        juk->show();
96

97
    return a.exec();
98
}
99 100

// vim: set et sw=4 tw=0 sta: