1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license that can
* be found in the License.html file in the root of the source tree.
*/
#include <QApplication>
#include <QtGlobal>
#include <QtPlugin>
#include <iostream>
#include "mainwindow.h"
#include <ZenLib/Ztring.h>
#include <ZenLib/ZtringListList.h>
using namespace ZenLib;
#define wstring2QString(_DATA) \
QString::fromUtf8(Ztring(_DATA).To_UTF8().c_str())
#define QString2wstring(_DATA) \
Ztring().From_UTF8(_DATA.toUtf8())
using namespace std;
int main(int argc, char *argv[])
{
QStringList filesnames;
int output = -1;
#if defined(_WIN32) && defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_APP) //UWP Application
QApplication::setAttribute(Qt::AA_ImmediateWidgetCreation, true);
QApplication a(argc, argv);
#else
QApplication a(argc, argv);
QStringList args = QCoreApplication::arguments();
// Strip program path from arguments
if (args.size() && args.at(0)==QCoreApplication::applicationFilePath())
args.removeFirst();
foreach(QString arg,args) {
if(!arg.compare("--help",Qt::CaseInsensitive)||!arg.compare("-h",Qt::CaseInsensitive)) {
cout << "Usage : mediainfo-gui [OPTIONS] [files]" << endl;
cout << "Options : " << endl;
cout << "-h,--help : show this help" << endl;
cout << "--output=OUTPUT : select the view OUTPUT at launch" << endl;
cout << "--version : show the version" << endl;
return 0;
} else if(!arg.compare("--version",Qt::CaseInsensitive)) {
Core C;
C.Menu_Help_Version();
cout << wstring2QString(C.Text_Get()).toStdString() << endl;
return 0;
} else if(arg.startsWith("--output=",Qt::CaseInsensitive)) {
arg.remove(0,9);
int i=0;
while(i<NB_VIEW) {
if(arg.compare(nameView(ViewMode(i)),Qt::CaseInsensitive)==0) {
cout << arg.toStdString() << "view selected" << endl;
output=i;
break;
}
i++;
}
if(i<0) {
cout << arg.toStdString() << " : unkown view" << endl;
}
} else {
filesnames.append(arg);
}
}
#endif
MainWindow w(filesnames,output);
w.show();
return a.exec();
}
|