1557 Commits

Author SHA1 Message Date
Nyall Dawson
ffaafa6229 Rework QgsGeoNodeNewConnection to inherit from QgsNewHttpConnection
Avoids a lot of duplicate code.

Note that while this refactoring was done to allow WFS and WMS
settings to be simultaneously visible, I've removed the settings
from the GeoNode connection for now. Looking into this they were
being stored, but not used at all when loading the layers from
the GeoNode instance.
2017-09-13 05:47:53 +10:00
Nyall Dawson
35eea229aa Rework QgsNewHttpConnection layout so that both WFS and WMS settings
can be shown simultaneously
2017-09-13 05:47:53 +10:00
Nyall Dawson
6134950609 Use explicit flags to set behavior of QgsNewHttpConnection instead of key parsing 2017-09-13 05:47:53 +10:00
Nyall Dawson
29539e6712 Move remaining geonode classes from gui->app 2017-09-13 05:47:53 +10:00
Nyall Dawson
15f9241109 Add a bit more structure to provider source select ordering 2017-09-13 05:47:20 +10:00
Nyall Dawson
b89c16e3cf Move QgsGeoNodeSourceSelect to app 2017-09-13 05:47:20 +10:00
Nyall Dawson
239e353155 Allow QgsAbstractDataSourceWidget subclasses to add vector layers
with a specific provider key
2017-09-13 05:47:20 +10:00
Nyall Dawson
e51a0d4fac Minor code cleanup 2017-09-13 05:47:20 +10:00
Nyall Dawson
003bf3a76f QgsGeoNodeSourceSelect is a QgsAbstractDataSourceWidget 2017-09-13 05:47:20 +10:00
Muhammad Yarjuna Rohmat
bea89b32ca [FEATURE] QGIS - GeoNode Integration: Integrate with QGIS Browser Panel (#4816)
* add Geonode connection menu to the toolbar

* add header files for geonode-qgis client

* add action to launch geonode connection dialog from menubar

* Move to proper directory

* Add geonodeconnection class.

* Add unit test for geonode connection.

* Use const static to avoid typo.

* Get list layers from geonode.

* Add get maps method.

* Geonode connection dialog (#13)

* add new geonode connection dialog

* apply functionality to the geonode connection manager dialog

* add save and load geonode connection functionality

* edit baseKey and credentialBaseKey

* remove auto-connect slots

* Add unit test for geonode connection.

* Add wms url getter.

* Add uuid and layer name in the table.

* Add handler for the list layer clicked. WIP.

* Use new style connect, better hacky to get wms url.

* update gitignore

* Make QGIS able to add WMS layer from geonode. With hacky code.

* Fix Docstring.

* Show web service type (WMS/WFS) in layer table.

* fix http and toolbar menu

* add geonode data item to the browser panel as an extention of ows provider

* [WIP] Add WFS.

* Add geonode get service url.

* combobox functionality and test geonode connection

* Add WFS.

* Disable add button if it's a map. Currently we can't do anything for map.

* Add busy cursor when add layer.

* get service uri capabilitites

* add available layers to the geonode browser panel

* remove debugging footprint and replace old style connect

* add actions (new, edit, delete) to geonode browser panel

* fix getLayers by WMS url

* add Geonode connection menu to the toolbar

* Filter out invalid layer / map.

* Fix service url method.

* Add service url for XYZ for GeoNode QGIS Server backend.

* Add XYZ url to geonode connection  dialog.

* Add XYZ layer to QGIS.

* fix double geonode submenu

* add wfs/wms layers from browser panel using its native provider

* comply with qgis3 new class naming

* Handle different prefix for layer in GeoNode QGIS Server backend.

* base class for cms connection

* make geonode connection as a derived class from cms connection

* update cmakelists

* move geonode connection to geocms dir

* update CMakeLists

* Handle geonode 2.7 with new API.

* Handle multiple geoserver url in one geonode.

* Fix add xyz for qgis server. Fix add wms, wfs, xyz for geoserver in geonode 2.7

* Refactor serviceURL to return QStringList.

* add 'add geonode layer' icon

* add geonode to the data source manager dialog

* [GeoNode-Client] Fix add WFS layer.

* fix wms url parameter

* add xyz dataitems

* Use new style connect.

* [GeoNode Client] Handle qgis server specific typename to make add WFS works.

* Code improvement.

* [GeoNode Client] Make geonode dialog in add universal layer can add layer.

* Open universal add layer when click Add GeoNode layer.

* Make sure the geonode url has protocol.

* Handle geonode version in a better way.

* make sure the serviceUrl method has scheme in its urls

* add services option to the dialog

* remove version label if not wfs

* construct wms url with parameters for geonode connection

* handle layer from multi service urls for every wfs, wms, & xyz services

* fix new style connect using static_cast

* hode close button if dialog is in embedded mode

* fix xyz layer naming in the browser tree

* create base class for geocms dataitems

* fix compiling warning

* Use struct instead QVariantMap.

* tidy up code

* Tidy up code, use QgsStringMap instead QVariantMap.

* Add spellok for catalogue.

* update sip

* update sip

* Use naming convention for QgsGeoCmsConnection and use QUuid.

* Async by using GeoNodeRequest class.

* Move geonode to src/gui.

* Use stack not heap.

* Remove unused includes.

* Use signal to handle request.

* Use QStringLiteral.

* Switch to use Q_FOREACH.

* Use Q_FOREACH and addressing PR's review.

* Set private for data members.

* update sip

* Update sip.

* Update sip.

* Fix sip problem to make it buildable again.

* Remove geocms

* Tidy up code.

* Use QgsSetting Scope::Provider.

* Fix missing zip.h
2017-09-13 05:47:19 +10:00
Alessandro Pasotti
22bd2a35f8 Browser: removed redundant refresh signals 2017-09-12 15:01:45 +02:00
Alessandro Pasotti
3dba091b86 Share QgsBrowserModel among browser instances 2017-09-12 15:01:45 +02:00
Nyall Dawson
6166d21289 Add missing docs 2017-09-11 21:43:15 +10:00
Nyall Dawson
2a33844416 Pass by const ref where possible 2017-09-11 21:19:22 +10:00
Nyall Dawson
07e12e2832 Replace reimplemented default methods by = default
Using clang-tidy modernize-use-equals-default
2017-09-11 17:10:31 +10:00
Martin Dobias
f938b60f12 Handle mouse events of adv.digitizing map tools in the map tool base class 2017-09-10 16:34:13 +02:00
Martin Dobias
ae713b4c81 Move snapSegment() from map mouse event to private area of CAD dock 2017-09-10 16:34:13 +02:00
Martin Dobias
22ad67295b More advanced digitizing dock widget cleanups
- CaptureMode enum has been moved back to QgsMapToolCapture where it belongs
- map tools that need clearing of CAD points do so explicitly when needed
2017-09-10 16:34:13 +02:00
Martin Dobias
2f8afc02ab Remove some workarounds for advanced digitizing from node tool 2017-09-10 16:34:13 +02:00
Martin Dobias
a2b2567ca3 Better control of CAD dock widget operation from map tools 2017-09-10 16:33:02 +02:00
lbartoletti
e57c3b3974 Merge branch 'master' into regularShape_gui 2017-09-06 21:55:33 +02:00
Matthias Kuhn
f0cf4c3ee8 Merge pull request #5137 from m-kuhn/expressionhistory
[FEATURE] History for attribute table form view display expressions
2017-09-06 11:36:04 +02:00
Alessandro Pasotti
5f5be25357 Merge pull request #5124 from boundlessgeo/providers_gui_config
Providers gui config
2017-09-05 19:27:47 +02:00
Matthias Kuhn
63d0a91566
[FEATURE] History for attribute table form view display expressions
It's possible to re-use the last 10 display expressions in the form view
of the attribute table.

The expressions will also be persisted in the project file.

Using fields will now show field aliases instead of column names where
available.
2017-09-05 18:18:15 +02:00
Alessandro Pasotti
41eccd1bf9 Sip updates for qgssourceselectprovider 2017-09-05 16:56:09 +02:00
Matthias Kuhn
8efa9fa815 [FEATURE] Add "starts with" and "ends with" to multi attribute search 2017-09-05 14:15:38 +02:00
Alessandro Pasotti
e21630db42 Sipify 2017-09-04 21:08:11 +02:00
Alessandro Pasotti
884b58c56d Resistance is futile, you will be sipified 2017-09-04 17:35:48 +02:00
Alessandro Pasotti
50e0a01008 Sip updates for source select provider and registry 2017-09-04 15:15:20 +02:00
Alessandro Pasotti
1816087485 QgsSourceSelectProviderRegistry delayed initialization
Due to QgsGui being initialized after data provider.
2017-09-04 09:10:56 +02:00
Alessandro Pasotti
90f873086c Attach QgsSourceSelectProviderRegistry to QgsGui
And make it a singleton
2017-09-04 08:00:14 +02:00
Alessandro Pasotti
7cd7f1685f Added last missing signal replaceVectorLayer
This is only used by virtual layers, but it
might be handy for others too and now I can
start to remove all specialized source
select add methods from the datas source
manager dialog.

This is only the first step: next is looping
through the source select provider registry
to get all needed GUI elements for the dialog.
2017-09-03 21:30:45 +02:00
Nyall Dawson
a8e1d335bb Move locator non-gui classes to core
Allows reuse in projects which don't build QGIS gui, e.g.
QField
2017-09-03 16:15:20 +10:00
Harrissou Sant-anna
f51244c98b Add Help button and connect it to user manual 2017-09-02 11:17:58 +02:00
Alessandro Pasotti
d4868b3f82 Update sip file 2017-09-01 18:20:06 +02:00
Alessandro Pasotti
4c46f64647 Add QgsSourceSelectProviderRegistry with tests 2017-09-01 17:47:55 +02:00
Alessandro Pasotti
cd1c9b1e28 Add class QgsSourceSelectProvider and tests
This is the first step for QEP 101
2017-09-01 14:30:34 +02:00
Nyall Dawson
78b834c5b0 Fix missing Q_OBJECT macros
Thanks to Clazy
2017-08-29 18:03:41 +10:00
Nyall Dawson
1fddfcf622 Flip Q_ENUMS to Q_ENUM
See https://woboq.com/blog/q_enum.html for rationale
2017-08-29 18:03:41 +10:00
Alessandro Pasotti
b947406155 More robust multiple paths split and utility static method 2017-08-24 08:29:40 +02:00
Alessandro Pasotti
d1fb2490a7 Allow multiple raster selection from GDAL source select widget
Since I'm using QgsFileWidget I also added
multiple files support to that widget and
tests for this new behavior.
2017-08-23 16:17:15 +02: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
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
Jorge Gustavo Rocha
32c81a0311 Update sip files 2017-08-16 16:20:38 +02:00
Martin Dobias
0be0a4e30c Always use snapping configuration from the project in adv.digitizing dock
It was slightly confusing to have another override for snapping while it is possible
to configure "no snapping" or "all layers" snapping mode in project anyway.
And with the nice snapping toolbar it can be also done very quickly.
2017-08-16 14:37:19 +02:00
Martin Dobias
42933a279b Remove class members that were never used 2017-08-16 14:37:19 +02:00
Jorge Gustavo Rocha
fe59a19e17 Change all ocurrences on_buttonBox_helpRequested to showHelp
Add help button to 3 dialogs
Fix missing QStringLiteral
Fix CMakeLists.txt indentation
Fix qhelp.h and qgis_sip.h includes with <>
2017-08-15 23:51:03 +02:00
Alessandro Pasotti
7d074de90d Geopackage fix mixed geometry layers and attributes
In addition to geometry filtered layers for each geometry
type in a mixed-geometry type layer adds a table
layer with all attributes.

Tehre is no perfetc solution here, if the layer is created
with a filter on geometrytype, the attributes are not shown
(this is probably a pre-existing bug), if the layer is added
as is, only the first geometry type is drawn.

With this implementation at least all data (attributes and
geometries) are accessible in some way.

Note that geopackage layers added by DB Manager do not show
all geometries of a mixed type layer.
2017-08-14 20:25:47 +02:00
Sebastian Dietrich
479e3cb736
Reset digitizing tools when new project is loaded/created
Refs #4237 https://issues.qgis.org/issues/4237
2017-08-13 14:21:39 +02:00