16 Commits

Author SHA1 Message Date
Nyall Dawson
92af1dacaf Replace default constructors/destructors with = default 2017-10-01 06:52:14 +10:00
Juergen E. Fischer
b9162dccdf scripts/astyle-all.sh run 2017-03-03 15:37:12 +01:00
Nyall Dawson
a80258f82e Fix some leaks in test suite 2017-02-08 13:16:39 +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
Nyall Dawson
850171cbb5 Optimise destructors (pt 1)
- Remove some non-base class empty destructors. These add no value
and it's better to let the compiler auto generate optimised versions
- use virtual ~Class = default instead of virtual ~Class {}
2016-12-30 13:52:57 +10: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
Matthias Kuhn
dfd9833467 Let all tests work with a proper QgsApplication instance 2016-12-20 01:20:08 +01:00
Nyall Dawson
4166a3ea62 Fix most clazy qstring-unneeded-heap-allocations warnings
By flipping string literals to QStringLiteral/QLatin1String

see

https://woboq.com/blog/qstringliteral.html
2016-10-24 15:26:24 +10:00
Juergen E. Fischer
3142c846e5 fix windows build and some warnings 2016-07-19 14:00:27 +02:00
Juergen E. Fischer
8214608169 more nullptr updates (folloup 320c696) 2015-12-16 16:29:29 +01:00
Juergen E. Fischer
1b4ca622c9 add cppcheck fixes 2015-10-03 21:57:17 +02:00
Nyall Dawson
0587a59b39 Only save effect element if it is non-default
(decreases file size of qgs project files)
2015-10-01 06:54:59 +10:00
Denis Rouzaud
9e3183c63f Revert "sort includes"
This reverts commit 2b7d3d3c73b50ba6dc74abec6dd652ff1b87c0ec.
2015-06-10 14:54:47 +02:00
Denis Rouzaud
2b7d3d3c73 sort includes 2015-06-10 13:59:08 +02:00
Matthias Kuhn
c2fb5e19e2 Revert "Streamline singleton behavior"
This reverts commit b4a85471978b59b129c0299dfd14c1af00fef743.

The template based approach was not cross-platform friendly. When
cross-compiling for Android it caused a new instance of every singleton per
shared library.

Mostly using the magic statics pattern instead now:
See http://stackoverflow.com/a/11711991/2319028

Important things to remember for crash on exit:

 * QgsNetworkAccessManager needs to die before QApplication
 * QgsMapLayerRegistry needs to be emptied before QgsProviderRegistry goes away

And finally:
DON'T USE SINGLETONS!
They are for "one and only one" and not for "happens to be only one" situations.
2015-04-28 17:41:39 +02:00
Nyall Dawson
742f3233ee [FEATURE] Paint effects for layers and symbol layers
This commit adds a new framework for implementing paint effects, which
modify the results of QPainter operations to apply visual effects
such as drop shadows and blurs.

The initial implementation allows for effects to be applied to entire
layers and individual symbol layers.

Included are a drop shadow, inner shadow, blur, inner glow, outer glow,
colorise and transform effect. A "stack" effect is also implemented
which allows other paint effects to be combined in various ways.

Sponsored by hundreds of generous kickstarter contributors!
2015-03-28 20:04:50 +11:00