3570 Commits

Author SHA1 Message Date
lbartoletti
d1e40d9086 Merge branch 'master' of https://github.com/QGIS/QGIS into regularShape_gui 2017-08-17 09:25:56 +02:00
Juergen E. Fischer
e32589599a packaging updates after helpviewer removal (followup 55cdc89a1) 2017-08-17 07:58:10 +02:00
lbartoletti
9ae68e84bf Merge branch 'master' into regularShape_gui 2017-08-16 20:05:41 +02:00
Matthias Kuhn
55cdc89a11 Merge pull request #5004 from jgrocha/helpviewer
[needs-docs] Refactoring of all help calls, deprecating QgsContextHelp+Helpviewer
2017-08-16 18:30:59 +02:00
Matthias Kuhn
80e8ff04e0 Merge pull request #5014 from m-kuhn/enumgeomfunc
Return enum instead of int from QgsGeometry operations
2017-08-14 15:06:06 +02:00
arnaud.morvan@camptocamp.com
b3a9e46cfe [processing] Port refactor fields to new API 2017-08-14 13:48:50 +02:00
Matthias Kuhn
0683528d9a
More doxymentation 2017-08-14 10:52:43 +02:00
Matthias Kuhn
a70bfe6ff8
More doxymentation 2017-08-14 10:43:37 +02:00
Matthias Kuhn
8294c434c6
More doxymentation 2017-08-14 10:37:51 +02:00
Matthias Kuhn
a4dac6ace2
Define params as /Out/ 2017-08-14 08:58:59 +02:00
Denis Rouzaud
86e8da74cb
Return enum instead of int from QgsGeometry operations 2017-08-13 23:08:45 +02:00
Matthias Kuhn
b51a5f7b6f Simplify QgsGeometryEngine code 2017-08-13 20:19:32 +02:00
Matthias Kuhn
e3787effc6 Doxymentation 2017-08-13 20:19:32 +02:00
Matthias Kuhn
581b89e0ec Use pointers and not references to QgsAbstractGeometry
because using this more consistently throughout the codebase makes it
easier to maintain code.
We also do not want to call the copy constructor on them, using pointers
just makes this more obvious. Further, casting is also something
that's commonly done on pointers and not references.

And if you want a value or a reference, just use QgsGeometry, it's meant
to be handled like this.
2017-08-13 20:19:32 +02:00
Matthias Kuhn
d0f33d6d05
Expose makeValid() errors to QgsGeometry::error() 2017-08-13 12:18:55 +02:00
Matthias Kuhn
d9ad859a81
Fix misplaced SIP_TRANSFER 2017-08-13 10:28:42 +02:00
Matthias Kuhn
639d0640a9
NULL to nullptr 2017-08-12 19:26:20 +02:00
Matthias Kuhn
a6800d6a5a
Add qgsgeometry_cast
Because it
- is faster than dynamic_cast
- doesn't rely on RTTI
- encapsulates type checking in one place
2017-08-12 19:26:20 +02:00
arnaud.morvan@camptocamp.com
e34a593c65 [FEATURE] Add expression function array_agg 2017-08-12 10:18:21 +02:00
Jorge Gustavo Rocha
3a103b7c62 Refactoring of all help calls, deprecating QgsContextHelp and the former helviewer 2017-08-09 09:27:29 +02:00
Alessandro Pasotti
bcb48f2bdc Fixes two issues with the browser refresh
1. endless loop when a sqlite-based layer is opened, and
   wal+shm files are created. This triggers a loop because
   the directoryChanged signal is emitted again and again ...
   This was the real blocker.

2. when a new files appears in a directory
   the directoryChanged is emitted and OGR/GDAL may fail
   to open the file because the file copy was not yet
   finished.

This commit fixes 1 but the fix for 2 is only a best effort using
a 100 ms timer: I could not find a definitive solution to this issue,
a file could be legitimately opened in streaming mode and it will
always triggers an error, there is apparently no way to get
the QFileSystemWatcher emit a signal when new files are closed
flusehd and not when they are just created.
2017-08-09 08:59:17 +02:00
Alessandro Pasotti
1c3fadebbb Sip update for qgsproject 2017-08-09 08:59:17 +02:00
Alessandro Pasotti
61504e7073 Expose GeoPackage to the browser tree 2017-08-09 08:59:17 +02:00
Nyall Dawson
3fd2e0921d Fix ownership issue with layout guides 2017-08-07 22:31:44 +10:00
Nyall Dawson
94362fe218 Add signal when page is about to be deleted 2017-08-07 21:43:31 +10:00
Nyall Dawson
e453116101 [needs-docs] Refine snapping logic for layouts
Previously grids would always take precedence when both a grid
and guide were within tolerance of a point.

Now, guides will always take precedence - since they have been
manually set by users we make the assumption that they have
been explicitly placed at highly desirable snapping locations,
and should be selected over the general grid.

Additionally, grid snapping was previously only done if BOTH
x and y could be snapped to the grid. We now snap to the nearest
grid line for x/y separately. This means if a point is close
to a vertical grid line but not a horizontal one it will still
snap to that nearby vertical grid line.
2017-08-07 19:34:28 +10:00
Nyall Dawson
66875641a3 Hook up snap to guides menu option 2017-08-07 19:34:28 +10:00
Nyall Dawson
9267f8676c Readd menu option to show/hide guides 2017-08-07 19:34:28 +10:00
Nyall Dawson
98ff702491 [FEATURE] Add a button in guide manager to apply current page's guides
to all other pages

This allows resetting all other pages to use the guide configuration
for the current page. Since guides are now single page only (required
to handle mixed page size/orientation layouts), this is a shortcut
to allow guide configuration to be setup on a single page and then
easily transferred to all other pages in the layout.
2017-08-07 19:34:28 +10:00
Nyall Dawson
df3bcddab7 Hook up clearing guides 2017-08-07 19:34:28 +10:00
Nyall Dawson
da4382309e Allow deletion of guides by dragging outside of pages 2017-08-07 19:34:28 +10:00
Nyall Dawson
e06b0af91b Support dragging existing guides in rulers 2017-08-07 19:34:28 +10:00
Nyall Dawson
c6c9c6fabf Show guide positions in rulers 2017-08-07 19:34:28 +10:00
Nyall Dawson
ab726c4777 Add methods to determine visible pages in a view 2017-08-07 19:34:28 +10:00
Nyall Dawson
9458f1f934 Support deletion of guides through manager 2017-08-07 19:34:28 +10:00
Nyall Dawson
e718f92bd5 Better headers in guide view 2017-08-07 19:34:28 +10:00
Nyall Dawson
048a5b79b6 Nicer table view for guide editing 2017-08-07 19:34:28 +10:00
Nyall Dawson
886a1208ef Dropping guides outside of pages doesn't create new guides 2017-08-07 19:34:28 +10:00
Nyall Dawson
ef6727518d [FEATURE] Add a dock widget showing snap guides for current page
Allows creation of snap lines at specific locations, and
adjusting position of existing guides to exact coordinates
2017-08-07 19:34:28 +10:00
Nyall Dawson
f5126b0abd New class QgsLayoutGuideCollection for storing sets of layout snap guides
The class is a QAbstractListModel subclass, making it easy
for creation of different views showing the guides in a layout.

Additionally, a QSortFilterProxyModel (QgsLayoutGuideProxyModel)
has been created to filter QgsLayoutGuideCollection to guides
with matching page numbers and orientations.
2017-08-07 19:34:28 +10:00
Nyall Dawson
fa5eb4e5ad Refine QgsLayoutGuide API 2017-08-07 19:34:28 +10:00
Nyall Dawson
db36440cfc Start on classes for snapping guide items 2017-08-07 19:34:28 +10:00
Nyall Dawson
3dbc1a0c2a Refine z order for some new items 2017-08-07 19:34:28 +10:00
Nyall Dawson
0d0a3c2cdc Code refactor - split grid appearance settings into their own class 2017-08-07 19:34:28 +10:00
Nyall Dawson
d0dfec72cb Add actions to switch grid display/snapping on/off 2017-08-07 19:34:28 +10:00
Nyall Dawson
5be237fdd9 Add ability for QgsLayoutSnapper to snap to grid 2017-08-07 19:34:28 +10:00
Nyall Dawson
361dd312bc Start on layout snapper 2017-08-07 19:34:28 +10:00
Nyall Dawson
b42c055e97 Restore drawing of page grids 2017-08-07 19:34:28 +10:00
Nyall Dawson
4ab4a1fcad Spell check 'mitre' -> 'miter' (i.e. use en-us variation) 2017-08-07 18:08:57 +10:00
Nyall Dawson
7cebe7a343 Fix some grammar 2017-08-07 17:45:33 +10:00