00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00020
00022
00023
00024 #include <qapplication.h>
00025 #include <qfont.h>
00026 #include <qstring.h>
00027 #include <qtextcodec.h>
00028 #include <qtranslator.h>
00029
00030
00031 #include "crdfactory.h"
00032 #include "crdview.h"
00033
00035 static void debugHandler(QtMsgType type, const char* message)
00039 {
00040 switch (type)
00041 {
00042 #ifndef QT_NO_DEBUG // only print out debug and warning messages in debug builds
00043 case QtDebugMsg: fprintf(stdout, "%s\n", message);
00044 break;
00045 case QtWarningMsg: fprintf(stderr, "Warning: %s\n", message);
00046 break;
00047 #endif
00048 case QtFatalMsg: fprintf(stderr, "FATAL: %s\n", message);
00049 fprintf(stderr, "Please note the exact message when reporting this.\n");
00050 fprintf(stderr, "The application will now shut down.\n");
00051 abort();
00052 default: break;
00053 }
00054 }
00055
00057 int main(int argc, char *argv[])
00058 {
00059
00060 qInstallMsgHandler(debugHandler);
00061 QApplication a(argc, argv);
00062
00066
00067
00068
00069 QStringList argList;
00070 bool extendedFormat = true;
00071 for(int i = 1; i <= argc; i++)
00072 {
00073 QString argument = argv[i];
00074 if(argument.isEmpty())
00075 break;
00076 if(argument.left(1) != "-")
00077 argList += argument;
00078 else if(argument.lower() = "-bnf")
00079 extendedFormat = false;
00080 }
00081
00082 if(argList.count() >= 2)
00083 {
00084 QString inputFileName = *(argList.begin());
00085 QString outputFileName = *(++argList.begin());
00086 qDebug("input & out filenames for conversion: |"+inputFileName+"|"+outputFileName+"|");
00087 int result = CrdFactory::convert(inputFileName, outputFileName, extendedFormat);
00088 switch(result)
00089 {
00090 case 1: break;
00091 }
00092 exit(0);
00093 }
00094
00095
00096 if (!QGLFormat::hasOpenGL())
00097 {
00098 qWarning("This system has no working OpenGL support. Exiting...");
00099 return -1;
00100 }
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110 CrdView* crdview = new CrdView();
00111 a.setMainWidget(crdview);
00112
00113
00114 if(argList.count() == 1)
00115 {
00116 qDebug("preloading: " + QString(*(argList.begin())));
00117 crdview->readCoordinates(*(argList.begin()));
00118 }
00119
00120
00121 crdview->show();
00122 return a.exec();
00123 }
00124