14460 Commits

Author SHA1 Message Date
Alessandro Pasotti
4d609ff46f
Merge pull request #8830 from elpaso/bugfix-server-fcgi-rewritten-uri
[server] Use REQUEST_URI as default URL for FCGI requests
2019-01-11 15:58:26 +01:00
Nyall Dawson
e569331abb Disable linked color buttons when a project color is set for a property 2019-01-11 22:34:34 +10:00
Nyall Dawson
eecfe50dc5 [FEATURE] Show Project Colors in color bound data defined buttons
This adds a new "Project Colors" section in data defined buttons
which are linked to a color value. The color menu contains all
colors defined as part of the current project's Project Color
Scheme (which is defined through project properties).

When a project color is selected from the button, the property
becomes linked to that color. It will automatically follow any
future changes to the color when made through project properties.

This allows users to define common colors for a project once,
and then "bind" symbol, label, layout, etc colors to these
preset colors. The link is live, so you change it once, and
the change is reflected EVERYWHERE. Sure beats updating a color
100 times when it's use has been scattered throughout a project's
symbols, labels, etc...

(Basically, this is just adding a shortcut to setting a data
defined expression "project_color(...)" for the property. The
project_color function has been around a LOOONG time, but it's
only really been usable by power users before this change)
2019-01-11 22:34:34 +10:00
Nyall Dawson
79d01a9b94 Move QgsColorButton::createMenuIcon to public API, make static 2019-01-11 22:34:34 +10:00
Nyall Dawson
938adb8c17 [api] Add PyQGIS helpers to QgsGeometry.asMultiPoint(), asMultiPolyline()
and asMultiPolygon()

- raise ValueError when these methods are called with null geometries
- raise TypeError when these methods are called with incompatible
geometry types, instead of silently returning empty lists
2019-01-11 21:31:14 +10:00
Nyall Dawson
9d4b80e2f1 Refine multiline selection behaviour in editors 2019-01-11 10:15:51 +10:00
Nyall Dawson
fdfe0cee23 [api][needs-docs] Allow registering PyQGIS using a nice decorator syntax
This allows nice and simple, elegant construction of checks for
Python.

To use, Python based checks should use the decorator syntax:

  from qgis.core import check

  @check.register(type=QgsAbstractValidityCheck.TypeLayoutCheck)
  def my_layout_check(context, feedback):
    results = ...
    return results

Or, a more complete example. This one throws a warning when attempting
to export a layout with a map item set to the Web Mercator projection:

  @check.register(type=QgsAbstractValidityCheck.TypeLayoutCheck)
  def layout_map_crs_choice_check(context, feedback):
    layout = context.layout
    results = []
    for i in layout.items():
      if isinstance(i, QgsLayoutItemMap) and i.crs().authid() == 'EPSG:3857':
        res = QgsValidityCheckResult()
        res.type = QgsValidityCheckResult.Warning
        res.title='Map projection is misleading'
        res.detailedDescription='The projection for the map item {} is set to <i>Web Mercator (EPSG:3857)</i> which misrepresents areas and shapes. Consider using an appropriate local projection instead.'.format(i.displayName())
        results.append(res)

    return results
2019-01-11 09:51:04 +10:00
Nyall Dawson
b80829ce59 Remove leftover QObject inheritance 2019-01-11 09:51:04 +10:00
Matthias Kuhn
fd00cd54fe
Merge pull request #8705 from arnaud-morvan/server_diagrams_filter
Apply featureFilterProvider in QgsVectorLayerDiagramProvider
2019-01-10 18:02:36 +01:00
Alessandro Pasotti
cd763bccf2 Update override comment with a full explanation of what it does
Also checks for original url emptiness before returning it.
2019-01-10 10:58:27 +01:00
Nyall Dawson
32126ca2b8 Add missing since annotation 2019-01-10 19:54:26 +10:00
Nyall Dawson
5c2b39438b Dox++ 2019-01-10 19:54:26 +10:00
Nyall Dawson
c7d09a3261 Fix typo 2019-01-10 19:54:26 +10:00
Nyall Dawson
2a2995aad4 Sipify 2019-01-10 19:54:26 +10:00
Alex
f0ffbeb7be change bindings again 2019-01-10 19:54:26 +10:00
Alex
12273fa83a Change bindings
Manually inserting the proper binding
2019-01-10 19:54:26 +10:00
Matthias Kuhn
c263750930
Merge pull request #8820 from m-kuhn/map_layer_template
QgsProject::mapLayer<Qgs[Type]Layer *>( layerId ); template
2019-01-10 08:06:52 +01:00
Blottiere Paul
fcc3996ddf Remove unnecessary #include in server 2019-01-10 07:50:02 +10:00
Alessandro Pasotti
00ec08a8aa Rewritten function comment 2019-01-09 18:46:32 +01:00
Alessandro Pasotti
bb9ec39fa6 [server] Fix URL rewrite from fcgi servers
The URL exposed in the XML documents generated
by the server was wrong because instead of
using the original URL (from REQUEST_URI)
the rewritten query string (from QUERY_STRING)
was applied to the internal mUrl variable.

This patch also adds some tests for the
FCGI request, that handle most common
scenarios with bot rewritten and not
rewritten URLs.

QgsFcgiServerRequest is now exposed to
Python mainly for testability purposes.
2019-01-09 18:46:32 +01:00
Matthias Kuhn
e32c739b47
Make use of QgsProject::mapLayer<QgsVectorLayer *> template 2019-01-09 16:25:45 +01:00
arnaud.morvan@camptocamp.com
948048cd4d Do not overwrite renderContext in QgsMapRendererJob::drawLabeling
Dedicated QgsRenderContext is already created and configured in prepareLabelingJob.
2019-01-09 15:08:37 +01:00
Nyall Dawson
eaad71e0c9 Tweak API
Better to use QVector here, because the QgsLineString/QgsGeometry
methods all use QVector too, and we want to avoid unnecessary
list->vector conversions.
2019-01-08 19:48:15 +10:00
Matthias Kuhn
5df5c3763e
Merge pull request #8507 from signedav/basicfix
Delete selected tables as DataItem action
2019-01-08 10:42:03 +01:00
signedav
37eec198a8 put message in log instead of message box 2019-01-08 10:15:53 +01:00
Nyall Dawson
13ac907198 latitudeGeodesicCrossesDateLine also returns fraction of segment
along which the crossing occurs
2019-01-08 12:32:50 +10:00
Nyall Dawson
adc5c17456 Expose method for calculating latitude geodesic crosses date line to public QgsDistanceArea API 2019-01-08 12:32:50 +10:00
Nyall Dawson
ebd104466e Add method to retrieve destination CRS from QgsDistanceArea 2019-01-08 12:32:50 +10:00
Nyall Dawson
fdea61a97c Add method to calculate the geodesic line joining two points to QgsDistanceArea
Using geographiclib to calculate the line
2019-01-08 12:32:50 +10:00
Nyall Dawson
63204cfdb5 Fix travis 2019-01-08 11:10:40 +10:00
Nyall Dawson
224df0a273 Add missing documentation for QgsCategorizedRenderer 2019-01-08 11:10:40 +10:00
Nyall Dawson
d32714c899 [API] Allow categorized renderer category values to be lists of values
When a category is a list of values, that category will apply to
any of the values from the list
2019-01-08 11:10:40 +10:00
Nyall Dawson
74b96ce955 Dox++ 2019-01-08 11:10:40 +10:00
Juernjakob Dugge
c09b379fc7 Rename member variables, remove "forceCartesian" arguments 2019-01-08 09:36:33 +10:00
Juernjakob Dugge
bf5a077e33 Fix typos 2019-01-08 09:36:33 +10:00
Juernjakob Dugge
3e05c99c11 Add centimeter and millimeter based units to Project Properties and Map Tools Options
Fix the "map units" option in distance measurements when using geographic coordinate systems
2019-01-08 09:36:33 +10:00
Matthias Kuhn
0cc809b76f
Merge pull request #8804 from m-kuhn/geometry_check_dox
Improved API documentation for geometry checks
2019-01-07 16:54:16 +01:00
Juergen E. Fischer
b6293f23c8 osgeo4w: run python scripts with python3 (fixes #20870) 2019-01-07 15:41:11 +01:00
Matthias Kuhn
6d38a0ed66
Improved API documentation for geometry checks 2019-01-07 15:38:18 +01:00
Luigi Pirelli
83c6a2c49b
Merge pull request #8444 from NaturalGIS/reenable_grass_r_mapcalculator
add GRASS r.mapcalculator, remove r.mapcalc
2019-01-07 13:38:49 +01:00
Giovanni Manghi
a57fec8714 fix module description file 2019-01-07 10:43:50 +00:00
Giovanni Manghi
10d479929c fix the module name 2019-01-07 10:14:40 +00:00
Giovanni Manghi
9f3c313830 add missed file 2019-01-07 09:56:59 +00:00
Giovanni Manghi
667a86b075 change the name of the module to match the new name in GRASS 7.4.4 2019-01-07 09:54:27 +00:00
mhugent
54a5fae0b7
Merge pull request #8781 from mhugent/get_atlas_print
[server][needs-docs] Get atlas print
2019-01-07 10:42:23 +01:00
Nyall Dawson
efd54f862f [processing][SAGA] Resync Fill Sinks descriptions, add tests
Refs #20051
2019-01-07 09:55:46 +10:00
Nyall Dawson
45f8b863db [processing][SAGA] Resync parameters for resample tool
And add tests

Fixes #20882
2019-01-07 09:55:46 +10:00
Marco Hugentobler
4e29558808 Add doc for new function 2019-01-05 15:19:56 +01:00
Marco Hugentobler
2e7bf12ee1 Possibility to restrict number of atlas features (default: 1) 2019-01-05 15:19:55 +01:00
Corentin Falcone
ed9c9b33af Add comment option on db_manager pluging postgis tables (#8734) [FEATURE]
Add possibility to create a comment on a postgres table when import or using the alter table button from db_manager.
2019-01-05 12:02:02 +01:00