9215 Commits

Author SHA1 Message Date
Denis Rouzaud
e99f54854b sipify batch 2017-05-23 10:35:12 +02:00
Salvatore Larosa
48ecee5643 [processing] fix duplicates fields name in field calculator algorithm when switching between layers (followup c2699b4) 2017-05-22 23:29:26 +02:00
rldhont
2b39c1e1e9 Merge pull request #4597 from rldhont/server-wms-configparser-getcapabilities-part2
[Server] WMS GetCapabilities refactoring - Part 2
2017-05-22 12:42:48 +02:00
Denis Rouzaud
1df3c51606 sipify batch 2017-05-22 10:12:08 +02:00
Juergen E. Fischer
beed86e19d db manager: fix spatialite plugin (followup c77172ed; fixes #16542) 2017-05-21 10:45:30 +02:00
rldhont
087e7f75dc [Server] wmsInfoFormatSIA2045 to wmsInfoFormatSia2045: Qt style naming 2017-05-21 10:43:03 +02:00
rldhont
ca29b221c0 [Server] Update QgsServerProjectUtils SIP file 2017-05-20 16:29:58 +02:00
Denis Rouzaud
f0ed77ee18 fix sip coverage test 2017-05-19 15:35:47 +02:00
Denis Rouzaud
fb8edea112 [sipify] implement template inheritance 2017-05-19 15:35:47 +02:00
Alexander Bruy
bbcc8725fc Merge pull request #4587 from alexbruy/processing-saga
[processing][needs-docs] always use SAGA shipped with QGIS (refs #16422)
2017-05-19 15:08:45 +03:00
Hugo Mercier
0a82ab51fe Merge pull request #4432 from pblottiere/bugfix_sld
[bugfix] Fix unit of sizes when reading a SLD file (uom attribute from SLD 1.1 version is supported)
2017-05-19 08:54:14 +02:00
Alexander Bruy
b9929d4c2a [processing][needs-docs] always use SAGA shipped with QGIS (refs #16422) 2017-05-19 09:00:02 +03:00
Matthias Kuhn
b0bb873360 Fix build 2017-05-19 07:16:03 +02:00
Matthias Kuhn
ad7ce981fb Update sip files 2017-05-19 07:13:11 +02:00
Matthias Kuhn
1e4c1595c0 Adapt “@qgsfunction" decorator to new expression structure 2017-05-19 07:13:11 +02:00
Matthias Kuhn
9b77006592 Add missing include 2017-05-19 07:13:11 +02:00
Matthias Kuhn
80533faaf5 Reorganize code from qgsexpression.cpp 2017-05-19 07:13:11 +02:00
Matthias Kuhn
82455588c8 General include cleanup
This unifies the way the include directories are handled in the
CMakeLists.txt files.
Paths are now normally relative to the root of the source- or build dir.
They may still be relative for paths withing a plugin subdirectory but
should no longer be relative to paths outside of the current source- or
build-directory.

The previous approach had resultet in many different styles which are
hard to wrap ones head around if new to the build system.
It sometimes defined includes twice
By using relative paths, it was not possible to copy paste the paths
between different files.
2017-05-19 07:13:11 +02:00
Matthias Kuhn
ec40199862 Modularize expressions
The file qgsexpressions.h has grown to one monolithic piece over the
years. This makes it hard to maintain and slows down compilation because
even small changes at one end will result in recompiling big parts of
the source tree. It also requires the compiler to keep track of all
these implementation details for said big parts of the source tree.

This splits this implementation into smaller pieces. There are soe API
changes connected to this, but since these can be considered
implementation details, on which not many plugins rely, this shouldn't
have a big impact on the ecosystem outside the source tree.
2017-05-19 07:13:11 +02:00
Matthias Kuhn
95ac7d0f7b Merge pull request #4567 from pblottiere/clone
Add clone() methods for layers
2017-05-19 07:10:49 +02:00
Denis Rouzaud
40972f06fa sipify batch 2017-05-18 21:34:21 +02:00
Blottiere Paul
aa2739c975 Update sip binding 2017-05-18 12:14:28 +02:00
Blottiere Paul
bb1738dcbb Update documentation and sip binding 2017-05-18 11:09:42 +02:00
Blottiere Paul
f92a38cf54 Clone more members in vector layer 2017-05-18 11:09:42 +02:00
Blottiere Paul
414068101d Update documentation for setCustomProperties 2017-05-18 11:09:41 +02:00
Blottiere Paul
8a6137247a Remove the deep copy functionality 2017-05-18 11:09:41 +02:00
Blottiere Paul
42a967904a Update sip binding 2017-05-18 11:09:23 +02:00
Juergen E. Fischer
d1cc574a4f db manager: fix layer custom action 2017-05-18 10:01:12 +02:00
Denis Rouzaud
68b990b3bb sipify batch
python/core/qgspaintenginehack.sip
python/core/qgspainting.sip
python/core/qgspallabeling.sip
python/core/qgspathresolver.sip
python/core/qgspluginlayer.sip
python/core/qgspluginlayerregistry.sip
python/core/qgspointlocator.sip
python/core/qgsproject.sip
python/core/qgsprojectbadlayerhandler.sip
python/core/qgsprojectproperty.sip
python/core/qgsprojectversion.sip
python/core/qgssnappingconfig.sip
2017-05-18 09:41:16 +02:00
Nyall Dawson
e505ebcc74 Merge pull request #4582 from nyalldawson/status_bar
Add a QgsStatusBar widget/interface for adding messages/widgets to main window statusbar
2017-05-18 11:37:59 +10:00
Martin Dobias
e001d5c70a Add QgsGeometry::isSimple() - useful for self-intersection checks 2017-05-18 09:02:41 +08:00
Nyall Dawson
27077c875e Add a QgsStatusBar widget/interface for adding messages/widgets to
main window statusbar

QStatusBar gives almost no control over display and placement
of child widgets. It's not possible to subclass and reimplement
either, due to how QMainWindow works internally, and also due to
the special handling for the size grip and other platform specific
handling in QStatusBar.

Instead, we embed a single QgsStatusBar covering the whole real
status bar. All child widgets and temporary messages instead
are pushed to the QgsStatusBar instead - giving us as much control
as we desire over how these widgets are placed and their behavior.

As a result the locator widget has been moved to its logical placement
on the left of the status bar.

All plugins must ensure that they use the status bar interface
available via iface.statusBarIface() instead of directly interacting
with the status bar (e.g. iface.mainWindow().statusBar()...)
2017-05-18 10:35:33 +10:00
Nyall Dawson
b4de0acef5 Merge pull request #4512 from nyalldawson/locator
[FEATURE] Implement a QtCreator style locator bar in the QGIS status bar
2017-05-18 07:06:53 +10:00
Denis Rouzaud
8231d7528b sipify QgsExpressionContext, QgsFeatureRequest, QgsOptionalExpression 2017-05-17 15:20:31 +02:00
Nyall Dawson
8267fa3ddd Allow filters to provide configuration dialogs 2017-05-17 21:33:48 +10:00
Nyall Dawson
df9d9f6748 Invalidate current locator results when locator options are changed 2017-05-17 21:33:48 +10:00
Nyall Dawson
e8d3ae9264 Enable disabling filters via options dialog 2017-05-17 21:33:48 +10:00
Nyall Dawson
ce66393636 Add (non-functional) locator configuration dialog 2017-05-17 21:33:48 +10:00
Nyall Dawson
5a0bcf0776 Style fixes 2017-05-17 21:33:48 +10:00
Nyall Dawson
2435dbc712 Nicer results, always show an icon, show description 2017-05-17 21:33:47 +10:00
Nyall Dawson
ea86049c5e Show a list of shortcut prefixes in locator bar if no text is entered 2017-05-17 21:33:47 +10:00
Nyall Dawson
56c8baaccb Provide a standard string comparison method in QgsLocatorFilter
Subclasses should use this method instead of directly calling
QString::contains or using Python 's in search' type matches.
This ensures consistent matching behaviour across different filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
6649d2b1ed Sort filter results so closer matches appear higher
A closer match means more of the text is matched, ie
a short string inside a long string is penalised
2017-05-17 21:33:47 +10:00
Nyall Dawson
a53516d71d Only show action results when . prefix is used 2017-05-17 21:33:47 +10:00
Nyall Dawson
102a46662b Implement prefix based locator searching
Filters can indicate their preferred search prefix. Searches which
begin with this character will be restricted to the single matching
filter.

E.g. entering 'l buffer' will searching only layers containing 'buffer'

Other prefixes are:
- . search actions
- pl search print layouts
- a search algorithms

Plugins are restricted to a minimum 3 character prefix. We do this
to avoid plugins 'stealing' desirable prefixes, and instead we
want to reserve them for future core filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
b33ce0bf47 Allow speciyfing the priority for filters
Higher priority (i.e. more important) filter results get shown
first. This means filters like project layers & composers will
show above 'cruder' filters like the actions/processing filters.
2017-05-17 21:33:47 +10:00
Nyall Dawson
0f80df09a7 Show locator filter names in results, sort results and group by filter 2017-05-17 21:33:47 +10:00
Nyall Dawson
0dd3fcb6e4 Add processing algorithms to locator bar
Inspired by the ghost of processing's commander
2017-05-17 21:33:47 +10:00
Nyall Dawson
ab02f2b79c Allowing associating QgsLocatorWidget with a map canvas
This allows the widget's locator to prioritise results which
are close to the current canvas extent
2017-05-17 21:33:47 +10:00
Nyall Dawson
a7d590e041 Add a context variable for locator searches
This allows encapsulation of properties relating to the context
of a search, such as a target map extent. Locator filters could
use this to prioritise results close to the current canvas extent.
2017-05-17 21:33:47 +10:00