85733 Commits

Author SHA1 Message Date
Nyall Dawson
893483fdfd Fix compilation with proj 9.4+ 2024-03-08 09:17:28 +10:00
Jacky Volpes
ae57030135 Fix global QGIS setting key in check validity algorithm 2024-03-08 09:13:32 +10:00
Even Rouault
1aae09e9f4 QgsFcgiServerRequest::readData(): use camelCase for variable naming 2024-03-08 09:09:46 +10:00
Even Rouault
52e3ee7bab [Server] QgsFcgiServerRequest::readData(): more validation
and enhance perf of reading from stdin. Note that for that later mode,
I'm not sure if there are unit tests, but hopefully the OGC integration
tests should cover this?
2024-03-08 09:09:46 +10:00
Even Rouault
5d97f57947 [Server] QgsWmsRenderContext::isValidWidthHeight(): rewrite sanity checks in a foolproof way
The check for ``width * depth + 31`` not overflowing INT_MAX was done
after computing it, which would be undefined behavior if that happened.
Nowadays compilers can use "impossible situations" in smart ways, and
could very well discard the check if it is done afterwards. Be on the
safe sife and check before, as done in
https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/image/qimage_p.h#n89
2024-03-08 09:08:57 +10:00
Even Rouault
98017509f7 [Server] qgsfcgiserverresponse.cpp: fix typoe Q_OS_ANDROiD (lower case i) -> Q_OS_ANDROID 2024-03-08 06:29:46 +10:00
Jean Felder
db9f9d1355 qgsphongmaterialwidget: Fix diffusecoefficientwidget visibility
In the textured case, the diffuse parameters have no
effect. Therefore, `mDiffuseCoefficientWidget` needs to be hidden.

Closes: https://github.com/qgis/QGIS/issues/56750
2024-03-08 06:29:09 +10:00
bdm-oslandia
ccd062c14a chore(code_layout): pre filter the number of file to check for spell checker 2024-03-07 18:10:52 +01:00
Nyall Dawson
4e874a3c75 [console] Minor cleanups
- Add some typehints
- Avoid creating an unnecessary local variable
2024-03-07 14:17:22 +01:00
Nyall Dawson
fbbe690283 [console] Ensure stored last dir path settings is always a folder
This prevents a bug where the save action in the Python console
keeps defaulting back to the binary QGIS install folder
2024-03-07 14:17:22 +01:00
Nyall Dawson
4dcdddaa02 [console] Don't needlessly store QgsSettings objects
These are cheap to construct by design, so we can avoid
storing them and the messy cross-class access to member
variables
2024-03-07 14:17:22 +01:00
Nyall Dawson
5f1465f7bf
QString fixup 2024-03-07 08:20:40 +10:00
Nyall Dawson
222f05edea Add API to overlay widgets over the map canvas
E.g.

  iface.mapCanvas().addOverlayWidget(w, Qt.Edge.LeftEdge)

will float the `w` widget over the left edge of the map canvas
2024-03-07 06:32:28 +10:00
Nyall Dawson
07470d4bd9 [api] Create QgsOverlayWidgetLayout
This custom QLayout class allows for overlaying child widgets on top
of their parent widget.

It can be used like this:

   layout = QgsOverlayWidgetLayout()
   parent_widget.setLayout(layout)

   layout.setContentsMargins(20,20,20,20)
   layout.addWidget(QGroupBox(), Qt.Edge.LeftEdge)
   layout.addWidget(QLabel('My label on top of a parent!'), Qt.Edge.TopEdge)
   layout.addWidget(QGroupBox(), Qt.Edge.TopEdge)
2024-03-07 06:32:28 +10:00
Nyall Dawson
f47b509676 [gps] Don't emit stateChanged for incomplete nmea messages
If we only have receieved the first part of a message, don't
emit stateChanged until we've received the rest.

Possibly refs #56460
2024-03-06 14:14:30 +01:00
Andrea Giudiceandrea
2647c57019 Fix parameter description in qgsgeometry.h
Remove the "fix this bug?" remnant string
2024-03-06 10:37:22 +10:00
Marco Hugentobler
565b184737 WMS Server: Allow empty labels in highlighting 2024-03-05 17:41:36 +01:00
Nyall Dawson
fc528295de Move actual stats calculation to thread
Previously we just used the background thread to prefetch all the
attribute values in advance, and then calculated the stats on the
main thread. This had a number of downsides:

- It would block main thread while iterating over the collected
values and calculating stats
- It required storage of ALL the fetched attribute values in a
container. By just passing these values immediately to the stats
summary classes, there's optimisations in place which will avoid
storing all values wherever possible.
- There was custom logic to handle null values, when we should
be relying on the standard logic from the stats summary classes
to be consistent with other places in QGIS
2024-03-05 13:34:41 +10:00
Nyall Dawson
81d77fa23e Fix crash in stats dock when layer is removed and field combo box is clicked 2024-03-05 12:14:00 +10:00
Andrea Giudiceandrea
a0c88b15a1 Apply suggestion from code review 2024-03-05 10:38:16 +10:00
Andrea Giudiceandrea
9c32e69f88 [processing] Fix "Random points along line" alg
Avoid various errors in case of empty input layer, empty/null geometries, invalid geometries, linestrings with zero-length segments...
2024-03-05 10:38:16 +10:00
Andrea Giudiceandrea
a4f1707d46 Fix Statistics Panel incorrect missing (null) numerical values count 2024-03-05 08:15:50 +10:00
Matthias Kuhn
7e64f788b4
Merge pull request #56289 from m-kuhn/no-leak-build-path
Do not leak build system paths into public headers
2024-03-04 22:27:44 +01:00
Andrea Giudiceandrea
782ff19a86 [gui] Data defined override: middle-click to open exp dialog 2024-03-05 06:37:51 +10:00
Mathieu Pellerin
f5e3a358fc [vector layer] Fix QgsVectorLayerFeatureIterator::isValid() value when initiated against editing-enabled vector layer 2024-03-05 06:21:45 +10:00
José de Paula R. N. Assis
b05d957b4d Replaced QComboBox.activated[str]() with QComboBox.texActivated() 2024-03-05 05:31:11 +10:00
José de Paula R. N. Assis
b815d34d1e Using QElapsedTimer instead of QTime in DB Manager 2024-03-05 05:31:11 +10:00
José de Paula R. N. Assis
57d60c7161 DB Manager: tweaks for running Qt6
Small tweaks to running in Qt 6(removed obsolete method calls
QTime().start() and QTime().elapsed(), and changed an overloaded slot
(QComboBox::activated()) to a non-overloaded one (textActivated()).
2024-03-05 05:31:11 +10:00
Matthias Kuhn
55dc5cafea
tidy up 2024-03-04 17:16:41 +01:00
Alessandro Pasotti
2ece5bda21 Fix test failing on CI 2024-03-04 16:52:25 +01:00
Nyall Dawson
b17714ceb5 Add filter option to source select widget 2024-03-04 20:24:28 +10:00
Nyall Dawson
eb778dde09 Use a scroll area 2024-03-04 20:24:28 +10:00
Nyall Dawson
1e07d03b74 Implement custom layer filter GUI for SensorThings layer filters 2024-03-04 20:24:28 +10:00
Nyall Dawson
4c97462919 [sensorthings] Implement subset string support
Allows setting custom filters on the layer, using the SensorThings
filter syntax
2024-03-04 20:24:28 +10:00
uclaros
3cd04b6934 Abort blocking range requests when not supported by the server 2024-03-04 09:15:51 +00:00
Matthias Kuhn
12288d09f9
Follow clang-tidy style 2024-03-04 09:15:26 +01:00
Nyall Dawson
a16a886c61 Remove unused settings from WCS source select
- layer name
- tile size
- feature limit for GetFeatureInfo

These were all non-functional widgets in the WCS source panel,
which were not used anywhere(!)
2024-03-04 09:14:45 +01:00
Matthias Kuhn
912ae75fb0
Merge branch 'master' into no-leak-build-path 2024-03-04 09:10:53 +01:00
Alessandro Pasotti
ecbdd854af Add test on feature geometry type 2024-03-04 08:58:10 +01:00
Alessandro Pasotti
e51b1adc4b Remove geometry type change 2024-03-04 08:58:10 +01:00
Alessandro Pasotti
92ef1cdd1a Update test after fallback removal 2024-03-04 08:58:10 +01:00
Alessandro Pasotti
6a12b08d43 Don't fallback when no layername was set in the first place
Mainly because it breaks a lot of tests, it would probably
be a good idea to revert this commit eventually.
2024-03-04 08:58:10 +01:00
Alessandro Pasotti
83d74c9f48 [OGR] reset layername after SELECT filter is removed
Fix #56345
2024-03-04 08:58:10 +01:00
Mathieu Pellerin
41368b21e7 [expression] Add @map_z_range_{lower,upper} pair of variables reflecting the map's z range values 2024-03-04 14:40:03 +07:00
Nyall Dawson
f2322389fa Ignore SIP_MONKEYPATCH_FLAGS_UNNEST when generating Doxygen 2024-03-04 17:37:47 +10:00
Nyall Dawson
c4868c565b Include Flags in doxygen 2024-03-04 17:37:47 +10:00
Mathieu Pellerin
966644b71c [map canvas] Fix clearing of temporal and elevation triggered cache for group layers 2024-03-04 17:01:34 +10:00
Nyall Dawson
e22a1d605b [feature][layouts] Add z range filter option for layout maps
Similar to the existing setting for temporal filtering of 2d layout
maps, this setting allows users to set a specific elevation/z range
for a layout map item. When set, map layers with support for 2d
z range filtering (currently point clouds and raster DEMs) will
be filtered to show only content within this range.

The z range can be data-defined, allowing differing z range
for different atlas or report features.
2024-03-04 17:00:24 +10:00
Even Rouault
3e13f0e1e1 qgsgeom.cpp: use more geos::unique_ptr in private methods 2024-03-04 13:24:17 +10:00
Even Rouault
e8192ca3e5 QgsGeos::asGeos(): only error out on invalid subgeometry only if requested (typically from QgsGeometryCollection::isValid()) 2024-03-04 13:24:17 +10:00