@@ -121,7 +121,11 @@ int main( int argc, char **argv )
121
121
QCoreApplication::translate ( " main" , " Print crop marks." ) },
122
122
123
123
{{" r" ," reverse" },
124
- QCoreApplication::translate ( " main" , " Print in reverse (mirror image)." ) }
124
+ QCoreApplication::translate ( " main" , " Print in reverse (mirror image)." ) },
125
+
126
+ {{" D" ," define" },
127
+ QCoreApplication::translate ( " main" , " Set user variable <var> to <value>" ),
128
+ QCoreApplication::translate ( " main" , " var>=<value" ) }
125
129
};
126
130
127
131
@@ -134,7 +138,23 @@ int main( int argc, char **argv )
134
138
QCoreApplication::translate ( " main" , " gLabels project file to print." ),
135
139
" file" );
136
140
parser.process ( app );
141
+
142
+ //
143
+ // Parse variable definitions from command line, if any
144
+ //
145
+ QMap<QString,QString> variableDefinitions;
137
146
147
+ for ( QString definition : parser.values (" define" ) )
148
+ {
149
+ QStringList parts = definition.split ( ' =' );
150
+ if ( parts.size () != 2 )
151
+ {
152
+ qWarning () << " Error: bad variable definition: " << definition;
153
+ return -1 ;
154
+ }
155
+
156
+ variableDefinitions[ parts[0 ] ] = parts[1 ];
157
+ }
138
158
139
159
//
140
160
// Initialize subsystems
@@ -152,6 +172,8 @@ int main( int argc, char **argv )
152
172
glabels::model::Model *model = glabels::model::XmlLabelParser::readFile ( filename );
153
173
if ( model )
154
174
{
175
+ model->variables ()->setVariables ( variableDefinitions );
176
+
155
177
QPrinter printer ( QPrinter::HighResolution );
156
178
printer.setColorMode ( QPrinter::Color );
157
179
if ( parser.isSet (" printer" ) )
0 commit comments