4161 Commits

Author SHA1 Message Date
Nyall Dawson
f2b2c6d2fd Use fabs/abs/labs instead of qAbs
Better to stick to standard methods where available instead
of less supported Qt methods
2017-08-25 02:35:27 +10:00
Nyall Dawson
4b009f96ec Use std::round instead of qRound
Now that our minimum VS studio version allowed supports std::round,
we should use that in place of Qt's qRound method.

Because:
- it doesn't truncate to int, resulting in unpredictable
behaviour (refs #16925)
- better to stick to standard c++ methods wherever possible,
since they're likely better supported and optimised by the
compilers
- it's a tiny reduction to the barrier for entry to QGIS
development (I'm sick of pointing out the need to use
qRound during PR reviews!)
2017-08-25 02:35:27 +10:00
Etienne Trimaille
c606abc702 enable custom help in python expressions 2017-08-23 12:00:57 +02:00
Nyall Dawson
cb70aad7a3 Fix restricting model algorithm input types to valid types for alg (refs #17030) 2017-08-23 17:34:08 +10:00
Matthias Kuhn
b8d2a17476 Port symbols test from ebf20a5 2017-08-21 23:27:34 +02:00
Nyall Dawson
d2a90f40e3 Fix conversion of direct vector layer parameters to python strings 2017-08-20 18:21:02 +10:00
Nyall Dawson
1cded8553a Merge pull request #5042 from nyalldawson/algs
Port some more algs to new API
2017-08-19 05:38:45 +10:00
Nyall Dawson
ebda2fd212 Rename some enum values for clarity 2017-08-19 02:46:22 +10:00
Even Rouault
5481177699 [OGR provider] Avoid 'database locked' issues when editing several layers of the same GeoPackage (fixes #17034) 2017-08-18 17:58:00 +02:00
Nyall Dawson
f1ac0be867 Fix processing setting to use filename as layer name 2017-08-19 00:56:18 +10:00
Nyall Dawson
7879c0a20b Fix processing rendering styles for output dialog, functionality 2017-08-19 00:47:21 +10:00
Hugo Mercier
18c1597110 Merge pull request #5043 from pblottiere/bugfix_refrel
Fixes relation reference widget by refreshing filter lists. Fixes #16400
2017-08-18 16:38:59 +02:00
Blottiere Paul
a2914ff66c Add unit tests 2017-08-18 07:42:39 +01:00
Nyall Dawson
9bfca65ac3 Add API to enable/disable preview jobs
Disabled by default, and enabled only for main canvas (not
secondary canvases)
2017-08-18 00:04:07 +10:00
Nyall Dawson
e4dab7c5c7 Fix intermittently failing QgsGeometry asGML tests 2017-08-17 17:53:36 +10:00
Nyall Dawson
43536a66e3 Return subclasses where possible to fix build on older compilers 2017-08-17 16:43:13 +10:00
Nyall Dawson
d81a1a3b5f Return std::unique_ptrs where possible
When a class isn't exposed to Python, we should return a
std::unique_ptr whenever a returned pointer value is owned
by the caller.
2017-08-17 16:28:18 +10:00
Nyall Dawson
5abbab1a11 Merge pull request #4993 from nyalldawson/remove_analyzer
Remove QgsGeometryAnalyzer, QgsOverlayAnalyzer, QgsPointSample
2017-08-17 15:54:43 +10:00
Nyall Dawson
c54667c3b1 Handle mixed lists of values and lists when evaluating multilayer
parameters

This can happen when running models with mixed input types
for multilayer parameters
2017-08-17 05:00:47 +10:00
Nyall Dawson
e1b0f78619 Fix default layer sometimes inserted into multi layer parameter values 2017-08-17 04:38:36 +10:00
Etienne Trimaille
855f840fac always set a default name in the QGS project to avoid discrepancies with GetCapabilities 2017-08-16 18:39:23 +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
Denis Rouzaud
86e8da74cb
Return enum instead of int from QgsGeometry operations 2017-08-13 23:08:45 +02:00
Nyall Dawson
479106ad80 An empty string parameter should not fallback to default value
Since we need to allow empty strings to override defaults in
some circumstances
2017-08-14 04:56:24 +10:00
Nyall Dawson
5177972806 Improve conversion of processing parameters to Python code
- Use layer paths instead of layer ids where possible, since they are persistent
- Don't wrap in QgsProcessingFeatureSourceDefinition/QgsProcessingOutputLayerDefinition
if we can avoid it
2017-08-13 16:56:58 +10:00
arnaud.morvan@camptocamp.com
e34a593c65 [FEATURE] Add expression function array_agg 2017-08-12 10:18:21 +02:00
Jorge Gustavo Rocha
146c0c8c2d Prevent test_console.py to open the browser with help file
Fix link to documentation related with OGR connections
2017-08-10 23:45:06 +02:00
Nyall Dawson
0227bdc376 Remove QgsGeometryAnalyzer, QgsOverlayAnalyzer, QgsPointSample
These classes are unused in the master QGIS code, and are
unmaintained and with no unit tests or other QA, and
have inflexible API (e.g. always requiring writing outputs
to shapefiles)

They all have equivalent algorithms available via Processing
(where the algorithms are unit tested and maintained). We should
be pushing all QGIS api users to use the Processing algorithms
instead.
2017-08-11 04:48:11 +10:00
Juergen E. Fischer
03e0298f49 msvc warning fixes:
* use AUTORCC to avoid locked qrc_images.cpp during build of gui tests
* bump minimum version of cmake to 3.0.0 for AUTORCC
* suppress some warnings in sip bindings
* suppress unreachable warnings and some more
* split sip files in more parts to suppress warning BK4504
* also remove old WITH_INTERNAL_YAML from travis
2017-08-10 00:09:14 +02:00
Jorge Gustavo Rocha
925ba2ce5f Replace old QSettings with QgsSettings 2017-08-09 23:42:28 +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
Nyall Dawson
14546ec935 Fix unit test 2017-08-08 00:02:47 +10: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
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
0d0a3c2cdc Code refactor - split grid appearance settings into their own class 2017-08-07 19:34:28 +10:00