diff --git a/YACReader/main.cpp b/YACReader/main.cpp index 0c7b3c1c..c6bf9c38 100644 --- a/YACReader/main.cpp +++ b/YACReader/main.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "main_window_viewer.h" #include "configuration.h" @@ -12,11 +13,11 @@ using namespace QsLogging; #if defined(WIN32) && defined(_DEBUG) - #define _CRTDBG_MAP_ALLOC - #include - #include - #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) - #define new DEBUG_NEW + #define _CRTDBG_MAP_ALLOC + #include + #include + #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) + #define new DEBUG_NEW #endif #ifdef Q_OS_MAC @@ -53,106 +54,83 @@ class YACReaderApplication: public QApplication int main(int argc, char * argv[]) { - #if defined(_MSC_VER) && defined(_DEBUG) - _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); +#if defined(_MSC_VER) && defined(_DEBUG) + _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif #ifdef Q_OS_MAC YACReaderApplication app(argc,argv); #else - QApplication app(argc, argv); + QApplication app(argc, argv); #endif #ifdef FORCE_ANGLE app.setAttribute(Qt::AA_UseOpenGLES); #endif - app.setApplicationName("YACReader"); - app.setOrganizationName("YACReader"); + app.setApplicationName("YACReader"); + app.setOrganizationName("YACReader"); app.setAttribute(Qt::AA_UseHighDpiPixmaps); if (QIcon::hasThemeIcon("YACReader")) { app.setWindowIcon(QIcon::fromTheme("YACReader")); } - //simple command line parser - //will be replaced by QCommandLineParser in the future - QStringList optlist; - QStringList arglist; - if (argc > 1) - { - //extract options and arguments - optlist = QCoreApplication::arguments().filter(QRegExp ("^-{1,2}")); //options starting with "-" - arglist = QCoreApplication::arguments().filter(QRegExp ("^(?!-{1,2})")); //positional arguments - //deal with standard options - if (!optlist.isEmpty()) - { - QTextStream parser(stdout); - if (optlist.contains("--version") || optlist.contains("-v")) - { - parser << app.applicationName() << " " << QString(VERSION) << endl << "Copyright 2014 by Luis Angel San Martin Rodriguez" << endl; - return 0; - } - if (optlist.contains("--help") || optlist.contains("-h")) - { - parser << endl << "Usage: YACReader [File|Directory|Option]" << endl << endl; - parser << "Options:" << endl; - parser << " -h, --help\t\tDisplay this text and exit." << endl; - parser << " -v, --version\t\tDisplay version information and exit." << endl << endl; - parser << "Arguments:" << endl; - parser << " file\t\t\tOpen comic file." <=1) + { + mwv->open(arglist.at(0), parser.value(comicId).toULongLong(), parser.value(libraryId).toULongLong()); + } + else if (arglist.count() >= 1) + { + mwv->openComicFromPath(arglist.at(0)); + } - //parser code for comic loading needs to be processed after MainWindowViewer creation - //if we have a valid request, open it - if not, load normally - if (argc > 1) - { - if (!optlist.filter("--comicId=").isEmpty() && !optlist.filter("--libraryId=").isEmpty()) - { - if (arglist.count()>1) - { - mwv->open(arglist.at(1), optlist.filter("--comicId=").at(0).split("=").at(1).toULongLong(), optlist.filter("--libraryId=").at(0).split("=").at(1).toULongLong()); - } - } - else if ((arglist.count()>1)) - { - //open first positional argument, silently ignore all following positional arguments - mwv->openComicFromPath(arglist.at(1)); - } - } #ifdef Q_OS_MAC - app.setWindow(mwv); + app.setWindow(mwv); #endif - mwv->show(); - int ret = app.exec(); + mwv->show(); + int ret = app.exec(); delete mwv; - //Configuration::getConfiguration().save(); - YACReader::exitCheck(ret); - return ret; + //Configuration::getConfiguration().save(); + YACReader::exitCheck(ret); + return ret; }