#include "dolphinapplication.h"
+#include "dolphinmainwindow.h"
+
#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <klocale.h>
+#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", 0,
ki18nc("@title", "Dolphin"),
- "0.9.1",
+ "1.6.9",
ki18nc("@title", "File Manager"),
KAboutData::License_GPL,
- ki18nc("@info:credit", "(C) 2006, 2007 Peter Penz"));
- about.setHomepage("http://enzosworld.gmxhome.de");
- about.setBugAddress("http://bugs.kde.org");
+ ki18nc("@info:credit", "(C) 2006-2011 Peter Penz"));
+ about.setHomepage("http://dolphin.kde.org");
about.addAuthor(ki18nc("@info:credit", "Peter Penz"),
ki18nc("@info:credit", "Maintainer and developer"),
- "peter.penz@gmx.at");
+ "peter.penz19@gmail.com");
about.addAuthor(ki18nc("@info:credit", "David Faure"),
ki18nc("@info:credit", "Developer"),
"faure@kde.org");
"aseigo@kde.org");
about.addAuthor(ki18nc("@info:credit", "Rafael Fernández López"),
ki18nc("@info:credit", "Developer"),
- "ereslibre@gmail.com");
+ "ereslibre@kde.org");
about.addAuthor(ki18nc("@info:credit", "Kevin Ottens"),
ki18nc("@info:credit", "Developer"),
"ervin@kde.org");
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);
KCmdLineOptions options;
+
+ options.add("select", ki18nc("@info:shell", "The files and directories passed as arguments "
+ "will be selected."));
options.add("+[Url]", ki18nc("@info:shell", "Document to open"));
KCmdLineArgs::addCmdLineOptions(options);
}
DolphinApplication app;
-#ifdef __GNUC__
-#warning TODO, SessionManagement
-#endif
-#if 0
- if (false /* KDE4-TODO: app.isSessionRestored() */) {
+ KGlobal::locale()->insertCatalog("libkonq"); // needed for applications using libkonq
+
+ if (app.isSessionRestored()) {
int n = 1;
while (KMainWindow::canBeRestored(n)) {
- Dolphin::mainWin().restore(n);
+ const QString className = KXmlGuiWindow::classNameOfToplevel(n);
+ if (className == QLatin1String("DolphinMainWindow")) {
+ DolphinMainWindow* win = app.createMainWindow();
+ win->restore(n);
+ } else {
+ kWarning() << "Unknown class " << className << " in session saved data!";
+ }
++n;
}
- } else {
-#endif
- return app.exec();
}
+ app.exec(); // krazy:exclude=crashy
+
+ return 0;
+}