Instead of the confusing duplicate settings for foreground color
vs cell text color, remove the foreground color button and only
expose this color setting via the cell text color.
Fixes#38092 by adding an optional QgsFeedback argument to
the executeSql method and by implementing the PQCancel
method in the PG provider internals.
While the cancellation works well for all supported provider while
fetching results in the loop, the cancellation of a running query is now
implemented for the postgres provider connection only because the GPKG
and GDAL both rely on GDALDatasetExecuteSQL which cannot be interrupted.
This PR also introduce a few optimizations in the PG DB-Manager
code that should probably fix also other "slowness" issues that
were reported after 3.x during PG query execution.
A small UX change in th SQL dialog makes it evident to the user that
a cancellation request has been sent to the backend: the button text
is changed to "Cancellation requested, please wait..." so that for
provider connections that are not able to interrupt the running query
and must wait for the fetching loop to exit from the exeuteSql call
the user knows that something is happening and that a cancellation
request has been successfully sent.
are to be clipped from the project, instead of just tracking this
by the presence of any checked layers
Avoids inconsistencies between the layers which are visibly clipped
on the map vs the options which are set in the GUI.
* QgsField::ConfigurationFlags: use a negative form for the flags so that default flags is None
this will make this futureproof, so newly added flags won't cause trouble for compatibility with old projects
* follow up
* remove template class
* fix order of init
* follow up
* Revert "update test projects (open and save)"
This reverts commit c738609d9177ed398ba2a0ae0e1c16448accd5f6.
* DoNotExposeVia -> HideFrom
* add missing support for non-integer and compound keys
* update unit tests
* unify time handling: iterator / minimumValue / maximumValue / uniqueValues
rename the confusing "Capitalize First Letter" option to
"Force First Letter to Capital"
This change is intended to clarify the role of the "capitalize
first letter" option, and to provide an option which actually
does what users expect the "capitalize first letter" option
to do.
Fixes#16539
Previously the code was calculating the exact zoom level (a double
value) and then rounding this to an integer in order to determine
which rules should be applied.
This appears to violate the vector tile styling specifications,
which are designed to "round down" the zoom level, so that styling
rules like:
- layer zoom range: 12-22
- interpolated expression:
case when @zoom_level > 12 and @zoom_level <= 14 then 1
when @zoom_level > 14 and @zoom_level < 18 then 2
when @zoom_level >=18 then 4 end
work correctly when the exact zoom level is just less than 12, e.g. 11.8
So now we use floor when converting a zoom level to int so that the
styling rules work correctly.
Additionally, this adds a new @vector_tile_zoom expression variable
which contains the original double value of the calculated tile zoom
(not the integer one used for layer visibility). Many mapbox GL styling
rules rely on non-integer zoom levels for interpolation, e.g.
Case when @vector_tile_zoom >= 11.2 then 4 ...
This change allows for smooth interpolation between zoom levels which
matches the web map appearance, instead of "jumpy" fixed level interpolation
we previously had.
Fixes#38567 where the SRID was not detected if the table was empty.
Also: do not override the SRID passed explicitly in the data source
URI.
Note: the logic in the provider is becoming a bit convoluted, there
are too many corner cases, at least the test coverage is pretty
good.