* 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 "dolphin.h"
-#include <kapplication.h>
+#include "dolphinapplication.h"
+
+#include "dolphinmainwindow.h"
+
#include <kaboutdata.h>
#include <kcmdlineargs.h>
+#include <kicon.h>
#include <klocale.h>
-#include <krun.h>
-
-static KCmdLineOptions options[] =
-{
- { "+[Url]", I18N_NOOP( "Document to open" ), 0 },
- KCmdLineLastOption
-};
+#include <kmainwindow.h>
+#include <kdebug.h>
int main(int argc, char **argv)
{
- KAboutData about("dolphin",
- I18N_NOOP("Dolphin"),
- "0.8.0",
- I18N_NOOP("File Manager"),
+ KAboutData about("dolphin", 0,
+ ki18nc("@title", "Dolphin"),
+ "0.9.5",
+ ki18nc("@title", "File Manager"),
KAboutData::License_GPL,
- "(C) 2006 Peter Penz");
+ ki18nc("@info:credit", "(C) 2006, 2007 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"));
+ about.setBugAddress("http://bugs.kde.org");
+ about.addAuthor(ki18nc("@info:credit", "Peter Penz"),
+ ki18nc("@info:credit", "Maintainer and developer"),
+ "peter.penz@gmx.at");
+ 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");
KCmdLineArgs::init(argc, argv, &about);
+
+ KCmdLineOptions options;
+ options.add("+[Url]", ki18nc("@info:shell", "Document to open"));
KCmdLineArgs::addCmdLineOptions(options);
- KApplication app;
+ if (!DolphinApplication::start()) {
+ return 0;
+ }
- Dolphin& mainWin = Dolphin::mainWin();
- mainWin.show();
+ DolphinApplication app;
+ // the .desktop file is not taken into account when launching manually, so
+ // set the icon precautionally:
+ QApplication::setWindowIcon(KIcon("system-file-manager"));
+ KGlobal::locale()->insertCatalog("libkonq"); // needed for applications using libkonq
- if (false /* KDE4-TODO: app.isSessionRestored() */) {
+ if (false /*app.isSessionRestored()*/) {
int n = 1;
- while (KMainWindow::canBeRestored(n)){
- Dolphin::mainWin().restore(n);
+ while (KMainWindow::canBeRestored(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 {
- KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
- if (args->count() > 0) {
- mainWin.activeView()->setUrl(args->url(0));
-
- for (int i = 1; i < args->count(); ++i) {
- KRun::run("dolphin", args->url(i));
- }
- }
- args->clear();
+ app.exec();
}
- return app.exec();
+ return 0;
}