46878 Commits

Author SHA1 Message Date
Martin Dobias
2aabad96e7 Fixes after Nyall's review + doxygen fixes 2018-04-07 12:58:02 +02:00
Martin Dobias
3ccb6c3336 Fix spelling and doxygen doc 2018-04-07 12:58:02 +02:00
Martin Dobias
d1464a0030 Update postgres project storage unit test 2018-04-07 12:58:02 +02:00
Martin Dobias
4281140c8e Handle the situation that the project was changed in meanwhile
Was working for files, now working for projects in postgres as well
2018-04-07 12:58:02 +02:00
Martin Dobias
2bbdc34334 Deprecate QgsProject::fileInfo() 2018-04-07 12:58:02 +02:00
Martin Dobias
3c3de3f7d8 Recent projects work now for postgres projects 2018-04-07 12:58:02 +02:00
Martin Dobias
15f7ec7854 Add abstraction of project's absolute file path, base name, last modified 2018-04-07 12:58:02 +02:00
Martin Dobias
47d5b7fc11 Handle ssl mode, service, authcfg in postgresql project URIs 2018-04-07 12:58:02 +02:00
Martin Dobias
2e847e2e96 Support for project items in browser for PostgreSQL
Switched from using URLs in mime data to URI list for drag-n-drop of projects
so that they are handled in the same way as the other browser items.
2018-04-07 12:58:02 +02:00
Martin Dobias
fe686d316a Added removal of projects 2018-04-07 12:58:02 +02:00
Martin Dobias
0c701fb147 GUI implementation to load/save projects in PostgreSQL 2018-04-07 12:58:02 +02:00
Martin Dobias
ab83455d83 Store last modified time in project storage + retrieve it 2018-04-07 12:58:02 +02:00
Martin Dobias
0f5ea535cb Implement project storage for PostgreSQL + tests of the storage 2018-04-07 12:58:02 +02:00
Martin Dobias
5963028caf Extend project storage interface: remove/rename projects, GUI support 2018-04-07 12:58:01 +02:00
Martin Dobias
a30646f1cb Introduced QgsProjectStorage and QgsProjectStorageRegistry
This is going to be used as an abstraction of how/where project
files are stored.
2018-04-07 12:58:01 +02:00
Martin Dobias
ce72536bcc Fix a crash in the puzzle when not properly initialized 2018-04-06 19:06:35 +02:00
Blottiere Paul
1a515c923d
Merge pull request #6717 from pblottiere/remove_qgd
Do not save .qgd file alongside .qgs when it's not used
2018-04-06 13:50:15 +01:00
Blottiere Paul
5014d95d6e
Merge pull request #6450 from tudorbarascu/filter_test
add GetMap FILTER test with multiple filters
2018-04-06 11:07:17 +01:00
Salvatore Larosa
747955ae47
Merge pull request #6721 from slarosa/zoom_selected_cm
[needs-docs] add zoom to selection action to contextual menu of the layer
2018-04-06 12:01:33 +02:00
Blottiere Paul
ff1bc0b8f7 Add unit tests 2018-04-06 11:00:08 +01:00
Blottiere Paul
c47a6457b8 Do not save .qgd file alongside .qgs when it's not used 2018-04-06 11:00:08 +01:00
Nyall Dawson
62ba263f38 Optimise args 2018-04-06 17:53:01 +10:00
Nyall Dawson
0f1c8df941 Utilise expression context cache to store some more expensive
expression calculation results
2018-04-06 17:53:01 +10:00
Nyall Dawson
222977f23b Add unit tests for loading projects with custom layer order
Refs #18620
2018-04-06 15:55:40 +10:00
Nyall Dawson
1942854166 [processing] Port Explode Lines to c++
Aside from the performance benefits, the Python version of this
algorithm occasionally fails on Travis with odd errors. Hopefully
by porting to c++ it will fix these, or at least give useful
debug information in the event of a fail.

Also add support for curved input geometries.
2018-04-06 15:34:52 +10:00
Nyall Dawson
fa051d5f2d Add qgis::overload method for new-style Qt connects
Used for new-style Qt connects to overloaded signals,
avoiding the usual horrible connect syntax required in
these circumstances.

Example usage:

connect( mSpinBox, qgis::overload< int >::of( &QSpinBox::valueChanged ),
    this, &MyClass::mySlot );

This is an alternative to qOverload, which was implemented in Qt 5.7.

See https://stackoverflow.com/a/16795664/1861260
2018-04-06 12:45:52 +10:00
Nyall Dawson
ebab649438 Fix some locator filters show results when no string is entered
and filter prefix is not used
2018-04-06 12:44:56 +10:00
Nyall Dawson
ccb72ebce2 [processing] Fixes for Service Area algorithms
- Output interpolated points when travel cost falls mid-way along
an edge
- Output all intermediate reachable points also
- Make outputting upper/lower bound points optional, and non-default.
Now by default we just output all definitely reachable points and
the interpolated points along edges which correspond to the travel cost.
This allows the output to be used to correctly generate service areas
e.g. by concave/convex polygons and all reachable nodes will be
included in the area.
- Allow algorithm to optionally output a line layer (and make the
point layer optional too, and default to just the line layer output)
containing all reachable line segments (including interpolated
segments of lines when the travel cost sits midway along that
edge). This output is more easily understandably for users.
2018-04-06 12:43:52 +10:00
Nyall Dawson
2e7455c180 Add some geometry utils for interpolating points on lines 2018-04-06 12:43:52 +10:00
Nyall Dawson
78a6118ba4 [processing] Fix broken Densify by Interval algorithm, add test
Fix #18640
2018-04-06 11:50:23 +10:00
Nyall Dawson
6a925f9e87 Don't set cleared data defined properties to NULL in expression editor
Fixes #18638
2018-04-06 11:40:28 +10:00
Nyall Dawson
3c08e2d96f [layouts] Fix data defined buttons do not update when clicking
between items of same type

Fixes #18637, #18639
2018-04-06 11:31:18 +10:00
Nyall Dawson
3b8d8434af [locator] Set correct parent for filter configuration widgets 2018-04-06 10:57:39 +10:00
Nyall Dawson
25a9929dea Fix Coverity uninitialized member warning 2018-04-06 09:41:10 +10:00
Nyall Dawson
0ef9c729c0 Fix Coverity unreachable code warning 2018-04-06 09:41:01 +10:00
Salvatore Larosa
bcf9a97c4a fix tab index in project properties when clicking on crs toolbutton from statusbar 2018-04-05 16:55:48 +02:00
Alessandro Pasotti
16e18ba623
Merge pull request #6751 from elpaso/bugfix-18620-layer-custom-order
[bugfix] Layer rendering order broken in QGIS 3x
2018-04-05 12:08:22 +02:00
Alessandro Pasotti
958cb3dd15 [bugfix] Layer rendering order broken in QGIS 3x
Fixes #18620
2018-04-05 11:41:50 +02:00
Martin Dobias
63130d410d Another piece of random useless code in QGIS. Happy April 1st!
Type "bored" into the coordinates box (best results with a map loaded in canvas)

Click on tiles to move them to the empty space.
Click on the empty tile to toggle tile numbers.
2018-04-05 10:13:58 +02:00
MieWinstrup
7d65ee9fa4 Added tests for moving group to the top 2018-04-05 11:49:11 +10:00
MieWinstrup
44df14d941 Add test for move to top action 2018-04-05 11:49:11 +10:00
MieWinstrup
b57a154b4d Changed itemorder in menu to match the changes in #6665 2018-04-05 11:49:11 +10:00
MieWinstrup
40abe1430f Replaced deprecated Q_FOREACH with for loop 2018-04-05 11:49:11 +10:00
MieWinstrup
98621d7cd0 Added documentationstrings to new methods 2018-04-05 11:49:11 +10:00
MieWinstrup
924e2ec854 [FEATURE][Needs-docs] Move layer or group to top of layer panel
A feature that moves the layer(s) or group(s) to the top of the layer panel.
2018-04-05 11:49:11 +10:00
Nyall Dawson
cae5f81ed1 Add missing expression help 2018-04-05 06:35:13 +10:00
Nyall Dawson
f9783ea560 [FEATURE] Add flip_coordinates expression function
Returns a copy of the geometry with the x and y coordinates
swapped. Useful for repairing geometries which have had their
latitude and longitude values reversed.
2018-04-05 06:35:13 +10:00
Nyall Dawson
8aa9a82d28 [FEATURE][processing] Add algorithm to swap x/y coordinate values
This algorithm swaps the X and Y coordinate values in input
geometries. It can be used to repair geometries which have
accidentally had their latitude and longitude values reversed.
2018-04-05 06:35:13 +10:00
Nyall Dawson
63c5e74946 Fix clazy pass small and trivially copyable object by value warnings 2018-04-05 06:35:13 +10:00
Nyall Dawson
8cc715389e Fix warnings 2018-04-05 06:35:13 +10:00