/***************************************************************************
- * Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2006 by Peter Penz <peter.penz19@gmail.com> *
* Copyright (C) 2006 by Stefan Monov <logixoul@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* 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. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
#include "dolphinapplication.h"
+
#include "dolphinmainwindow.h"
-#include <kapplication.h>
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <klocale.h>
-#include <krun.h>
-static KCmdLineOptions options[] =
-{
- { "+[Url]", I18N_NOOP( "Document to open" ), 0 },
- KCmdLineLastOption
-};
+#include <KAboutData>
+#include <KCmdLineArgs>
+#include <KLocale>
+#include <kmainwindow.h>
+#include <KDebug>
-int main(int argc, char **argv)
+extern "C"
+KDE_EXPORT int kdemain(int argc, char **argv)
{
- KAboutData about("dolphin",
- I18N_NOOP("Dolphin"),
- "0.8.0",
- I18N_NOOP("File Manager"),
+ KAboutData about("dolphin", 0,
+ ki18nc("@title", "Dolphin"),
+ "2.0.95",
+ ki18nc("@title", "File Manager"),
KAboutData::License_GPL,
- "(C) 2006 Peter Penz");
- about.setHomepage("http://enzosworld.gmxhome.de");
- about.setBugAddress("peter.penz@gmx.at");
- about.addAuthor("Peter Penz", I18N_NOOP("Maintainer and developer"), "peter.penz@gmx.at");
- about.addAuthor("Cvetoslav Ludmiloff", I18N_NOOP("Developer"), "ludmiloff@gmail.com");
- about.addAuthor("Stefan Monov", I18N_NOOP("Developer"), "logixoul@gmail.com");
- about.addAuthor("Michael Austin", I18N_NOOP("Documentation"), "tuxedup@users.sourceforge.net");
- about.addAuthor("Orville Bennett", I18N_NOOP("Documentation"), "obennett@hartford.edu");
- about.addCredit("Aaron J. Seigo", I18N_NOOP("... for the great support and the amazing patches"));
- about.addCredit("Patrice Tremblay and Gregor Kalisnik", I18N_NOOP("... for their patches"));
- about.addCredit("Ain, Itai, Ivan, Stephane, Patrice, Piotr and Stefano",
- I18N_NOOP("... for their translations"));
+ ki18nc("@info:credit", "(C) 2006-2012 Peter Penz"));
+ about.setHomepage("http://dolphin.kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Peter Penz"),
+ ki18nc("@info:credit", "Maintainer and developer"),
+ "peter.penz19@gmail.com");
+ about.addAuthor(ki18nc("@info:credit", "Frank Reininghaus"),
+ ki18nc("@info:credit", "Developer"),
+ "frank78ac@googlemail.com");
+ about.addAuthor(ki18nc("@info:credit", "Sebastian Trüg"),
+ ki18nc("@info:credit", "Developer"),
+ "trueg@kde.org"),
+ about.addAuthor(ki18nc("@info:credit", "David Faure"),
+ ki18nc("@info:credit", "Developer"),
+ "faure@kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Aaron J. Seigo"),
+ ki18nc("@info:credit", "Developer"),
+ "aseigo@kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Rafael Fernández López"),
+ ki18nc("@info:credit", "Developer"),
+ "ereslibre@kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Kevin Ottens"),
+ ki18nc("@info:credit", "Developer"),
+ "ervin@kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Holger Freyther"),
+ ki18nc("@info:credit", "Developer"),
+ "freyther@gmx.net");
+ about.addAuthor(ki18nc("@info:credit", "Max Blazejak"),
+ ki18nc("@info:credit", "Developer"),
+ "m43ksrocks@gmail.com");
+ about.addAuthor(ki18nc("@info:credit", "Michael Austin"),
+ ki18nc("@info:credit", "Documentation"),
+ "tuxedup@users.sourceforge.net");
+ // the .desktop file is not taken into account when launching manually, so
+ // set the icon precautionally:
+ about.setProgramIconName("system-file-manager");
KCmdLineArgs::init(argc, argv, &about);
- KCmdLineArgs::addCmdLineOptions(options);
- DolphinApplication app;
+ KCmdLineOptions options;
+ options.add("select", ki18nc("@info:shell", "The files and directories passed as arguments "
+ "will be selected."));
+ options.add("split", ki18nc("@info:shell", "Dolphin will get started with a split view."));
+ options.add("+[Url]", ki18nc("@info:shell", "Document to open"));
+ KCmdLineArgs::addCmdLineOptions(options);
-#warning TODO, SessionManagement
-#if 0
- if (false /* KDE4-TODO: app.isSessionRestored() */) {
- int n = 1;
- while (KMainWindow::canBeRestored(n)){
- Dolphin::mainWin().restore(n);
- ++n;
- }
- } else {
-#endif
+ DolphinApplication app;
+ if (app.isSessionRestored()) {
+ app.restoreSession();
+ }
+ app.exec(); // krazy:exclude=crashy
- KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
- if (args->count() > 0) {
- for (int i = 0; i < args->count(); ++i) {
- DolphinMainWindow *win = app.createMainWindow();
- win->activeView()->setUrl(args->url(i));
- win->show();
- }
- } else {
- DolphinMainWindow* mainWin = app.createMainWindow();
- mainWin->show();
- }
- args->clear();
-
- return app.exec();
+ return 0;
}