1258 Commits

Author SHA1 Message Date
Juergen E. Fischer
90fa6c2e91 sub layer dialog: sort by layer id and feature count numerically (fixes #16917) 2017-07-22 13:41:20 +02:00
Nyall Dawson
38c8268400 Allow setting width/height spin boxes to link to QgsRatioLockButton
When set, these spin boxes will automatically be updated when their
accompanying spin box changes value so that the ratio is maintained.
2017-07-21 14:20:45 +10:00
Mathieu Pellerin
0665072d94 [FEATURE] Locked aspect ratio state for Save as image/PDF" (#4880)
Sponsored by Andreas Neumann.
2017-07-19 15:04:52 +07:00
Juergen E. Fischer
4f9a9e0360 s/( )/()/; s/== /== /; s/!= /!= /; 2017-07-19 09:19:37 +02:00
Alessandro Pasotti
0b263f9ac6 Merge pull request #4737 from boundlessgeo/browser-sync
[bugfix] Sync the browser connections when changed from the select dialogs
2017-07-18 13:27:32 +02:00
Mathieu Pellerin
6acd326a8f [FEATURE] Draw extent onto canvas in save as image/PDF dialog (#4878) 2017-07-18 18:13:52 +07:00
Alessandro Pasotti
bd925cd648 Rebase and partially revert 9bae83275368
All signals are now in the base class, even if only
a subset of available providers actually emits them.

This way we can handle all source select dialogs
the same way, regardless if they are vector, DB
or raster (or others).
2017-07-18 12:15:57 +02:00
Alessandro Pasotti
e83ef2e8b5 Store canvas into the base class and set extent/crs from the arcgis classes
This modification was necessary because the current implementation
of the source select dialogs within the unified add layer dialog
create the provider dialogs the first time and do not destroy
them, this means that the canvas extent and CRS can change from
a dialog invocation to the next and the extent and CRS need to
be updated at layer creation time.
2017-07-18 11:45:07 +02:00
Alessandro Pasotti
73b66fa1f5 Homogenize signals from different source select dialogs, move to base class 2017-07-18 11:45:07 +02:00
Alessandro Pasotti
f6c8ef3ad1 Complete documentation for connectionsChanged signals 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
c4e26d72c0 Renamed base class to QgsAbstractDataSourceWidget 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
aba9da5bc4 Refactored all providers to use the new base class
Also use refreshConnections from the data items when
a refresh is required, this function also emits
the signal to update the other GUI elements.
2017-07-18 11:42:02 +02:00
Alessandro Pasotti
1e6a4ab301 Added since 3.0 to the renamed class 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
7bb797f8a9 Renamed QgsSourceSelectDialog to QgsArcGisServiceSourceSelect 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
bc516cf82a Added since 3.0 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
385bb86854 SIP include 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
593770a579 Added python bindings for the base source select class 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
e57399bae0 [bugfix] Sync the dialogs connections when changed from the browser
For now it's only for WMS but you get the idea.

There is a new abstract base class for the source select
dialogs, that will grow with common behavior for all
the select dialogs.

Signals are forwarded from the (root) data items to the
app and then delivered to the various browser instances
and to the unified layer dialog.

A change in one of the browser items should trigger a
refresh in all the other browsers and dialogs.
2017-07-18 11:38:53 +02:00
Alessandro Pasotti
9ff73c0b77 [bugfix] Sync the bowser connections when changed from the select dialogs
For now, the sync works only in one direction: from the dialogs
to the browser instances
2017-07-18 11:38:53 +02:00
Juergen E. Fischer
9bae832753 add (unemitted) signals to provider source selectors to silence data
source manager connection warnings
2017-07-18 00:09:32 +02:00
Juergen E. Fischer
bae6d56388 consider datum transformation when pasting features (fixes #16846) 2017-07-17 22:22:49 +02:00
Nyall Dawson
1b93cdae71 Spelling update 2017-07-11 14:24:14 +10:00
Nyall Dawson
28cd9addab Restore rulers in layout designer 2017-07-11 14:21:35 +10:00
Nyall Dawson
c25aab16b0 Port display of cursor location from composer 2017-07-11 12:57:38 +10:00
Nyall Dawson
02d0a046f8 Add some shortcuts to zoom to layout/layout width in status bar combobox 2017-07-11 12:23:30 +10:00
Nyall Dawson
e27a32d41c Add status bar zoom control to layout designer 2017-07-11 11:48:22 +10:00
Nyall Dawson
ac83093570 Port zoom actions from composer to layout designer 2017-07-11 11:06:36 +10:00
Nyall Dawson
cf488d34a4 Split layout item registry into two separate registries
Instead of relying on forward declared c++ classes from
gui in QgsLayoutItemRegistry, instead create a
QgsLayoutItemGuiRegistry which handles registration
of all the GUI specific behavior relating to layout items.

Remove all GUI related code from QgsLayoutItemRegistry.

This creates a cleaner split between core/gui code, and
given that there'll be a lot of gui specific behavior
which needs to be handled by a registry it makes sense
to keep this isolated in gui.

It also plays nicer with the sip bindings, which can't
handle forward declared gui classes in core.
2017-07-11 11:06:36 +10:00
Nyall Dawson
0307cac325 Port ability to pan layouts with middle mouse button depressed 2017-07-11 11:06:36 +10:00
Nyall Dawson
b9bbd91754 Port ability to navigate layouts using space-pan and ctrl-space zoom 2017-07-11 11:06:36 +10:00
Nyall Dawson
20ca51b59c Port ability to wheel zoom into/out of layout designer 2017-07-11 11:06:36 +10:00
Nyall Dawson
4065a7ff67 Add shell for non-functional layout select tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
dc0425abee Update cursor on alt press/release for zoom tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
7974597c08 Add a zoom tool to designer dialog 2017-07-11 11:06:36 +10:00
Nyall Dawson
41b98aa23c Add layout zoom tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
867bdb6117 Move click-and-drag detection to QgsLayoutViewTool 2017-07-11 11:06:36 +10:00
Nyall Dawson
5cac2f71f0 Allow setting pen/brush for QgsLayoutViewRubberBand 2017-07-11 11:06:36 +10:00
Nyall Dawson
a346736df2 Handle tool changes mid press-release operation
Because it's possible for users to change the tool while a
press release operation is mid-way, e.g. by pressing a tool
shortcut key.
2017-07-11 11:06:36 +10:00
Nyall Dawson
3f66520828 Add layout panning tool 2017-07-11 11:06:36 +10:00
Nyall Dawson
db62a745eb Add a temporary layout item type for testing 2017-07-11 11:06:36 +10:00
Nyall Dawson
86bc8af216 Add some unit tests 2017-07-11 11:06:36 +10:00
Nyall Dawson
3843b5ef37 Create rubber band classes for layout views
c++ QgsLayoutItem metadata classes can directly register
a function which creates a QgsLayoutViewRubberBand for the item
subclass.

Python code cannot utilise this shortcut (due to inaccessibility
of forward declared gui classes from core Python classes), so
there's a separate gui registry utility class added for registering
prototypes for rubber bands for already registered item types.
2017-07-11 11:06:36 +10:00
Nyall Dawson
4ebea75e6a Subclass QMouseEvent to QgsLayoutViewMouseEvent
For easy access to mouse event coordinates in layout coordinate
space (and future use with snapped item coordinates)
2017-07-11 11:06:35 +10:00
Nyall Dawson
a6ccd63bc8 Start implementing an add item tool 2017-07-11 11:06:35 +10:00
Nyall Dawson
25034979e3 Add some unit tests for layout tools 2017-07-11 11:06:35 +10:00
Nyall Dawson
99f34300b9 Add shell classes for layout view tools
Copy the same model as QgsMapCanvas uses, with separate
classes for individual interaction tools instead of keeping
all the logic in the QGraphicsView subclass (as is done
with composer)
2017-07-11 11:06:35 +10:00
Nyall Dawson
4c2447fd89 Add shell for QgsLayoutView 2017-07-11 11:06:35 +10:00
Matthias Kuhn
e2c84f1a50 Merge pull request #4669 from nyalldawson/spinbox_ctrl
When holding ctrl while mouse wheeling on spin box, increase in smaller amounts
2017-07-08 10:37:00 +02:00
Matthias Kuhn
875a5d6d9d Merge pull request #4818 from DelazJ/spelling
Fix some spelling issues
2017-07-08 10:20:40 +02:00
Matthias Kuhn
9581fe0a10 [FEATURE] Add snapping results to default value calculation
... as @snapping_results variable
2017-07-07 12:58:55 +02:00