1859 Commits

Author SHA1 Message Date
Mathieu Pellerin
db848a3f1a Upgrade the save as image function into a background task (#4382) 2017-04-21 11:47:37 +07:00
Nyall Dawson
490f5f06fe Revise main window title bar text
- Change order to "project name - QGIS" to follow standard
convention (also avoids possible truncation of project name which is
more useful then the "QGIS" text)
- Don't show version number in release builds. Only show version
in dev builds instead. Showing the version number violates the
HIG for Windows and OSX (and probably Linux DEs too).
2017-04-20 11:44:32 +10:00
Martin Dobias
405da5950f Rename QgsNodeTool2 to QgsNodeTool 2017-04-18 10:58:57 +08:00
Nyall Dawson
cc5b9bfe17 More QgsDistanceArea API cleanups and simplification
- setEllipsoidalMode() was removed. Ellipsoidal calculations are
now enabled whenever a valid ellipsoid() has been set. Set the
ellipsoid to 'NONE' to disable ellipsoidal calculations.

- ellipsoidalEnabled() was removed. Ellipsoidal calculations
are now enabled whenever a valid ellipsoid() is set. Check
willUseEllipsoid() to determine whether ellipsoidal
calculations will be performed.

- sourceCrs() and setSourceCrs() now always take and return
QgsCoordinateReferenceSystem objects. All string/ID based CRS
methods were removed.

- geographic() was removed. This was only used internally
in one place, so was replaced with sourceCrs().isGeographic() instead.

- some largely overlapping measurement functions were consolidated
2017-04-18 08:14:16 +10:00
Martin Dobias
8a46a1d0dc R.I.P. old node tool 2017-04-17 16:18:30 +08:00
Martin Dobias
e73a52bb35 [FEATURE] New node tool implementation 2017-04-17 14:23:36 +08:00
Nyall Dawson
96d5b9dae6 Implement a QGIS 3.0 TODO for QgsMessageLogViewer, cleanup docs 2017-04-17 10:55:53 +10:00
Nathan Woodrow
29d228dd6e Opps :) 2017-04-12 13:21:28 +01:00
Nathan Woodrow
7694dd2d81 [FEATURE][needs-docs] Add better crash dialog 2017-04-12 22:18:56 +10:00
Alessandro Pasotti
090d5305e5 [feature][needs-docs] Master Password integration with OS password manager
This PR adds (optional) synchronization of the master password
with the OS password manager (AKA wallet/keychain).

A set of new menu items has been added in the options ->
authentication -> utilities to manage the new behavior.

Notifications are handled by the message bar unless the
password r/w operation is triggered from a modal dialog,
in this case the notifications will be routed through
the recently exposed QgisApp::showSystemNotification
that uses the OS tray notifications.

This new feature requires libqt5keychain, and was tested
with v. 0.5+
2017-04-11 15:00:29 +02:00
Nyall Dawson
a45e5700da Use weak pointers for registered QgsOptionsWidgetFactorys
Avoids QGIS crashing if a plugin crashes without deregistering
its QgsOptionsWidgetFactory.
2017-04-11 14:25:50 +10:00
Nyall Dawson
110828feab [FEATURE] Background saving of raster layers
Use the task manager framework to handle saving of raster layers
in the background
2017-04-07 08:18:57 +10:00
Nyall Dawson
f92f14df70 Spell check: vecotr -> vector 2017-04-03 13:18:36 +10:00
Nyall Dawson
676dc1a1d6 Remove redundant doxygen comments from .cpp files, move to .h
where appropriate
2017-04-03 13:18:36 +10:00
Martin Dobias
cabd980a2e Initial port of CAD-enabled node tool 2017-03-29 15:59:47 +08:00
Nyall Dawson
31762193df Merge pull request #4290 from nyalldawson/fix_16149
Fix incorrect project CRS when loading project (fix #16149)
2017-03-29 13:37:39 +10:00
nirvn
da41af1481 fix ArcGIS Feature/Map Server connect() 2017-03-29 10:15:41 +07:00
Nyall Dawson
b31d18e5df Avoid redrawing map views multiple times on creation 2017-03-28 13:38:07 +10:00
Nyall Dawson
5b9dc9dca5 Allow labels to be toggled in map views
Another step toward feature parity with overview panel
2017-03-28 13:18:24 +10:00
Nyall Dawson
7aa4fa090b Fix some valgrind issues 2017-03-26 16:51:36 +10:00
Nathan Woodrow
2dac2d3bac Hide and show system tray icon on all platforms 2017-03-24 23:43:24 +10:00
Nathan Woodrow
4c0ace9569 Hide system tray icon on Windows 2017-03-24 13:32:41 +01:00
Nyall Dawson
4d42d769e6 Allow showing main canvas extent in extra map views
Another step toward multicanvas replacing map overview panel
2017-03-24 08:34:49 +10:00
Matthias Kuhn
f33aabd90a Completely move layer order to core 2017-03-23 15:29:12 +01:00
Nyall Dawson
21df6252f0 Fix incorrect project CRS when loading project (fix #16149)
This commit fixes a situation where loading a project results
in incorrect project & canvas CRS. The bug is trigerred whenever
something in the project load calls a processEvents() call, eg
restoring a project with layer count enabled on a layer
or with a composer html item.

When this occurs, the "auto-set CRS to first added layer" code
would kick in early and replace the project's CRS with that
of the first layer loaded.

To avoid this disable the "auto-set CRS" code when loading
layers from a project.
2017-03-22 12:33:50 +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
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
bd17999755 Swap QgisApp to use new style connects 2017-03-21 16:49:13 +10:00
Nyall Dawson
eb742bd2cd Fix possible null pointer dereference 2017-03-21 15:29:18 +10:00
Nyall Dawson
a1160e9e36 Fix Windows build 2017-03-21 11:51:22 +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
dbf0160327 Rework atlas layer action to handle temporary composer windows 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
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
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
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
Nyall Dawson
bfb15da416 Use layout manager when testing for unique composer names 2017-03-21 10:32:52 +10:00
Nyall Dawson
3a1ac1a995 [composer] Attach compositions to QgsProject
This adds a new QgsLayoutManager class which is used for
storage and serializing/deserializing of compositions.

A QgsLayoutManager is attached to QgsProject. This allows
core code to access the compositions attached to a project.
The intention is to move all handling of compositions from
app to core, making it easy for server to access project
compositions without resorting to fragile xml parsing.
2017-03-21 10:32:52 +10:00
Nyall Dawson
c412596b64 Better saving/restoring of map view dock position
Inspired by Sourcepole's kadas-albireo
2017-03-21 10:12:56 +10:00
Alessandro Pasotti
f60dc81102 Wrap and expose system tray notifications (#4286)
* Wrap and expose system tray notifications

* System tray notifications: renamed to showSystemNotification and const
2017-03-20 17:01:42 +01:00
Nyall Dawson
0ed1414885 Fix map not refreshed when deselecting/inverting selection (fix #16365) 2017-03-20 10:45:38 +10:00
Etienne Trimaille
24e3214eda add checkbox to open sublayers in a group 2017-03-17 17:19:51 +01:00
Nyall Dawson
47a71135a4 Fix some suffixes for spin boxes 2017-03-16 14:23:53 +10:00
Nyall Dawson
738f4415d9 Merge pull request #4253 from nyalldawson/multi_canvas2
[FEATURE] Multi canvas/additional map views
2017-03-15 10:06:39 +10:00
Nyall Dawson
0afc88e07f Make sure main canvas is always synced to project CRS (part 1)
Fix #16337
2017-03-14 16:45:41 +10:00
Nyall Dawson
2d37ca9bd9 Add method to interface to close map canvases 2017-03-14 12:20:58 +10:00
Nyall Dawson
57637ca81c Rework sync extent option for map views
Instead of a single sync extent option, the option has been split
into a "sync map center" option, and a "sync scale" option.

Sync center just does that - syncs the center of the map without
changing the scale. This allows you to have an overview style
or magnified map which follows the main canvas center.

Sync scale borrows from the Auxillary Window/Dockable Mirror
Map plugin approach. If sync scale is enabled, a "scale factor"
is utilised to multiply the main canvas scale. This allows
you to have a view which is e.g. always 2x the scale of the
main canvas.

Splitting the sync extent option like this allows us to address
a much wider set of use cases with map views (at the cost of
a bit of UI complexity). It also helps cover more of the
feature set from the Aux Window/Dockable Mirror Map plugins,
hopefully allowing this built-in view approach to make the need
for 3rd party plugins redundant.
2017-03-14 12:00:30 +10:00
Nyall Dawson
e21b908080 Port cursor marker from Aux Window plugin to multi canvas
Shows a marker in map views indicating the position of the cursor
in the main canvas. Can be toggled on/off as desired.
2017-03-14 11:01:03 +10:00