45103 Commits

Author SHA1 Message Date
Nyall Dawson
be7dae7d52 Expand exporter tests 2018-01-05 11:15:04 +10:00
Nyall Dawson
8de8bb387f Try (and fail) to avoid a qApp->processEvents() call
I just can't find any other reliable way to wait until javascript
execution in a web page has completed.
2018-01-05 11:15:03 +10:00
Nyall Dawson
88a839061d Restore more unit tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
ec67ddfc0e Restore more atlas tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
3d03128e4a Restore some more atlas related tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
1b932319a2 Fix some layout expression context handling, restore some tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
327d311e21 Fix broken atlas handling of z/m layer types 2018-01-05 11:15:03 +10:00
Nyall Dawson
70e7185cb5 Force a refresh after disabling view updates 2018-01-05 11:15:03 +10:00
Nyall Dawson
7d8953f1da Restore atlas multiple pdf exports 2018-01-05 11:15:03 +10:00
Nyall Dawson
427da5c081 Restore atlas single file pdf export 2018-01-05 11:15:03 +10:00
Nyall Dawson
9751c77063 Restore svg atlas export 2018-01-05 11:15:03 +10:00
Nyall Dawson
409d10f43d Restore atlas raster format handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
5a782f4880 Hookup raster atlas export in gui 2018-01-05 11:15:03 +10:00
Nyall Dawson
d81bf5d95a Add api to export layout atlas as images 2018-01-05 11:15:03 +10:00
Nyall Dawson
b6f1425828 Flesh out QgsAbstractLayoutIterator interface 2018-01-05 11:15:03 +10:00
Nyall Dawson
e312d02c2b Tighten QgsAbstractLayoutIterator interface 2018-01-05 11:15:03 +10:00
Nyall Dawson
69ddc32d0f Restore atlas map handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
3ffdda3e30 Port predefined scale handling to layouts 2018-01-05 11:15:03 +10:00
Nyall Dawson
7c086beb92 Fix some map item todos 2018-01-05 11:15:03 +10:00
Nyall Dawson
49eaebbf40 Remove outdated icon support for item metadata
Now handled in QgsLayoutItem directly
2018-01-05 11:15:03 +10:00
Nyall Dawson
aafe1cc477 Fix some untranslatable strings 2018-01-05 11:15:03 +10:00
Nyall Dawson
5160ad942f Remove some outdated todos 2018-01-05 11:15:03 +10:00
Nyall Dawson
3994c4a476 Restore legend atlas behavior 2018-01-05 11:15:03 +10:00
Nyall Dawson
2ef3a5f199 Port current geometry from atlas to layouts 2018-01-05 11:15:03 +10:00
Nyall Dawson
92003c8797 Code shuffle, to make QgsLayoutContext aware of parent QgsLayout 2018-01-05 11:15:03 +10:00
Nyall Dawson
4a7813b953 Restore picture atlas handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
fee1c211a6 Restore HTML item atlas functionality 2018-01-05 11:15:03 +10:00
Nyall Dawson
8072d4d357 Restore some more atlas style related UI 2018-01-05 11:15:03 +10:00
Nyall Dawson
6506bcda20 Restore some more atlas handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
a5ab4e16e4 Restore shape atlas handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
e72e20b8e0 Restore attribute table atlas handling 2018-01-05 11:15:03 +10:00
Nyall Dawson
b602b3d58e Working label updates on atlas feature change 2018-01-05 11:15:03 +10:00
Nyall Dawson
5d1d25b36b Add atlas expression context scope to layouts 2018-01-05 11:15:03 +10:00
Nyall Dawson
3318bfbb4d Restore atlas based autogenerated filenames 2018-01-05 11:15:03 +10:00
Nyall Dawson
60a28e32b7 Add some unit tests 2018-01-05 11:15:03 +10:00
Nyall Dawson
171f402ab0 Use messagebar for atlas messages instead of message box 2018-01-05 11:15:03 +10:00
Nyall Dawson
b7596970bc Remove outdated TODO 2018-01-05 11:15:03 +10:00
Nyall Dawson
108c9548a7 Atlas sort can be an expression 2018-01-05 11:15:03 +10:00
Nyall Dawson
520c2aab19 More work on atlas GUI 2018-01-05 11:15:03 +10:00
Nyall Dawson
e169c219b3 Work on modernizing atlas 2018-01-05 11:15:03 +10:00
Nyall Dawson
d62bc35f64 Undo/redo for atlas settings changes 2018-01-05 11:15:03 +10:00
Nyall Dawson
25170da03f Start porting atlas GUI 2018-01-05 11:15:03 +10:00
Nyall Dawson
f86c2988bb Serialize atlas settings 2018-01-05 11:15:03 +10:00
Nyall Dawson
83af35275e The layouts currently stored with a project are QgsPrintLayouts
In future other layout types will be stored in projects, but
for now we only have print layouts
2018-01-05 11:15:03 +10:00
Nyall Dawson
e6a6db89a1 Add QgsLayout subclass, QgsPrintLayout
A print layout is a layout with an atlas
2018-01-05 11:15:03 +10:00
Nyall Dawson
bd7784cd00 Start working on restoring atlas 2018-01-05 11:15:03 +10:00
Denis Rouzaud
d8cc285fd2 fix NULL constraint on date/time widget with allow NULL
the issue was that widget wrapper was using parent QDateTimeEdit::dateTimeChanged signal. It was connected both internally to QgsDateTimeEdit::changed and in the form to detect changes. When QgsAttributeForm was recreating the updated feature it was calling QgsDateTimeEdit::value() before changed() could update the value (i.e. setting mIsNull to false).

fix #17790
2018-01-04 20:38:51 -04:00
Nyall Dawson
164c439af9 Add missing docs 2018-01-05 10:03:52 +10:00
Nyall Dawson
b54cc36ba0 Swap some geometry equality checks to topological checks 2018-01-05 10:00:53 +10:00
Nyall Dawson
2d43dac0b5 Refine behavior of QgsGeometry equals tests
Before we had two checks - equals() and isGeosEqual() which
performed the exact same check (since equals() called the geos
equality test)

Since the geos equality test is a slow, topological test, which
considers two geometries equal if their component edges overlap,
but disregards ordering of vertices this is not always what we
want. There's also the issue that geos cannot consider m values
when testing the geometries, so two geometries with different
m values would be reported equal.

So, now calling QgsGeometry::equals performs a very fast, strict
equality test where geometries are only equal if the have exactly
the same vertices, type, and order.

And swap most code which was calling the slow geos test to instead
use the fast strict native test.
2018-01-05 09:59:22 +10:00