main.cpp

Go to the documentation of this file.
00001 /*
00002     Copyright (C) 2008  Tim Fechtner < urwald at users dot sourceforge dot net >
00003 
00004     This program is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU General Public License as
00006     published by the Free Software Foundation; either version 2 of
00007     the License or (at your option) version 3 or any later version
00008     accepted by the membership of KDE e.V. (or its successor approved
00009     by the membership of KDE e.V.), which shall act as a proxy
00010     defined in Section 14 of version 3 of the license.
00011 
00012     This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #include <KApplication>
00022 #include <KAboutData>
00023 #include <KCmdLineArgs>
00024 
00025 #include "mainwindow.h"
00026 #include "version.h"
00027 #include "propertyvalue.h"
00028 
00030 int main (int argc, char * argv[])
00031 {
00032   qRegisterMetaType<PropertyValue>("PropertyValue");
00033   qRegisterMetaType<PropertyValue::propertyValueType>("PropertyValue::propertyValueType");
00034   qRegisterMetaType<ripping::statusType>("ripping::statusType");
00035   KAboutData aboutData("kradioripper", // internal program name
00036                        0, // name of the message catalog. 0: same as internal program name
00037                        ki18nc("@title KAboutData: displayed program name", "KRadioRipper"),
00038                        VERSION,
00039                        ki18nc("@title KAboutData: short program description",
00040                               "A program for recording audio streams."),
00041                        KAboutData::License_Unknown,  // will be overwritten later
00042                        ki18nc("@info:credit KAboutData: copyright hint",
00043                               "(c) 2007-2009 Tim Fechtner"),
00044                        ki18nc("@info KAboutData: further hints", "Based on Streamripper."),
00045                        "http://kradioripper.sourceforge.net/",
00046                        // bug email address:
00047                        QString("urwald%1users.sourceforge.net").arg("@").toLatin1());
00048   aboutData.addAuthor(ki18nc("@info:credit KAboutData/Author: name (do not translate this!)",
00049                              "Tim Fechtner"),
00050                       ki18nc("@info:credit KAboutData/Author: function", "Main author"),
00051                       QString("urwald%1users.sourceforge.net").arg("@").toLatin1());
00052   aboutData.addCredit(ki18nc("@info:credit KAboutData/Credit: name",
00053                              "Greg Sharp and the Streamripper team"),
00054                       ki18nc("@info:credit KAboutData/Credit: function",
00055                              "Authers of Streamripper, which is the base for KRadioRipper"),
00056                       QString("gregsharp%1users.sourceforge.net").arg("@").toLatin1(),
00057                       "http://streamripper.sourceforge.net/");
00058   aboutData.addCredit(ki18nc("@info:credit KAboutData/Credit: name", "Detlef Reichelt"),
00059                       ki18nc("@info:credit KAboutData/Credit: function", "Packages for Packman"),
00060                       QString("detlef%1links2linux.de").arg("@").toLatin1(),
00061                       "http://packman.links2linux.org/package/kradioripper");
00062   aboutData.addCredit(ki18nc("@info:credit KAboutData/Credit: name", "Rajko Bock"),
00063                       ki18nc("@info:credit KAboutData/Credit: function",
00064                              "Packages for Mandriva"),
00065                       QString("info%1randosweb.de").arg("@").toLatin1(),
00066                       "http://www.randosweb.de");
00067   aboutData.addCredit(ki18nc("@info:credit KAboutData/Credit: name", "Alessandro Ghersi"),
00068                       ki18nc("@info:credit KAboutData/Credit: function", "Packages for Ubuntu"),
00069                       QString("alessandro.ghersi%1fastwebnet.it").arg('@').toLatin1(),
00070                       "http://packages.ubuntu.com/karmic/kradioripper");
00071   // Set credits to translators manually to allow semantic markup.
00072   // (No fallback available in our .po! So don't change this.)
00073   aboutData.setTranslator(ki18nc("@info:credit NAME OF TRANSLATORS "
00074                                    "Dear translator. Enter your name here. This special "
00075                                    "string is used to display a credit to you at "
00076                                    "Help->About KRadioRipper->Translation. /// The "
00077                                    "expected format is a coma separated list. Example: 'First "
00078                                    "Translator,Second Translator,' is a list "
00079                                    "of 3 translators: 1: 'First Translator' 2: 'Second "
00080                                    "Translator' 3: no name is displayed, only email address",
00081                                  "Your names"),
00082                           ki18nc("@info:credit EMAIL OF TRANSLATORS "
00083                                    "Dear translator. Enter your email address here. This special "
00084                                    "string is used to display a credit to you at "
00085                                    "Help->About KRadioRipper->Translation "
00086                                    "Or leave it blank when you do not want to publish your email "
00087                                    "address. If you want, you can use %1 instead of the 'at' "
00088                                    "sign (for anti-spam reasons). /// The expected "
00089                                    "format is a coma separated list. Example: "
00090                                    "'first%1nospam.please,,thierd%1nospam.please' is a list of 3 "
00091                                    "email addresses: 1: 'first@mail.com' 2: no address (only the "
00092                                    "name is displayed) 3: 'thierd@nospam.please' /// Attention: "
00093                                    "The length of the list is not determinated by _this_ string, "
00094                                    "but by the translation of 'Your names'!",
00095                                  "Your emails").subs("@"));
00096 #if KDE_IS_VERSION(4,1,0)
00097   // Overrides License_Unknown, which was specified in the constructor:
00098   aboutData.addLicenseText(ki18nc(
00099     "@info (%1 will be replaced by the 'at' sign - doing it this way for anti-spam reasons. "
00100       "Please use this also in the translation file.) The text is a modified version of the "
00101       "text that is proposed in the GPL. See http://www.gnu.org/licenses/translations.html for "
00102       "possibly yet available translations.",
00103     "Copyright (C) 2008-2009  Tim Fechtner &lt;urwald%1users.sourceforge.net&gt;<nl/>"
00104       "<nl/>"
00105       "This program is free software; you can redistribute it and/or<nl/>"
00106       "modify it under the terms of the GNU General Public License as<nl/>"
00107       "published by the Free Software Foundation; either version 2 of<nl/>"
00108       "the License or (at your option) version 3 or any later version<nl/>"
00109       "accepted by the membership of KDE e.V. (or its successor approved<nl/>"
00110       "by the membership of KDE e.V.), which shall act as a proxy<nl/>"
00111       "defined in Section 14 of version 3 of the license.<nl/>"
00112       "<nl/>"
00113       "This program is distributed in the hope that it will be useful,<nl/>"
00114       "but WITHOUT ANY WARRANTY; without even the implied warranty of<nl/>"
00115       "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<nl/>"
00116       "GNU General Public License for more details.<nl/>"
00117       "<nl/>"
00118       "You should have received a copy of the GNU General Public License<nl/>"
00119       "along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.").subs("@"));
00120 #endif
00121   KCmdLineArgs::init(argc, argv, &aboutData);
00122   KApplication app;
00123   if (app.isSessionRestored()) {
00124     kRestoreMainWindows< MainWindow >();
00125   } else {
00126     MainWindow * window = new MainWindow();
00127     window->setObjectName("KRadioRipperMainWindow#");  // '#' will be replaced with unique numbers
00128     window->show();
00129   };
00130   return app.exec();
00131 }

doxygen