@@ -162,7 +162,7 @@ void QgsScaleBarPlugin::run()
162
162
switch (myUnits)
163
163
{
164
164
case 0 : myPluginGui->getSpinSize ()->setSuffix (tr (" metres/km" )); break ;
165
- case 1 : myPluginGui->getSpinSize ()->setSuffix (tr (" feet" )); break ;
165
+ case 1 : myPluginGui->getSpinSize ()->setSuffix (tr (" feet/miles " )); break ;
166
166
case 2 : myPluginGui->getSpinSize ()->setSuffix (tr (" degrees" )); break ;
167
167
default : std::cout << " Error: not picked up map units - actual value = " << myUnits << std::endl;
168
168
};
@@ -237,42 +237,61 @@ void QgsScaleBarPlugin::renderScaleBar(QPainter * theQPainter)
237
237
QString myScaleBarUnitLabel;
238
238
switch (myMapUnits)
239
239
{
240
- case QGis::METERS:
241
- if (myActualSize > 1000.0 )
242
- {
243
- myScaleBarUnitLabel=tr (" km" );
244
- myActualSize = myActualSize/1000 ;
245
- }
246
- else if (myActualSize < 0.01 )
247
- {
248
- myScaleBarUnitLabel=tr (" mm" );
249
- myActualSize = myActualSize*1000 ;
250
- }
251
- else if (myActualSize < 0.1 )
252
- {
253
- myScaleBarUnitLabel=tr (" cm" );
254
- myActualSize = myActualSize*100 ;
255
- }
256
- else
257
- myScaleBarUnitLabel=tr (" m" );
258
- break ;
259
- case QGis::FEET:
260
- if (myActualSize == 1.0 )
261
- myScaleBarUnitLabel=tr (" foot" );
262
- else
263
- myScaleBarUnitLabel=tr (" feet" );
264
- break ;
265
- case QGis::DEGREES:
266
- if (myActualSize == 1.0 )
267
- myScaleBarUnitLabel=tr (" degree" );
268
- else
269
- myScaleBarUnitLabel=tr (" degrees" );
270
- break ;
271
- case QGis::UNKNOWN:
272
- myScaleBarUnitLabel=tr (" unknown" );
273
- default :
274
- std::cout << " Error: not picked up map units - actual value = "
275
- << myMapUnits << std::endl;
240
+ case QGis::METERS:
241
+ if (myActualSize > 1000.0 )
242
+ {
243
+ myScaleBarUnitLabel=tr (" km" );
244
+ myActualSize = myActualSize/1000 ;
245
+ }
246
+ else if (myActualSize < 0.01 )
247
+ {
248
+ myScaleBarUnitLabel=tr (" mm" );
249
+ myActualSize = myActualSize*1000 ;
250
+ }
251
+ else if (myActualSize < 0.1 )
252
+ {
253
+ myScaleBarUnitLabel=tr (" cm" );
254
+ myActualSize = myActualSize*100 ;
255
+ }
256
+ else
257
+ myScaleBarUnitLabel=tr (" m" );
258
+ break ;
259
+ case QGis::FEET:
260
+ if (myActualSize > 5280.0 ) // 5280 feet to the mile
261
+ {
262
+ myScaleBarUnitLabel=tr (" miles" );
263
+ myActualSize = myActualSize/5280 ;
264
+ }
265
+ else if (myActualSize == 5280.0 ) // 5280 feet to the mile
266
+ {
267
+ myScaleBarUnitLabel=tr (" mile" );
268
+ myActualSize = myActualSize/5280 ;
269
+ }
270
+ else if (myActualSize < 1 )
271
+ {
272
+ myScaleBarUnitLabel=tr (" inches" );
273
+ myActualSize = myActualSize*12 ;
274
+ }
275
+ else if (myActualSize == 1.0 )
276
+ {
277
+ myScaleBarUnitLabel=tr (" foot" );
278
+ }
279
+ else
280
+ {
281
+ myScaleBarUnitLabel=tr (" feet" );
282
+ }
283
+ break ;
284
+ case QGis::DEGREES:
285
+ if (myActualSize == 1.0 )
286
+ myScaleBarUnitLabel=tr (" degree" );
287
+ else
288
+ myScaleBarUnitLabel=tr (" degrees" );
289
+ break ;
290
+ case QGis::UNKNOWN:
291
+ myScaleBarUnitLabel=tr (" unknown" );
292
+ default :
293
+ std::cout << " Error: not picked up map units - actual value = "
294
+ << myMapUnits << std::endl;
276
295
};
277
296
278
297
// Set font and calculate width of unit label
0 commit comments