204 Commits

Author SHA1 Message Date
Nyall Dawson
6ffe50704f [composer] Remove support for upgrading pre 2.2 project atlas map
settings

Open the project in a recent 2.x release and resave to upgrade
the project
2017-01-14 19:14:48 +10:00
Nyall Dawson
b5480633e4 Standardise names for static variables
All non-const variables are prefixed with "s", all const
statics are ALL_CAPS
2017-01-14 16:40:24 +10:00
Denis Rouzaud
4467487e1c respect CamelCase for enums and their values 2017-01-11 14:10:11 +01:00
Denis Rouzaud
748be8de71 [spelling] replace behaviour by behavior 2017-01-11 11:35:19 +01:00
Nyall Dawson
e656c63ab7 Remove duplicate QgsFeature::setFeatureId method
Leave just QgsFeature::setId and document api break
2017-01-11 10:05:31 +01:00
Nyall Dawson
ede452be85 [processing] Port feedback object to c++
Algorithms are now passed a QgsProcessingFeedback object
instead of the loosely defined progress parameter.
2017-01-11 11:11:10 +10:00
Nyall Dawson
bb24dfe245 [processing] c++ base class for providers
Nothing particularly exciting here yet, but this commit
moves the definition of the provider base class to a c++
QgsProcessingProvider abstract base class.

As part of this some existing python methods were renamed
to make their use clearer and to fit with the QGIS c++
api conventions:

- getName was renamed to id
- getDescription was renamed to name
- getIcon was renamed to icon

These API breaks are documented
2017-01-11 10:55:15 +10:00
Denis Rouzaud
37ebcdd1cd [spellcheck] allow inwords checks and line skipping
spell check will be done automatically in words by default (when some conditions are fulfilled)
possibility to avoid in words checking by adding :* at the end in spelling.dat

one can add #spellok at the end of a line of code to skip spell check on this line
2017-01-10 20:18:37 +01:00
Martin Dobias
0513bb357c Make QgsGeometry independent from QgsProject + better avoid intersections API 2017-01-07 11:50:08 +08:00
Martin Dobias
8c340f7144 Make composition associated with QgsProject (#3957)
... rather than using project singleton within compositions
2017-01-06 17:22:34 +08:00
Martin Dobias
660867cb4e Explicitly pass QgsProject object when dealing with expression contexts
Continued effort to reduce number of uses of QgsProject as singleton...
2017-01-06 11:34:55 +08:00
Even Rouault
f67cdc3965 Merge pull request #3935 from rouault/group_visibility
[FEATURE] Change of ergonomy of the visibility of layers inside groups
2017-01-04 15:22:48 +01:00
Martin Dobias
6c5956b22b QgsProject: cleanup of read/write method + removal of unused bad layer handler class 2017-01-04 20:29:53 +08:00
Nyall Dawson
0ce30217f1 Implement some QGIS 3 TODOs for diagram API 2017-01-04 18:17:22 +10:00
Even Rouault
60a1701377 [FEATURE] Change of ergonomy of the visibility of layers inside groups
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/86

- Checking/unchecking a group doesn't change the check state of its children.
A node is visible if and only if it is checked and all its parents too.
- There is no more a semi-checked state for a group
- Ctrl-clic on a unchecked group will check the group and all its descendants.
- Ctrl-clic on a unchecked layer will check the lager and all its parents.
- Ctrl-clic on a checked group will uncheck the group and all its descendants.
- Ctrl-clic on a checked layer will uncheck the layer and all its parents.
- Those actions are available in contextual menu items in the tree view.
- Invisible layers because they or their parent(s) is unchecked are greyed out.
2017-01-02 13:25:25 +01:00
Nyall Dawson
48e72999ab Cleanup QgsProjectProperty headers and docs 2017-01-02 15:20:08 +10:00
Nyall Dawson
89cfa68369 Rename QgsProperty to QgsProjectProperty
and QgsPropertyKey/Value to QgsProjectPropertyKey/Value

The QgsProperty names are too generic to be used in this
context
2017-01-02 13:09:20 +10:00
Nyall Dawson
8ebc73b495 Merge pull request #3914 from nyalldawson/bye_singletons
Remove some singletons by moving instances to QgsApplication
2017-01-02 09:00:58 +10:00
Harrissou Sant-anna
7911994097 Replace capitalise by capitalize 2016-12-30 00:02:06 +01:00
Nyall Dawson
9d4adc1c70 Remove some singletons by moving instances to QgsApplication
- QgsColorSchemeRegistry
- QgsDataItemProviderRegistry
- QgsGPSConnectionRegistry
- QgsMessageLog
- QgsPaintEffectRegistry
- QgsPluginLayerRegistry
- QgsRasterRendererRegistry
- QgsRendererRegistry
- QgsSvgCache
- QgsSymbolLayerRegistry
2016-12-28 16:59:03 +10:00
nirvn
181f84b86f [raster] move pseudocolor renderer classification out of gui into core 2016-12-27 10:16:51 +07:00
Matthias Kuhn
22c492e6e5 Rename QgsFieldKit to QgsFieldFormatter 2016-12-20 01:20:08 +01:00
Matthias Kuhn
f294201e7b Remove QgsEditFormConfig::widgetType 2016-12-20 01:20:08 +01:00
Matthias Kuhn
1ad6e0bc2a Document api breakages and add more doxymentation 2016-12-20 01:20:08 +01:00
Even Rouault
792873af5c Merge pull request #3871 from rouault/auto_stretch
[FEATURE] Implement raster auto-stretching when updating canvas
2016-12-16 13:53:54 +01:00
Even Rouault
532eb58d1f [FEATURE] Implement raster auto-stretching when updating canvas
This commit implements the improvements described at:
https://lists.osgeo.org/pipermail/qgis-developer/2016-September/044393.html

The QgsRasterMinMaxWidget now offers a seetting to specify that the statistics
should be computed each time the canvas extent changes.

Other changes:
- the content of the QgsRasterMinMaxWidget is now persistant.
- there is no longer any Load button. The global Apply / OK button of the raster
  properties dialog has this effect.
- the default "limits" for single band raster is now MinMax and not CumulativeCut
- the default "limits" can be configured for single band, multi band single byte and
  multi band multi byte
- "Strech using current extent" honours the "limits" instead of forcing min/max.
2016-12-16 12:36:06 +01:00
Martin Dobias
8e5fb436b7 Remove QgsLabelingEngineInterface base class and implementation in QgsPalLabeling
It was ready to go for some time, just waiting for QgsMapRender that still used it.
2016-12-15 18:15:12 +08:00
Juergen E. Fischer
7ce2d3ebe0 api_break: QgsCrsCache was removed 2016-12-14 18:41:44 +01:00
nirvn
f02e4ad98f [FEATURE][raster] transparency support for paletted renderer 2016-12-14 14:24:02 +07:00
Martin Dobias
556582979a Rename QgsLegendModelV2 to QgsLegendModel 2016-12-12 03:27:14 +08:00
Martin Dobias
c783be1d04 Rename QgsComposerLegendStyle to QgsLegendStyle 2016-12-12 03:23:02 +08:00
Martin Dobias
3efc28d07b Remove legacy class QgsComposerLegendItem and subclasses 2016-12-12 02:42:04 +08:00
Martin Dobias
2c9f1ff579 Make map canvas independent from overview canvas, simplify QgsMapCanvas API 2016-12-11 16:41:07 +08:00
Martin Dobias
c143be7a73 QgsMapSettings and QgsComposerMap store layers for rendering as weak pointers
... instead of using layer IDs which need to be resolved using QgsProject
2016-12-10 18:50:52 +08:00
Martin Dobias
d56a97d4fe Merge QgsMapLayerRegistry into QgsProject
All methods/signals of QgsMapLayerRegistry moved verbatim to QgsProject.
2016-12-10 15:18:12 +08:00
Harrissou Sant-anna
e0912b8e2d Update API break doc 2016-12-07 12:09:56 +01:00
nirvn
ab4a37f760 [color ramp] save/restore invert state for cpt-city ramps 2016-12-05 10:20:28 +07:00
nirvn
0b9fbeb983 QgsColorRampComboBox is dead, long live QgsColorRampButton 2016-12-03 13:40:27 +07:00
Nyall Dawson
7de1cc2f13 Removed unused QgsLayerTreeModelLegendNode::SymbolLegacyRuleKeyRole 2016-12-02 13:55:41 +10:00
Nyall Dawson
6d0203d612 Change QgsVectorLayer::featureCount( QgsSymbol* symbol ) to instead
use a legend key string

Avoids crashes due to symbol pointer lifetime issues
2016-12-02 13:55:41 +10:00
Nathan
311f482725 Move profiler instance to QgsApplication 2016-11-23 14:03:25 +10:00
Martin Dobias
e5f62e49ce Remove legacy QgsLegendInterface, move still valid methods to QgisInterface 2016-11-22 08:25:01 +08:00
Nyall Dawson
3dcf03cf54 Merge pull request #3773 from alexbruy/network-analysis
Network analysis
2016-11-22 09:03:57 +10:00
Nyall Dawson
8c8be007b9 Remove redundant setLayer slots from QgsField(ComboBox|ExpressionWidget)
and switch uses of remaining slot to new style connects
2016-11-22 08:25:57 +10:00
Alexander Bruy
c1b6edc4fa update API breaks document 2016-11-21 16:47:24 +02:00
Alexander Bruy
137b19845a add note to the API breaks doc 2016-11-21 16:47:24 +02:00
nirvn
a8a05ba751 [symbology] add padding value for symbol/coloramp preview 2016-11-17 11:43:53 +07:00
Nyall Dawson
e624518e00 Merge pull request #3755 from nirvn/style_manager_upgrade
[FEATURE] Style management re-work and upgrade
2016-11-17 12:40:52 +10:00
Matthias Kuhn
f5f2850679 More api break documentation 2016-11-16 09:33:19 +01:00
Matthias Kuhn
5b4a88f8e0 [feature] Add layer scoped actions
Within the attribute table, there is a new button to trigger actions
which are not based on individual features but instead on the whole layer.
Normally they will perform actions based on all features or the selection.

In addition to this, a lot of cleanup has been done.
2016-11-16 09:33:19 +01:00