52690 Commits

Author SHA1 Message Date
Matthias Kuhn
265df93769
Even more docs 2018-12-22 11:26:53 +01:00
Matthias Kuhn
bdedc86f0b
Add geometry check classes to analysis group 2018-12-22 11:08:51 +01:00
Matthias Kuhn
f2d4d877ec
Overlap check documentation 2018-12-22 11:04:13 +01:00
Matthias Kuhn
525a3da3ab
More doxygen 2018-12-22 10:57:53 +01:00
Matthias Kuhn
c8be505df8
Remove unneeded methods 2018-12-22 10:48:43 +01:00
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
Alessandro Pasotti
157747efd0
Merge pull request #8730 from elpaso/bugfix-20812-fixgeometries-in-place
Processing in-place do not check validity when fixing geometries
2018-12-22 08:45:23 +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
Matthias Kuhn
db77b45225
Toggle remove duplicate nodes when precision is changed
As soon as a precision is set, duplicate nodes are removed automatically. By
disabling the option and checking it in this scenario, this behavior is much
more transparent to the user.
2018-12-21 15:02:15 +01:00
Matthias Kuhn
308b46e921
Make geometry constraint configuration size fit the contents 2018-12-21 14:21:35 +01:00
Matthias Kuhn
36c42d2b97
Check for proper error reporting in sqlite_fetch_and_increment 2018-12-21 14:07:24 +01:00
Matthias Kuhn
b4bc072030
Improve function help for sqlite_fetch_and_increment 2018-12-21 14:06:53 +01:00
Matthias Kuhn
49d8060c30
Add sqlite3_database_unique_ptr::exec
A handy shortcut to quickly run commands on a sqlite database.
2018-12-21 14:05:28 +01:00
Alessandro Pasotti
40fb2ce93d Drop the ugly hack in favor of sourceFlags 2018-12-21 13:20:41 +01:00
Alessandro Pasotti
f4d7506e73 Processing in-place do not check validity when fixing geometries
Fixes #20812
2018-12-21 11:47:36 +01:00
Matthias Kuhn
e698ba877a
Fix JSON formatting 2018-12-21 09:14:44 +01:00
Matthias Kuhn
ceb65a24b9
Remove template class 2018-12-21 09:07:04 +01: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
Julien Cabieces
fba4b25bc2 fixes #20673 : Correct mapFromSource method when reordering columns 2018-12-20 17:21:56 +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
ff1f2dffea
Add sqlite_fetch_and increment docs 2018-12-20 14:32:24 +01:00
Matthias Kuhn
5d8f6371e1
Add test for sqlite_fetch_and_increment 2018-12-20 14:32:24 +01:00
Matthias Kuhn
fea58316a4
New expression function sqlite_fetch_and_increment [FEATURE]
SQlite default values can only be applied on insert and not prefetched.
This makes it impossible to acquire an incremented primary key via AUTO_INCREMENT before creating the row in the database. Sidenote: with postgres, this works via the option "evaluate default values".

When adding new features with relations, it's really nice to be able to already add children for a parent, while the parents form is still open and hence the parent feature uncommitted.
To get around this limitation, this function can be used to manage an incrementing value (or multiple sequences) in a separate table on sqlite based formats like gpkg.
2018-12-20 14:32:24 +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