16023 Commits

Author SHA1 Message Date
Denis Rouzaud
be4bd42a2c fix spelling 2019-09-23 17:32:46 +02:00
Denis Rouzaud
e31e9a32b8 fix false boolean not shown as so in attribute table 2019-09-23 17:08:08 +02:00
Alexander Bruy
20583a8004 use GDAL connection string to support not only file-based layer but also
database and WFS
2019-09-23 11:53:19 +03:00
Alexander Bruy
dceabb0e29 use another approach for test 2019-09-23 11:53:19 +03:00
Alexander Bruy
3c13fbfeb5 [processing] correctly handle case when layer source is not a plain path
in the virtual vector algorithm (fix #29336)
2019-09-23 11:53:19 +03:00
Alexander Bruy
cebdc8dded [dbmanager] don't ignore field modifiers (e.g. length or geometry
definition) when updating it (fix #27613)
2019-09-23 06:01:56 +10:00
Matthias Kuhn
0bbebbc83a
Merge pull request #31905 from KDAB/fix_26948
Block the events while showing a dialog
2019-09-22 16:27:16 +02:00
BogDan Vatra
f96c4a2308 Block the events while showing a dialog
When showing a file dialog, Qt can choose to use the "system" file
dialog, which will make QgsExternalResourceWidget to loose the focus.
This patch blocks all the events that are sent to
QgsExternalResourceWidget while a dialog is shown, this way it will keep
the focus until the dialog is closed.

Sponsored by the QGIS project (qgis.org)

Fixes: #26948
2019-09-22 12:28:52 +03:00
Alexander Bruy
54c23d137f [dbmanager] handle attempts to edit raster tables (fix #30214) 2019-09-21 06:05:42 +10:00
Nyall Dawson
abc9f47ca4 [legends] Fix missing symbols for inverted polygon layers when using
filter by map content

Fixes #22718
2019-09-21 06:03:47 +10:00
Matthias Kuhn
ff4f32db0d
Merge pull request #31863 from m-kuhn/gapCheckIgnoreMissingLayer
Gap check ignore missing layer
2019-09-20 18:49:38 +02:00
Matthias Kuhn
54dda46e85
Merge pull request #31899 from paulwittle/master
Update general.py
2019-09-20 18:48:10 +02:00
Alexander Bruy
04cbf44668
Merge pull request #31902 from alexbruy/processing-import
[processing] add missed import
2019-09-20 19:27:13 +03:00
Alexander Bruy
0c4f826039 [processing] add missed import 2019-09-20 12:59:33 +03:00
Paul Wittle
be25b2e392 Update general.py
Correction of error return type from bool to None (as per comments). This is to resolve unexpected exception messages when algorithm is not found.
2019-09-20 09:27:30 +01:00
Alessandro Pasotti
240bfb2a3f
Merge pull request #31871 from elpaso/bugfix-gh31635-spinbox-double-changed-event
Fix double event fired by QSpinBox in slow graduated
2019-09-20 09:04:34 +02:00
Julien Cabieces
2ab88ad501 fieldIsEditable looks for joined feature to exist if no upsertOnEdit 2019-09-20 09:49:12 +10:00
Julien Cabieces
484ee53899 Add a utils method fieldIsEditable 2019-09-20 09:49:12 +10:00
Alexander Bruy
f9737a9d5f [processing] add default icon for scripts created using decorator (fix #31252) 2019-09-20 06:37:31 +10:00
Denis Rouzaud
cc64787ee6
Merge pull request #31859 from 3nids/layer_tree_insertion_point_v2
[layer tree] dedicated method in QgisApp to determine insertion point
2019-09-19 11:17:58 +02:00
Alessandro Pasotti
60fb0cb47f Apply timer spinbox workaround to QgsDoubleSpinBox too
To prevent double changed event fired in case the slot
takes too long to execute.
2019-09-19 09:10:26 +02:00
Denis Rouzaud
13119193ba fix API doc and init values 2019-09-19 09:05:40 +02:00
rldhont
3ff8ca5736
Merge pull request #31855 from Gustry/datetime
update docstring about QgsDateTimeEdit with NULL values
2019-09-18 18:42:57 +02:00
rldhont
7a77d90c52
Merge pull request #31351 from rldhont/server-wms-dimensions
Support WMS dimensions in QGIS Server
2019-09-18 18:26:31 +02:00
Alessandro Pasotti
8192ed8cce Fix double event fired by QSpinBox in slow graduated
... renderer widget

Fixes #31635

For the record of the underlying issue:

https://lists.qt-project.org/pipermail/interest/2013-July/007936.html
https://forum.qt.io/topic/82181/qt-doublespin-box-value-changed-slot-has-called-twice
https://forum.qt.io/topic/96094/qspinbox-value-changed-slot-has-called-twice-on-mouse-click
https://www.qtcentre.org/threads/53709-slot-valueChanged(double)-of-doubleSpinBox-called-twice-if-breakpoint-is-set
2019-09-18 15:06:31 +02:00
Matthias Kuhn
61812648a3 Add API to hook into resolveReferences 2019-09-18 09:32:02 +02:00
Nyall Dawson
fcd21e4850 [reports] Fix predefined scale mode is incompatible with report outputs
Fixes #29196
2019-09-18 10:35:23 +10:00
Nyall Dawson
ffc71c4f57 Remove const_cast 2019-09-18 07:55:46 +10:00
Nyall Dawson
3de0593957 Ensure atlas expression evaluation has access to coverage layer scope
Fixes #31807
2019-09-18 07:55:46 +10:00
Denis Rouzaud
838dbef3c0 [layer tree] dedicated method in QgisApp to determine insertion point
and create bindings to get the current insertion point in QgisInterface
2019-09-17 20:55:40 +02:00
Harrissou Sant-anna
493a8c814f Add empty line for list rendering 2019-09-18 04:13:31 +10:00
Etienne Trimaille
3b95172362
update docstring about QgsDateTimeEdit about NULL values 2019-09-17 17:25:15 +02:00
Alexander Bruy
27b576c794
Merge pull request #31735 from alexbruy/fix-29663
[processing] add support for WFS as input (fix #29663)
2019-09-17 15:54:48 +03:00
Alexander Bruy
c7c91de52e fix tests 2019-09-17 08:32:01 +03:00
Even Rouault
5e70084d32 QgsRasterFileWriter: improve error reporting 2019-09-17 08:58:25 +10:00
rldhont
4823054019 Define an enum for predefined WMS Dimension names 2019-09-16 22:52:32 +02:00
Even Rouault
cbc86ffc1a
Processing: disable 'open output layer' for write-only formats such as PGDUMP (relates to #31421) 2019-09-16 18:25:16 +02:00
Borys Jurgiel
e3334b1e65
Merge pull request #31784 from borysiasty/plugininstaller_fix_31783
[Plugin Installer] Only force http icon protocol for http-based repositories
2019-09-16 09:24:04 +02:00
Borys Jurgiel
1aa102815c [Plugin Installer] Only force http icon protocol for http-based repositories. Fixes #31783 2019-09-16 08:30:47 +02:00
Alessandro Pasotti
04f0879ed5 Processing editing in place: handle constraints
Fixes #31634
2019-09-16 10:41:58 +10:00
Even Rouault
fdcca14f65
Make sure ellipsoid parameter and definition caches are cleared before app exit (related to #31762)
This should apply to both PROJ < 6 and >=6 builds.

Fixes the following error reported by Valgrind
```
==5848== Invalid read of size 4
==5848==    at 0xE5E4195: internal_pj_ctx_get_errno (in /home/even/proj/install-proj-master/lib/libproj.so.15.2.0)
==5848==    by 0xE5E16AE: internal_pj_free (in /home/even/proj/install-proj-master/lib/libproj.so.15.2.0)
==5848==    by 0xE5F4E78: internal_proj_destroy (in /home/even/proj/install-proj-master/lib/libproj.so.15.2.0)
==5848==    by 0x7F961A7: QgsProjUtils::ProjPJDeleter::operator()(PJconsts*) (qgsprojutils.cpp:76)
==5848==    by 0x7D2D44C: std::unique_ptr<PJconsts, QgsProjUtils::ProjPJDeleter>::~unique_ptr() (unique_ptr.h:239)
==5848==    by 0x7D2C9BD: QgsCoordinateReferenceSystemPrivate::~QgsCoordinateReferenceSystemPrivate() (qgscoordinatereferencesystem_p.h:94)
==5848==    by 0x7D2D6FA: QExplicitlySharedDataPointer<QgsCoordinateReferenceSystemPrivate>::~QExplicitlySharedDataPointer() (qshareddata.h:165)
==5848==    by 0x7CDFA77: QgsCoordinateReferenceSystem::~QgsCoordinateReferenceSystem() (qgscoordinatereferencesystem.cpp:233)
==5848==    by 0x55CC0AF: QgsEllipsoidUtils::EllipsoidParameters::~EllipsoidParameters() (qgsellipsoidutils.h:39)
==5848==    by 0x7D8C40B: QHashNode<QString, QgsEllipsoidUtils::EllipsoidParameters>::~QHashNode() (qhash.h:149)
==5848==    by 0x7D8C43F: QHash<QString, QgsEllipsoidUtils::EllipsoidParameters>::deleteNode2(QHashData::Node*) (qhash.h:536)
==5848==    by 0x9BE3B78: QHashData::free_helper(void (*)(QHashData::Node*)) (in /opt/qt59/lib/libQt5Core.so.5.9.1)
==5848==    by 0x7D8C466: QHash<QString, QgsEllipsoidUtils::EllipsoidParameters>::freeData(QHashData*) (qhash.h:576)
==5848==    by 0x7D8CCED: QHash<QString, QgsEllipsoidUtils::EllipsoidParameters>::~QHash() (qhash.h:254)
==5848==    by 0xA60E369: __cxa_finalize (cxa_finalize.c:56)
==5848==    by 0x77BE742: ??? (in /home/even/qgis/QGIS/build/output/lib/libqgis_core.so.3.9.0)
==5848==    by 0x4010DF6: _dl_fini (dl-fini.c:235)
==5848==    by 0xA60DFF7: __run_exit_handlers (exit.c:82)
==5848==    by 0xA60E044: exit (exit.c:104)
==5848==    by 0xA5F4836: (below main) (libc-start.c:325)
==5848==  Address 0x45db80e0 is 0 bytes inside a block of size 136 free'd
==5848==    at 0x4C2F440: operator delete(void*) (vg_replace_malloc.c:586)
==5848==    by 0xE5F5A3A: internal_proj_context_destroy (in /home/even/proj/install-proj-master/lib/libproj.so.15.2.0)
==5848==    by 0x7F9617A: QgsProjContext::~QgsProjContext() (qgsprojutils.cpp:48)
==5848==    by 0xA60E5FE: __call_tls_dtors (cxa_thread_atexit_impl.c:155)
==5848==    by 0xA60DF26: __run_exit_handlers (exit.c:40)
==5848==    by 0xA60E044: exit (exit.c:104)
==5848==    by 0xA5F4836: (below main) (libc-start.c:325)
==5848==  Block was alloc'd at
==5848==    at 0x4C2E709: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
==5848==    by 0xE5E445E: internal_pj_ctx_alloc (in /home/even/proj/install-proj-master/lib/libproj.so.15.2.0)
==5848==    by 0x7F96151: QgsProjContext::QgsProjContext() (qgsprojutils.cpp:39)
==5848==    by 0x7F970A9: __tls_init (qgsprojutils.cpp:31)
==5848==    by 0x7F970F3: TLS wrapper function for QgsProjContext::sProjContext (in /home/even/qgis/QGIS/build/output/lib/libqgis_core.so.3.9.0)
==5848==    by 0x7F96186: QgsProjContext::get() (qgsprojutils.cpp:57)
==5848==    by 0x7D86B13: QgsEllipsoidUtils::definitions() (qgsellipsoidutils.cpp:351)
==5848==    by 0x7D863FE: QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1}::operator()() const (qgsellipsoidutils.cpp:173)
==5848==    by 0x7D87EE1: void std::_Bind_simple<QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1} ()>::_M_invoke<>(std::_Index_tuple<>) (functional:1531)
==5848==    by 0x7D87BC5: std::_Bind_simple<QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1} ()>::operator()() (functional:1520)
==5848==    by 0x7D879A2: void std::__once_call_impl<std::_Bind_simple<QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1} ()> >() (mutex:706)
==5848==    by 0x10A6AA98: __pthread_once_slow (pthread_once.c:116)
==5848==    by 0x7D863CE: __gthread_once(int*, void (*)()) (gthr-default.h:699)
==5848==    by 0x7D8787F: void std::call_once<QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1}>(std::once_flag&, QgsEllipsoidUtils::ellipsoidParameters(QString const&)::{lambda()#1}&&) (mutex:738)
==5848==    by 0x7D86476: QgsEllipsoidUtils::ellipsoidParameters(QString const&) (qgsellipsoidutils.cpp:174)
==5848==    by 0x7E8D572: QgsMapSettings::setEllipsoid(QString const&) (qgsmapsettings.cpp:322)
==5848==    by 0x6A4E5F1: QgsMapCanvas::QgsMapCanvas(QWidget*) (qgsmapcanvas.cpp:143)
==5848==    by 0x5110841: QgisApp::QgisApp(QSplashScreen*, bool, bool, QString const&, QString const&, QWidget*, QFlags<Qt::WindowType>) (qgisapp.cpp:803)
==5848==    by 0x417DB9: main (main.cpp:1339)
==5848==
```
2019-09-14 15:19:02 +02:00
Peter Petrik
cdd3a55e9e fix #30766, sip crash for QgsHighlight 2019-09-14 06:38:25 +10:00
rldhont
635e245143
Merge pull request #31746 from Gustry/combo_sql
fix combobox ID not having correct checked state when we update a SQL layer
2019-09-13 19:05:16 +02:00
Alessandro Pasotti
784fd1affd
Merge pull request #31741 from elpaso/bugfix-gh31732-datasource-manager-tabs-resize
Resize not-focused tabs for datasource and options dlgs
2019-09-13 18:27:45 +02:00
Etienne Trimaille
37803810eb
fix combobox ID not having correct checked state when we update a SQL layer 2019-09-13 17:46:38 +02:00
Juergen E. Fischer
99a525c513 translation string fixes [ci skip] 2019-09-13 13:35:40 +02:00
Alessandro Pasotti
81985a9ca4 Resize not-focused tabs for datasource and options dlgs
Moved logic into base class. I did not find any other
suclass affected.
2019-09-13 12:38:48 +02:00
Alexander Bruy
af77d68716 return only base URL as connection string
adopt ogrinfo and ogrtabletopostgis algorithms so they can work with WFS
2019-09-13 11:11:53 +03:00
Alexander Bruy
4b7eaa4b9c [processing] support for WFS layers in GDAL algorithms (fix #29663) 2019-09-13 09:14:04 +03:00
Nyall Dawson
587c011046 [layouts] Fix grids cannot be disabled, ui widgets for grids get incorrectly
disabled blocking the ability to re-enable grids (master only)
2019-09-13 10:36:06 +10:00