Mercurial > hg > easyhg
view src/main.cpp @ 737:4f3a8aa8d384 tip
Markdown
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 17:40:54 +0100 |
parents | 751b21af6b6f |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* EasyMercurial Based on HgExplorer by Jari Korhonen Copyright (c) 2010 Jari Korhonen Copyright (c) 2013 Chris Cannam Copyright (c) 2013 Queen Mary, University of London 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. See the file COPYING included with this distribution for more information. */ #include "mainwindow.h" #include "common.h" #include "debug.h" #include "version.h" #include <QApplication> #include <QTranslator> #include <QDir> using std::cout; using std::endl; int main(int argc, char *argv[]) { if (argc == 2 && (!strcmp(argv[1], "-v") || !strcmp(argv[1], "--version"))) { cout << "EasyMercurial v" << EASYHG_VERSION << "\n" << "Copyright (c) 2010 Jari Korhonen\n" << "Copyright (c) 2013 Chris Cannam\n" << "Copyright (c) 2013-2018 Queen Mary, University of London\n" << "This program is free software; you can redistribute it and/or\n" << "modify it under the terms of the GNU General Public License as\n" << "published by the Free Software Foundation; either version 2 of the\n" << "License, or (at your option) any later version. See the file\n" << "COPYING included with this distribution for more information." << endl; return 0; } QApplication app(argc, argv); QApplication::setOrganizationName("easymercurial"); QApplication::setOrganizationDomain("easymercurial.org"); QApplication::setApplicationName(QApplication::tr("EasyMercurial")); #ifdef Q_OS_MAC // Mac doesn't align menu labels when icons are shown: result is messy app.setAttribute(Qt::AA_DontShowIconsInMenus); #endif // Lose our controlling terminal (so we can provide a new pty to // capture password requests) loseControllingTerminal(); installSignalHandlers(); QTranslator translator; QString language = QLocale::system().name(); if (language == "C") language = "en"; QString trname = QString("easyhg_%1").arg(language); translator.load(trname, ":"); app.installTranslator(&translator); QStringList args = app.arguments(); QString myDirPath = QFileInfo(QDir::current().absoluteFilePath(args[0])) .canonicalPath(); MainWindow mainWin(myDirPath); mainWin.show(); if (args.size() == 2) { QString path = args[1]; DEBUG << "Opening " << args[1] << endl; if (QDir(path).exists()) { path = QDir(path).canonicalPath(); mainWin.open(path); } } return app.exec(); }