24 Commits

Author SHA1 Message Date
Nyall Dawson
885269ee78 Only create composer item config widgets on demand
Instead of creating them for all items when composer window
is opened, instead just create and destroy them when
required. None are too heavy to have a noticable delay
when selecting items, but in contrast keeping them around
forever is wasteful on memory.

Also clean up a lot of duplicate composer/composition
code and remove unnecessary signals from api (use a single
itemAdded signal instead of multiple signals for every
item type)
2017-03-21 10:32:53 +10:00
Juergen E. Fischer
b9162dccdf scripts/astyle-all.sh run 2017-03-03 15:37:12 +01:00
Nyall Dawson
d19e70700f Ensure all pointer variables are initialized to nullptr 2017-02-18 20:23:18 +10:00
Nyall Dawson
a188d14f48 Remove map settings parameter from QgsComposition
Breaks the hard link between canvas and compositions!

Fix #11077
2017-01-24 14:32:08 +10: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
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
Nyall Dawson
fae8071a1e Fix clazy qstring-arg warnings
Avoid chained QString::arg() calls and instead use the multi-arg
overload to save memory allocations
2016-10-22 22:46:15 +10:00
Sandro Santilli
a211c982cf Allow to undo/redo composer grouping/ungrouping
Fixes #11371 (crash on ungrouping after moving the group) and more
undo/redo related issues.

Enable pending test for the crash (now passing) and add many more
undo/redo related ones (including signals testing).

Includes a new QgsGroupUngroupItemsCommand class
and its SIP bindings.
2016-06-17 13:41:56 +02:00
Nyall Dawson
eb31e01a2f Move QgsCompositionChecker to core, speeds up compilation with
tests enabled
2016-03-07 09:38:36 +11:00
Nyall Dawson
385a608a0b Fix a bunch of leaks in unit tests 2015-08-25 21:40:41 +10:00
Juergen E. Fischer
92af85b7a2 coverity fixes 2015-07-07 20:16:26 +02:00
Juergen E. Fischer
83bb33cad5 cleanup composer test map settings 2015-07-05 11:20:13 +02:00
Juergen E. Fischer
9b976cfe26 test cleanups and some fixes 2015-07-02 04:22:52 +02: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
Juergen E. Fischer
0f9397028e fix more cppcheck issues 2015-02-07 18:40:42 +01:00
Juergen E. Fischer
bff64fdef9 indentation update 2014-12-30 22:47:09 +01:00
Matthias Kuhn
cae6baea90 Formatting of tests 2014-11-21 11:45:33 +01:00
Matthias Kuhn
78c519546a Add Qt5 support 2014-11-21 11:45:32 +01:00
Matthias Kuhn
1c2bdf1ea3 Switch tests to automoc
Required for Qt5 compatibility
Raises minimum CMake version to 2.8.6
2014-11-04 09:18:26 +01:00
Nyall Dawson
64f0fdf371 Expand composer item group test suite 2014-10-19 14:45:19 +11:00
Nyall Dawson
0f4bd4e0fc [composer] Move ungrouping logic from composer view to composition
As per previous commit, this is useful for plugin authors. It also
fixes a potential bad crash (itemRemoved emitted for group item after
the group item was already deleted) and adds unit tests.
2014-10-19 14:45:19 +11:00
Nyall Dawson
993f0dcd3d [composer] Move code for creating groups to QgsComposition
Previously this code was located in QgsComposerView. Moving it to
QgsComposition simplifies grouping items for plugins. Also start
a new unit test for QgsComposerItemGroup.
2014-10-19 14:45:19 +11:00