Because
- OTF reprojection is mature and stable
- Should be no cost when not required - transforms are shortcut
when not required
- Reduces code complexity
- Canvas OTF support was being incorrectly used as a flag for
whether measurements should be made in ellipsoidal mode. Instead
the project's ellipsoid setting should be checked for this.
- Should simplify behavior for new users
From the clazy docs:
Finds places where QString::fooRef() should be used instead of
QString::foo(), to avoid temporary heap allocations
eg
str.mid(5).toInt(ok) // BAD
str.midRef(5).toInt(ok) // GOOD
- rename methods with XML to Xml, CRS to Crs, WMS to Wms, ID to Id
- rename methods with SRS to Crs
- rename methods with abbreviations like "dest" to "destination"
- rename methods with abbreviations like "src" to "source"
QString methods
Using single quotes is a significant performance boost. Rough
benchmarks indicate the QString single quote methods take
about 15% of the time the double quote variants take.
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
There are still a few leftovers from the Qt 3 to Qt 4 migration that can
be found by defining QT_NO_DEPRECATED. Here is a summary of the changes:
* QDir::convertSeparators was changed to QDir::toNativeSeparators with Qt 4
* QRexExp::numCaptures was changed to captureCount with Qt 4
* QTextIStream/QTextOStream was merged into QTextStream with Qt 4
* QFileDialog::selectFilter/filters was changed to
selectNameFilter/nameFilters with Qt 4.4
* qVariantCanConvert/qVariantValue was changed to canConvert/value with Qt
4
Note that if a conversion to Qt 5 will happen someday, this will have to
be done since Qt 5 removes these deprecations.