94
95
// qInitImages_librecad();
97
const char *lpDebugSwitch = "--debug";
98
size_t iDebugSwitchLen = strlen(lpDebugSwitch);
98
const QString lpDebugSwitch0("-d"),lpDebugSwitch1("--debug") ;
99
const QString help0("-h"), help1("--help");
100
bool allowOptions=true;
99
102
for (int i=0; i<argc; i++) {
100
if ( ! strncmp( lpDebugSwitch, argv[i], iDebugSwitchLen)) {
103
QString argstr(argv[i]);
104
if(allowOptions&&QString::compare("--", argstr)==0){
110
help0.compare(argstr, Qt::CaseInsensitive)==0 ||
111
help1.compare(argstr, Qt::CaseInsensitive)==0
114
qDebug()<<"librecad::usage: <options> <dxf file>";
115
qDebug()<<"-h, --help\tdisplay this message";
117
qDebug()<<" --help\tdisplay this message";
118
qDebug()<<"-d, --debug <level>";
119
RS_DEBUG->print( RS_Debug::D_NOTHING, "possible debug levels:");
120
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Nothing", RS_Debug::D_NOTHING);
121
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Critical", RS_Debug::D_CRITICAL);
122
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Error", RS_Debug::D_ERROR);
123
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Warning", RS_Debug::D_WARNING);
124
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Notice", RS_Debug::D_NOTICE);
125
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Informational", RS_Debug::D_INFORMATIONAL);
126
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Debugging", RS_Debug::D_DEBUGGING);
130
if ( allowOptions&& (
131
argstr.startsWith(lpDebugSwitch0, Qt::CaseInsensitive)||
132
argstr.startsWith(lpDebugSwitch1, Qt::CaseInsensitive)
101
135
// to control the level of debugging output use --debug with level 0-6, e.g. --debug3
102
136
// for a list of debug levels use --debug?
103
137
// if no level follows, the debugging level is set
104
if( strlen( argv[i]) > iDebugSwitchLen) {
105
switch( argv[i][iDebugSwitchLen]) {
107
RS_DEBUG->print( RS_Debug::D_NOTHING, "possible debug levels:");
108
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Nothing", RS_Debug::D_NOTHING);
109
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Critical", RS_Debug::D_CRITICAL);
110
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Error", RS_Debug::D_ERROR);
111
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Warning", RS_Debug::D_WARNING);
112
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Notice", RS_Debug::D_NOTICE);
113
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Informational", RS_Debug::D_INFORMATIONAL);
114
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Debugging", RS_Debug::D_DEBUGGING);
117
case '0' + RS_Debug::D_NOTHING :
118
RS_DEBUG->setLevel( RS_Debug::D_NOTHING);
122
case '0' + RS_Debug::D_CRITICAL :
123
RS_DEBUG->setLevel( RS_Debug::D_CRITICAL);
127
case '0' + RS_Debug::D_ERROR :
128
RS_DEBUG->setLevel( RS_Debug::D_ERROR);
132
case '0' + RS_Debug::D_WARNING :
133
RS_DEBUG->setLevel( RS_Debug::D_WARNING);
137
case '0' + RS_Debug::D_NOTICE :
138
RS_DEBUG->setLevel( RS_Debug::D_NOTICE);
142
case '0' + RS_Debug::D_INFORMATIONAL :
143
RS_DEBUG->setLevel( RS_Debug::D_INFORMATIONAL);
147
case '0' + RS_Debug::D_DEBUGGING :
148
RS_DEBUG->setLevel( RS_Debug::D_DEBUGGING);
153
RS_DEBUG->setLevel(RS_Debug::D_DEBUGGING);
138
argstr.remove(QRegExp("^"+lpDebugSwitch0));
139
argstr.remove(QRegExp("^"+lpDebugSwitch1));
141
if(argstr.size()==0){
147
level='3'; //default to D_WARNING
149
level=argstr.toStdString()[0];
150
// if( strlen( argv[i]) > iDebugSwitchLen) {
153
RS_DEBUG->print( RS_Debug::D_NOTHING, "possible debug levels:");
154
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Nothing", RS_Debug::D_NOTHING);
155
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Critical", RS_Debug::D_CRITICAL);
156
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Error", RS_Debug::D_ERROR);
157
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Warning", RS_Debug::D_WARNING);
158
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Notice", RS_Debug::D_NOTICE);
159
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Informational", RS_Debug::D_INFORMATIONAL);
160
RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Debugging", RS_Debug::D_DEBUGGING);
163
case '0' + RS_Debug::D_NOTHING :
164
RS_DEBUG->setLevel( RS_Debug::D_NOTHING);
168
case '0' + RS_Debug::D_CRITICAL :
169
RS_DEBUG->setLevel( RS_Debug::D_CRITICAL);
173
case '0' + RS_Debug::D_ERROR :
174
RS_DEBUG->setLevel( RS_Debug::D_ERROR);
178
case '0' + RS_Debug::D_WARNING :
179
RS_DEBUG->setLevel( RS_Debug::D_WARNING);
183
case '0' + RS_Debug::D_NOTICE :
184
RS_DEBUG->setLevel( RS_Debug::D_NOTICE);
188
case '0' + RS_Debug::D_INFORMATIONAL :
189
RS_DEBUG->setLevel( RS_Debug::D_INFORMATIONAL);
193
case '0' + RS_Debug::D_DEBUGGING :
194
RS_DEBUG->setLevel( RS_Debug::D_DEBUGGING);
158
199
RS_DEBUG->setLevel(RS_Debug::D_DEBUGGING);
204
// RS_DEBUG->setLevel(RS_Debug::D_DEBUGGING);
162
208
RS_DEBUG->print("param 0: %s", argv[0]);