37601 Commits

Author SHA1 Message Date
Alexander Bruy
060a57f12b Merge pull request #4287 from nyalldawson/processing_default_layer
[processing] Default to current layer in layer selection combos
2017-03-22 08:18:19 +02:00
Nyall Dawson
746d288e33 Don't emit layerOrderChanged when removing layers
Otherwise it automatically enables the layer order panel
2017-03-22 13:01:32 +10:00
Nyall Dawson
b8fd1fd7db Some more use of QgsProject crs instead of canvas crs 2017-03-22 11:46:48 +10:00
Nyall Dawson
8593e38705 Add missing api break note 2017-03-22 11:15:40 +10:00
Nyall Dawson
0500865b3f Set default layer CRS according to behaviour radio (fix #11889)
Makes the new layer dialogs correctly respect the current project
CRS choice when set to follow project CRS.
2017-03-22 11:13:30 +10:00
Nyall Dawson
1042b442ca [composer] Fix maps defaulting to rectangle preview mode 2017-03-22 10:27:04 +10:00
Nyall Dawson
7c79803cc3 Add missing dynamic cast for QgsTriangle to sip bindings 2017-03-22 10:20:01 +10:00
Nyall Dawson
a8e8eec95d Convert almost all core connects to new style
Just a handful remain which for various reasons cannot
be converted
2017-03-22 10:03:43 +10:00
Nyall Dawson
b7d2b9fd72 Merge pull request #4283 from nyalldawson/filterrect
Remove QgsFeatureRequest::FilterRect
2017-03-22 07:38:53 +10:00
Nyall Dawson
2e9f99693d Merge pull request #4281 from nyalldawson/does_not_contain
[FEATURE][processing] Add 'does not contain' to Extract By Attribute
2017-03-22 07:37:56 +10:00
Nyall Dawson
aad182fdc0 Merge pull request #4274 from nyalldawson/scroll_timer
A different approach to avoiding accidently scroll changes
2017-03-22 06:23:55 +10:00
lbartoletti
fb3d07f3f5 [FEATURE] New class for triangle
Adds a new geometry class for Triangle geometries

Methods include orthocenter, bisectors, medians, medial, circumscribed (center,
radius), inscribed (center, radius)

Also adds make_triangle expression function for creating triangles
2017-03-21 18:50:47 +10:00
Nyall Dawson
0710fb5da8 Flip some connects to new style 2017-03-21 17:06:55 +10:00
Nyall Dawson
bd17999755 Swap QgisApp to use new style connects 2017-03-21 16:49:13 +10:00
jdugge
45f2cd5583 Fix duplicate QgsRectangle.toString methods
Condenses the 2 duplicate methods to a single method which is usable from the Python bindings.
2017-03-21 15:58:39 +10:00
Nyall Dawson
b54fe1e3a5 Use a clearer marker for main canvas position in view windows 2017-03-21 15:49:42 +10:00
Nyall Dawson
f6699332a3 Fix Coverity null pointer derefence issues 2017-03-21 15:37:38 +10:00
Nyall Dawson
ce6783a34b Fix Coverity null pointer dereference error 2017-03-21 15:35:07 +10:00
Nyall Dawson
51c1d67091 Fix Coverity null pointer dereference warning 2017-03-21 15:32:56 +10:00
Nyall Dawson
e17c263e7b Remove unnecessary null check 2017-03-21 15:31:44 +10:00
Nyall Dawson
05a3ce3be6 Fix broken logic test in QgsFeatureListModel conditional styles 2017-03-21 15:30:48 +10:00
Nyall Dawson
eb742bd2cd Fix possible null pointer dereference 2017-03-21 15:29:18 +10:00
Nyall Dawson
545da60a77 Fix coverity use of uninitialized variable error 2017-03-21 15:24:14 +10:00
Nyall Dawson
f0709ae31e Merge pull request #4279 from nyalldawson/layout_manager2
Rework handling of compositions and projects, and composer windows
2017-03-21 13:25:42 +10:00
Nyall Dawson
ab11dfb7f9 [composer] Don't load HTML for labels on project load
Instead defer to composer load. Also make sure html is reloaded
when composition is force refreshed.
2017-03-21 12:50:49 +10:00
Nyall Dawson
9cba265876 Better handling of composer map forced refreshes 2017-03-21 12:32:19 +10:00
Nyall Dawson
7f1a07487a Fix missing initial render of composer maps 2017-03-21 11:51:34 +10:00
Nyall Dawson
a1160e9e36 Fix Windows build 2017-03-21 11:51:22 +10:00
Nyall Dawson
77706a6447 Avoid multiple map/legend renders while loading compositions 2017-03-21 10:32:53 +10:00
Nyall Dawson
ce3c854fd2 Remove hack to get composer maps to follow canvas 2017-03-21 10:32:53 +10:00
Nyall Dawson
041129d507 Fix loading composition triggers render of all composer maps
Also cleanup some more unused API methods
2017-03-21 10:32:53 +10:00
Nyall Dawson
8d01573168 Add/refine test masks for server test 2017-03-21 10:32:53 +10:00
Nyall Dawson
c9b87387fa Fix restoration of compositions from legacy projects 2017-03-21 10:32:53 +10:00
Nyall Dawson
54d1a93c17 Add missing TransferThis annotation 2017-03-21 10:32:53 +10:00
Nyall Dawson
c66026886e Don't use combobox of existing composer names in new composer title dialog
It's odd UX - selecting any of these results in an error message,
so giving them as choices is misleading.

Fix #12673 (indirectly)
2017-03-21 10:32:53 +10:00
Nyall Dawson
4a993de579 Fix crash when reopening composers 2017-03-21 10:32:53 +10:00
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
Nyall Dawson
dbf0160327 Rework atlas layer action to handle temporary composer windows 2017-03-21 10:32:53 +10:00
Nyall Dawson
2e94f7de4c Remove another use of old iface methods 2017-03-21 10:32:53 +10:00
Nyall Dawson
53160c7b21 [composer] Port composer manager to layout manager
Also switch to using a proper model to show/edit compositions
in the dialog.
2017-03-21 10:32:53 +10:00
Nyall Dawson
3aef32a191 [composer] Rework interface composer methods
Since composer windows are now only created on demand, and
destroyed when the window is closed, the old interface methods
no longer apply. The new interface methods openComposers(),
openComposer(), closeComposer(), composerOpened(),
composerWillBeClosed() and composerClosed() are similar, but
only apply to composer windows when they are exist (i.e.
are currently open).

To access all compositions from a project, the project's
layoutManager() should be used instead.

Additionally, the new interface methods work with
QgsComposerInterface objects instead of QgsComposerView
objects. This should allow future hooks for plugins to interact
with open composer windows in a more useful way.
2017-03-21 10:32:53 +10:00
Nyall Dawson
b408952815 Add a basic interface for composer windows
Not much there yet, but it adds an interface with stable API
which can be used by plugins and scripts to interact with
composer windows.

Could be expanded in future to add hooks for toolbars, menus,
etc, allowing plugins to extend composer functionality.
2017-03-21 10:32:53 +10:00
Nyall Dawson
148e2bcf52 Better method to autogenerate composer names 2017-03-21 10:32:53 +10:00
Nyall Dawson
b6c76186b4 Restore opening existing composers 2017-03-21 10:32:53 +10:00
Nyall Dawson
79a11dcdfe Extend layout manager tests 2017-03-21 10:32:52 +10:00
Nyall Dawson
5722f15a6e Remove more ununused composer code, fix updating existing
compositions when settings change
2017-03-21 10:32:52 +10:00
Nyall Dawson
8c8ac61512 Port composer template saving and duplicating to layout manager 2017-03-21 10:32:52 +10:00
Nyall Dawson
8478b7abdf [composer] Allow floating docks
Now that composer windows are deleted on close, we no longer
suffer from the Qt bug which keeps floating docks open when
the window is hidden
2017-03-21 10:32:52 +10:00
Nyall Dawson
9be22e1938 Remove more unneeded composer window code 2017-03-21 10:32:52 +10:00
Nyall Dawson
c60a73cb9a [composer] Composer windows are created on demand and destroyed on close
Avoids having to create a window and all widgets for every
composition when loading a project. Speeds up loading
projects.

Fix #15193
2017-03-21 10:32:52 +10:00