29976 Commits

Author SHA1 Message Date
Matthias Kuhn
88d6e0dfe0 Doxymentation 2015-12-08 15:49:01 +01:00
Matthias Kuhn
be01b7eec5 [FEATURE] Add N:M relation editing possibilities
This adds the possibility to manage data on a normalized relational
database in N:M relations. On the relation editor in a form, the tools
to add, delete, link and unlink work (also) on the linking table if a
relation is visualized as N:M relation.

Configuration is done through the fields tab where on the relation a
second relation can be chosen (if there is a suitable relation in terms
of a second relation on the linking table).

Limitations
===========

QGIS is not a database management system.

It is based on assumptions about the underlying database system. In
particular it expects

 * A `ON DELETE CASCADE` or similar measure on the second relation
 * Does not take care of setting the primary key when adding features.
   Either users need to be instructed to set them manually or - if it's a
   database derived value - the layers need to be in transaction mode
   (currently only activatable through the API)
2015-12-08 15:49:01 +01:00
Matthias Kuhn
4160097c2b Pass configuration to relation widget 2015-12-08 15:49:01 +01:00
Matthias Kuhn
8246d96015 Add GUI elements for N:M relation configuration 2015-12-08 15:49:01 +01:00
Matthias Kuhn
c56588ea0e Save feature form configuration in QgsEditFormConfig 2015-12-08 15:49:01 +01:00
Hugo Mercier
0f6256ebcd Merge pull request #2556 from mhugo/fix_nullp
Avoid insertion of null pointers in layer registry
2015-12-08 15:20:19 +01:00
Hugo Mercier
ec20db7ade Avoid insertion of null pointers in layer registry 2015-12-08 15:13:23 +01:00
Nyall Dawson
f13104be37 Fix doxygen warnings 2015-12-08 22:46:10 +11:00
Nyall Dawson
8cac36433d [FEATURE] Add support for transparency in SVG color params
...and update all bundled SVGs to suit

Non-bundled SVGs must add:

fill-opacity="param(fill-opacity)"
and
stroke-opacity="param(outline-opacity)"

to enable transparency support
2015-12-08 22:45:51 +11:00
nirvn
757cd7af85 [svg markers] allow setting alpha value for fill and outline colors 2015-12-08 22:45:42 +11:00
Nyall Dawson
ee720796a3 Change size()/count() == 0 and count() > 0 to isEmpty() checks
Because:
- easier to read
- follows recommendations by clazy/KDAB
- potentially performance benefits
2015-12-08 22:45:06 +11:00
Juergen E. Fischer
269f709285 [FEATURE] postgres provider: refine warning about estimated metadata (fixes #13947) 2015-12-08 11:05:49 +01:00
Jürgen Fischer
13cbd8f587 Merge pull request #2554 from vmora/order_pk_candidates
order postgres PK candidates by attnum
2015-12-08 10:51:58 +01:00
Juergen E. Fischer
91180501bc remove spitplugin from packaging (followup b39e6d1) 2015-12-08 09:50:12 +01:00
vmora
ab0736a1d8 order postgres PK candidates by attnum 2015-12-08 09:13:15 +01:00
Matthias Kuhn
4b3083d9a7 [FEATURE] Add translate expression function
Funded by
 * Regional Council of Picardy
 * ADUGA
 * Ville de Nyon
 * Wetu GIT cc
2015-12-08 08:49:05 +01:00
Matthias Kuhn
f961ecef46 [FEATURE] Add an eval expression
Funded by
 * Regional Council of Picardy
 * ADUGA
 * Ville de Nyon
 * Wetu GIT cc
2015-12-08 08:43:45 +01:00
rldhont
6035d98b4a Merge pull request #2517 from rldhont/raster_open_adf
Open adf raster file as a directory
2015-12-07 18:17:39 +01:00
Nyall Dawson
4f0b9dda79 Fix deprecated warnings on Travis 2015-12-07 23:24:05 +11:00
Nyall Dawson
08ab4d4b70 Ensure all classes derived from QObject include the Q_OBJECT macro 2015-12-07 22:10:45 +11:00
Alessandro Pasotti
6127851a09 Renamed test to test_RemoveLayerShouldNotSegFault 2015-12-07 12:07:03 +01:00
Nyall Dawson
9cc9d424ce Add extra check for deprecations to documentation test
This check tests that if a function has been declared deprecated
with either Q_DECL_DEPRECATED or has a @deprecated Doxygen note
then it MUST have both the Q_DECL_DEPRECATD and @deprecated note.

It's important that both are used, as Q_DECL_DEPRECATED allows
throwing a warning if that method is used in code, while the
@deprecated doxygen note gives an indication to devs/PyQGIS users
of why it's deprecated and what should be used instead.

Ideally we'd also test for SIP /Deprecated/ tags, but I can't
find any reliable way to do this.
2015-12-07 21:55:36 +11:00
Nyall Dawson
de1001b9f7 Fix SIP type handling for QgsColorScheme subclasses 2015-12-07 21:55:36 +11:00
Nyall Dawson
930b4850e0 Fix bad assert in TestQgsRectangle 2015-12-07 21:55:36 +11:00
Juergen E. Fischer
6bfde52dd6 osgeo4w: include PYTHONPATH in apache conf template 2015-12-07 10:19:42 +01:00
Juergen E. Fischer
c4ae8cdcd4 indentation test: handle removed files 2015-12-07 10:07:35 +01:00
Alexander Bruy
584771e907 fix missed import in the Processing alg 2015-12-07 10:12:21 +02:00
Nyall Dawson
6b15361bf1 Avoid warning on Travis build 2015-12-07 15:36:28 +11:00
Nathan Woodrow
b39e6d1760 Goodbye SPIT plugin 2015-12-07 11:46:21 +10:00
Juergen E. Fischer
9c340d7b4b [FEATURE] cache WMS capabililies 2015-12-06 23:58:13 +01:00
Juergen E. Fischer
bf79ecc779 doxygen: enable dot multimode 2015-12-06 22:26:18 +01:00
Juergen E. Fischer
245659f798 debian packaging update
* sync other branches
* avoid testing and installing twice
* manually merge PR#2524
2015-12-06 22:26:18 +01:00
Juergen E. Fischer
a2a10e9713 more precise fixes (followup be81716) 2015-12-06 22:26:18 +01:00
Nyall Dawson
91f7918e21 [FEATURE] Add a show/hide all context menu for layer tree symbol items
Allows toggling on/off all the symbol items for categorized/graduated/
rule based layers via the right click menu on an item. Previously
you'd have to manually toggle each item one-by-one.

Fix #13458
2015-12-07 07:39:20 +11:00
Juergen E. Fischer
dc73fb2a09 debian build: include stretch builds 2015-12-05 22:34:07 +01:00
Juergen E. Fischer
60b4f77126 indentation test: include autopep8 in tips (followup 0d5d3bc) 2015-12-05 21:35:59 +01:00
Juergen E. Fischer
3df5880f83 trim link list of application 2015-12-05 21:31:52 +01:00
Juergen E. Fischer
be817165d6 fix precise build 2015-12-05 21:31:13 +01:00
Alessandro Pasotti
3d311d6329 Merge pull request #2498 from elpaso/pythoninitcode
Refactored the python init function selector
2015-12-05 12:40:58 +01:00
elpaso
3ca5441076 Honour relative path setting 2015-12-05 10:04:41 +01:00
elpaso
bc489c947a Added error messages with QMessageBox
Errors on:
* init function not found
* init function with wrong parameters count
2015-12-05 09:45:10 +01:00
elpaso
5d144d4040 Added b/w compatibility for "dot" module/function
When loading a function init with a dot, this
is transformed to a proper import and the
python init configuration is changed to support
the new python loading system.

Also check for inspect errors.

Still missing: warn the user on configuration and
trapped runtime errors
2015-12-05 09:45:10 +01:00
elpaso
ab0f9a6c35 Hide file selector when not needed 2015-12-05 09:45:10 +01:00
elpaso
e5ca63deed Refactored the python init function selector
Do not rely on the presence of a dot to load
a module. Loading a module can now be achieved
through the code editor in the dialog.

* added an option to load from environment
* added a file selector to specify the file
* changed tooltips accordingly
2015-12-05 09:45:09 +01:00
Alessandro Pasotti
de3ce1560c Changed comment title 2015-12-05 09:43:20 +01:00
elpaso
5a7ee20fa9 Added test for QgsMapLayerRegistry
See: PR #2534
2015-12-05 09:33:12 +01:00
Juergen E. Fischer
0e82974a81 disable astyle on windows nightlies (followup 0d5d3bc) 2015-12-05 03:41:13 +01:00
Juergen E. Fischer
65ee1839a6 [FEATURE] oracle provider: initial expression compiler support 2015-12-05 02:51:36 +01:00
Juergen E. Fischer
5e4312b13c [FEATURE] oracle provider: add Feature limit support for feature requests (followup 3ece33f) 2015-12-05 00:46:45 +01:00
Nyall Dawson
edb16d0014 [FEATURE] Feature limit support for feature requests
Limits the maximum number of features returned by the iterator.
Some providers (postgres, spatialite, MS SQL) pass the limit on
to the provider to result in faster queries.
2015-12-05 10:24:42 +11:00