52621 Commits

Author SHA1 Message Date
Matthias Kuhn
07ab092fb1
Some doc fixes 2018-12-22 10:35:30 +01:00
Matthias Kuhn
c6420690b5
Skip more missing doc checks for old classes 2018-12-22 10:16:24 +01:00
Matthias Kuhn
65f6e7ba5d
Doxymenation for gap checks 2018-12-22 10:03:22 +01:00
Matthias Kuhn
2ad870b95a
Suppress api doc warnings for old classes 2018-12-21 18:06:40 +01:00
Matthias Kuhn
1d1a668fb0
Add geometry check to API documentation 2018-12-21 16:24:40 +01:00
nirvn
9200f538e9 Don't hard-code black and gray for layer tree items' text color 2018-12-21 21:13:19 +07:00
nirvn
657f5a4b50 Avoid using default QPalette to improve theme compatibility 2018-12-21 12:02:12 +07:00
Nyall Dawson
9df3eb3e5c Dox++ 2018-12-21 09:15:32 +10:00
Nyall Dawson
82ebf8af97 Use two wait conditions as per producer/consumer solution 2018-12-21 09:05:45 +10:00
Nyall Dawson
a048306f20 Fix warning 2018-12-21 09:05:45 +10:00
Nyall Dawson
df2d6601b8 [afs] Use QgsBlockingNetworkRequest instead of event loop
Instantly a more stable provider!
2018-12-21 09:05:45 +10:00
Nyall Dawson
d1a1d7570e QgsBlockingNetworkRequest: Allow canceling via QgsFeedback 2018-12-21 09:05:45 +10:00
Nyall Dawson
18376c4ae3 Fix build on Qt 5.9 2018-12-21 09:05:45 +10:00
Nyall Dawson
a457482de8 Add attributes to QgsNetworkReplyContent 2018-12-21 09:05:45 +10:00
Nyall Dawson
d5fddfd588 Basic unit tests for QgsBlockingNetworkRequest 2018-12-21 09:05:45 +10:00
Nyall Dawson
1774e68f39 [FEATURE][API] New class for blocking (non-async) network requests
This new class, QgsBlockingNetworkRequest, is designed for
performing SAFE blocking requests. It is thread safe and
has full support for QGIS proxy and authentication settings.

This class should be used whenever a blocking network
request is required. Unlike implementations
which rely on QApplication::processEvents() or creation of a
QEventLoop, this class is completely
thread safe and can be used on either the main thread or
background threads without issue.

Redirects are automatically handled by the class.

After completion of a request, the reply content should be
retrieved by calling getReplyContent().
This method returns a QgsNetworkReplyContent container,
which is safe and cheap to copy and pass
between threads without issue.

The guts of this class have been copied from QgsWfsRequest (which
has been using the same approach since 3.2)
2018-12-21 09:05:45 +10:00
Nyall Dawson
e4959a6b9a New class QgsNetworkReplyContent
Encapsulates a network reply within a container which
is inexpensive to copy and safe to pass around between threads.
The default Qt QNetworkReply class is a QObject, which prevents
it from being copied and passed between threads. This class
grabs all the useful information from a QNetworkReply,
allowing the reply's content to be stored indefinetly without
concern for the lifetime of the QNetworkReply object itself.
2018-12-21 09:05:45 +10:00
Nyall Dawson
a2b5008b30 [FEATURE][layouts] Allow layout items to "block" map labels
This feature allows other layout items (such as scalebars,
north arrows, inset maps, etc) to be marked as a blockers for
the map labels in a map item. This prevents any map labels from
being placed under those items - causing the labeling engine
to either try alternative placement for these labels (or
discarding them altogether)

This allows for more cartographically pleasing maps -- placing
labels under other items can make them hard to read, yet without
this new setting it's non-trivial to get QGIS to avoid placing
the labels in these obscured areas.

The blocking items are set through a map item's properties, under
the label settings panel. The setting is per-map item, so you can have
a scalebar block the labels for one map in your layout and not others
(if you so desire!)
2018-12-21 04:12:32 +10:00
Nyall Dawson
620baa0d22 Layout map test reference image updates 2018-12-21 04:12:32 +10:00
Nyall Dawson
b46f49996e [labeling] When a layer is set to "blocking" label mode, correctly
handle data defined "is obstacle" and "priority" settings
2018-12-21 04:11:53 +10:00
Alessandro Pasotti
5cbf95a9bc
Merge pull request #8723 from elpaso/qlist-string-to-stringlist
QList<QString> -> QStringList
2018-12-20 18:11:39 +01:00
Alessandro Pasotti
6a03e07adc QList<QString> -> QStringList
I tend to prefer the first form but I don't really care.
2018-12-20 15:09:06 +01:00
Peter Petrik
9ce7e54fb1
allow selection of file paths for mesh layers [processings] (#8702)
allow selection of file paths for mesh layers
2018-12-20 15:04:02 +01:00
sklencar
be34a0ed27 QgsZipUtils unzips also subdirectories of a zip file (#8672)
QgsZipUtils unzips also subdirectories of a zip file
2018-12-20 14:42:22 +01:00
Matthias Kuhn
3dd360922f
Merge pull request #8720 from m-kuhn/expression_parser_error_fix
Make expression parser output translatable
2018-12-20 13:50:02 +01:00
Nyall Dawson
055a166136 [FEATURE] Boolean field support for memory layers
Adds support for boolean field types to memory layers

Fixes #20844
2018-12-20 18:36:36 +10:00
Matthias Kuhn
497a53b9fa
Merge pull request #8715 from m-kuhn/expression_parser_error_fix
Fix expression parser error reporting
2018-12-20 09:24:48 +01:00
Matthias Kuhn
1f3cbb49a8
Update expression parser sources 2018-12-20 09:20:30 +01:00
Matthias Kuhn
c72e99a3ed
Make expression parser output translatable 2018-12-20 09:15:40 +01:00
Matthias Kuhn
bd87b35430
Merge pull request #8713 from m-kuhn/sqlite_quoted_value_to_qgssqliteutils
Move sqlite quoted value methods to QgsSqliteUtils
2018-12-20 08:37:35 +01:00
Nyall Dawson
dab069e1ea Improve multiline cursor behavior in Python console and expression editor
Now supports multi-line inserts and pastes
2018-12-20 17:23:52 +10:00
Mathieu Pellerin
e9e1e0d6f3
[FEATURE][expression] Brand new array_sort() function 2018-12-20 11:47:16 +07:00
Matthias Kuhn
06354ef71e
Fix expression parser error reporting 2018-12-19 16:36:14 +01:00
Alessandro Pasotti
d10eb890fb Fix error message string (minor change) 2018-12-19 16:36:14 +01:00
Matthias Kuhn
c03f1a6127
Fix 2018-12-19 16:03:54 +01:00
Matthias Kuhn
11834661c5
Additional cleanup 2018-12-19 14:50:50 +01:00
Matthias Kuhn
33cd5e8cd9
Move ok handling where it belongs to 2018-12-19 14:47:36 +01:00
Matthias Kuhn
d3cdf28592
Use QgsSqliteUtils::quotedIdentifier in spatialite provider 2018-12-19 14:44:28 +01:00
Matthias Kuhn
237d40af61
Improve QgsSqliteUtils::quotedIdentifier test 2018-12-19 14:44:28 +01:00
Matthias Kuhn
0437d4ad68
Add tests for quoting sqlite values 2018-12-19 14:44:28 +01:00
Matthias Kuhn
12a6d9b8f4
Move sqlite quoting functions to qgssqliteutils.h 2018-12-19 14:44:06 +01:00
Denis Rouzaud
30b55cc68f
[locator] split words to get more results in all features locator filter (#8704)
* [locator] split words to get more results in all features locator filter

* Update src/app/locator/qgsinbuiltlocatorfilters.cpp

Co-Authored-By: 3nids <denis.rouzaud@gmail.com>

* Update src/app/locator/qgsinbuiltlocatorfilters.cpp

Co-Authored-By: 3nids <denis.rouzaud@gmail.com>

* Update src/app/locator/qgsinbuiltlocatorfilters.cpp

Co-Authored-By: 3nids <denis.rouzaud@gmail.com>
2018-12-19 08:54:31 -04:00
Denis Rouzaud
0e7427f8a3
Merge pull request #8711 from 3nids/sipify_out_super
[sipify] enhanced SIP_OUT handling
2018-12-19 08:15:17 -04:00
Denis Rouzaud
166e952c33 run sipify 2018-12-19 08:04:27 -04:00
Denis Rouzaud
03f801738d fix missing \returns in source 2018-12-19 08:04:17 -04:00
Denis Rouzaud
bd32078635 [sipify] enhanced SIP_OUT handling
return an error if method with SIP_OUT arguments has no \return directive AND is not void
create list of outputs for better visualization
2018-12-19 08:03:47 -04:00
Denis Rouzaud
a753f8b0dd
[expression builder] clear fields values when changing field (#8703) 2018-12-19 06:38:06 -04:00
Matthias Kuhn
0f037daf47
Merge pull request #8649 from qgis/expression_function_decode_uri
Expression function `decode_uri`
2018-12-19 08:32:09 +01:00
Alessandro Pasotti
56ca46efa9
Merge pull request #8706 from elpaso/bugfix-20674-dbmanager-aliased-3
Fix views query tables in spatialite
2018-12-19 07:43:48 +01:00
Denis Rouzaud
6bb0720bb7
Merge pull request #8708 from 3nids/sipify_sip_out
[sipify] handles SIP_OUT arguments
2018-12-18 22:08:42 -04:00