1
0
mirror of https://github.com/qgis/QGIS.git synced 2025-03-25 00:05:03 -04:00

44878 Commits

Author SHA1 Message Date
Nyall Dawson
0052eb830e Add unit test for pdf exports 2017-12-18 16:33:26 +10:00
Nathan Woodrow
00dbc73d43 Setup QgsSettings in the correct order
We don't have the location of QGIS.ini until we know the profile
so we can't use QgsSettings to get the global settings before this.
2017-12-18 16:28:36 +10:00
Nyall Dawson
b4829a78d4 Open folder rather than file when clicking message bar after export 2017-12-18 16:05:42 +10:00
Nyall Dawson
d49a3a2599 Fix coverity uninitialized member warning 2017-12-18 15:40:34 +10:00
Nyall Dawson
d998c3ea28
Merge pull request from nyalldawson/fix_17254
Fix creation of QgsCoordinateReferenceSystem from "user:xxxx" strings
2017-12-18 16:37:15 +11:00
Nathan Woodrow
0a6eb127b5 Fix drag and drop for qgz files. List in browser 2017-12-18 14:33:27 +10:00
Juergen E. Fischer
25635f0bb6 include qgscoordinatetransformcontext_p.h in install 2017-12-18 04:12:21 +01:00
Nathan Woodrow
8ca5b2a2d1 enableAutoGeometryRestore dialog updates 2017-12-18 12:39:26 +10:00
Nathan Woodrow
ea5f3c6913 Generate safe widget name in QgsWidgetStateHelper
Assert is a bit rough here so just warn devs
2017-12-18 11:49:55 +10:00
Nathan Woodrow
7f474a097f Fix - Use guid to make temp file name for zip file
QTemporaryFile doesn't work here with QgsZipUtils on Windows for some
reason but is fine on Linux.  Yay development!
2017-12-18 09:55:43 +10:00
Nyall Dawson
2e6386e691 Use more performant QRegularExpression for matching 2017-12-18 09:31:43 +10:00
Nyall Dawson
8cb4893817 Fix creation of QgsCoordinateReferenceSystem from "user:xxxx" strings
Fixes 
2017-12-18 09:27:00 +10:00
Nyall Dawson
b59bd94e87
Merge pull request from nyalldawson/layout_next
Layout raster image exports
2017-12-18 08:29:07 +11:00
Denis Rouzaud
b630a407b5 missing SIP_OUT 2017-12-17 08:55:10 -04:00
Nyall Dawson
492f9ea18c Update test mask images 2017-12-17 14:18:37 +10:00
Nyall Dawson
831732f3a3 Sipify 2017-12-17 14:18:36 +10:00
Nyall Dawson
662ec7a77c Use unique_ptr over raw array 2017-12-17 14:14:48 +10:00
Nyall Dawson
ffb9d0cbcf Guard QgsLayoutExporter against nullptrs 2017-12-17 14:14:48 +10:00
Nyall Dawson
9ab813f344 Better memory management 2017-12-17 14:14:48 +10:00
Nyall Dawson
8d1e7170d5 Add missing parents to message boxes 2017-12-17 14:14:48 +10:00
Nyall Dawson
eb25ab7900 Fix pdf export page sizes 2017-12-17 14:14:48 +10:00
Nyall Dawson
8f0144b32b Fix some multiple updates from gui, squash some undo commands 2017-12-17 14:14:48 +10:00
Nyall Dawson
db17c2c43a Restore data defined page orientation control 2017-12-17 14:14:48 +10:00
Nyall Dawson
5d6a509636 Restore data defined page orientation 2017-12-17 14:14:48 +10:00
Nyall Dawson
65f4c4acef Port orientation decoding code from composer 2017-12-17 14:14:48 +10:00
Nyall Dawson
447a94909f Fix items moving after altering page size or inserting/deleting pages 2017-12-17 14:14:48 +10:00
Nyall Dawson
f649f1f8a7 [layouts][needs-docs] Add control for whether pages should be
exported, including data defined setting

This replaces the 2.x data-defined "number of pages" setting.
Instead of requiring users to develop an expression to return
the number of pages, instead we allow individual pages to have
a data defined control of whether that page should be included
in the export.

This is more flexible, and works correctly with the mixed page
size model for layouts.
2017-12-17 14:14:48 +10:00
Nyall Dawson
3704c48bc0 Add links to open exported images in message bar 2017-12-17 14:14:48 +10:00
Nyall Dawson
26315894d1 Add some layout related actions to app toolbar 2017-12-17 14:14:48 +10:00
Nyall Dawson
5601fc985f Add new page icon to toolbar 2017-12-17 14:14:48 +10:00
Nyall Dawson
ca37a1ebd7 Fix drawing of map items (grids, overviews) when rendering map item as a raster item 2017-12-17 14:14:31 +10:00
Nyall Dawson
770ffdf614 Fix incorrect detection of grids with advanced effects 2017-12-17 14:14:31 +10:00
Nyall Dawson
ab7873cd23 Fix crash in ui while working with map grids 2017-12-17 14:14:31 +10:00
Nyall Dawson
c7abf46615 Update test masks 2017-12-17 14:14:31 +10:00
Nyall Dawson
2b0ed508bd Tweak logic regarding page item margins following forced re-render
of layout items when exporting (i.e. disabling of cached item render)

The old issue of semi-transparent pixels around the edge of the page
had reared again. This is caused by the antialiasing while rendering
the page symbol. In order to avoid this, we cater to the most common
use case of having pages with a solid, borderless fill and slightly
extend the fill symbol polygon outside the page by 2 pixels
(determined by trial-and-error). The less common use case of having
a page symbol containing a border suffers by this border being
clipped by a couple of pixels, but we must address the much more
common use case over this.
2017-12-17 14:14:31 +10:00
Nyall Dawson
d3aee951ef Tweak logic regarding when a map item forces the whole layout
to be rasterised
2017-12-17 14:14:31 +10:00
Nyall Dawson
261492ddca Add a messagebar to layout designer 2017-12-17 14:14:31 +10:00
Nyall Dawson
b992e871ee [layouts][FEATURE] Don't force the whole layout to be rasterized
when exporting to PDF

If an individual layout item needs rasterisation in order to
be exported correctly, it can now be individually rasterised
without forcing every other item to also be rasterised.

This allows exports to PDF keeping as much as possible as vectors,
e.g. a map with layer opacity won't force labels, scalebars, etc
to be rasterised too.

To accompany this, a new "Always export as vectors" checkbox
was added to layout properties. If checked, this will force
the export to keep items as vectors, even when it causes the
output to look different to layouts.

Fixes 
2017-12-17 14:14:31 +10:00
Nyall Dawson
91179f1396 Work on PDF export 2017-12-17 14:14:31 +10:00
Nyall Dawson
a59dce5048 Move containsAdvancedEffects test to QgsLayoutItem
And start a generic test library for all item types to ensure
correct behavior for QgsLayoutItem subclasses

Currently justs tests to ensure that overriden
containsAdvancedEffects methods also call the base class
test
2017-12-17 14:14:31 +10:00
Nyall Dawson
0110b43362 Update tests masks 2017-12-17 14:14:31 +10:00
Nyall Dawson
8b1e057d2c Make QgsLayoutExporter::generateFileName virtual, so exporter
subclasses can be made which customise the generated file names
2017-12-17 14:14:31 +10:00
Nyall Dawson
48b6e02c8f Spelling 2017-12-17 14:14:31 +10:00
Nyall Dawson
2f0969e2bd Expose antialiasing option in image export dialog
Allows for creating non-antialiased images from layouts. Note that
some layout item types do not correctly respect this setting, but
at least map items do and the API is in place for them to be
fixed later.

Fixes 
2017-12-17 14:14:31 +10:00
Nyall Dawson
0f9aaf4c44 Expose world file option in image settings dialog 2017-12-17 14:14:31 +10:00
Nyall Dawson
953d2c437d [layouts] Resurrect action for exporting to raster images
...this time, without all the useful code locked away in app!
2017-12-17 14:14:31 +10:00
Nyall Dawson
113664fe2e Port method for pausing layout view updates 2017-12-17 14:14:31 +10:00
Nyall Dawson
1b8f4a09ba Add method to determine file path for exports which encountered errors 2017-12-17 14:14:31 +10:00
Nyall Dawson
5cf36cd819 Add method to detect whether layout has uniform page sizes 2017-12-17 14:14:31 +10:00
Nyall Dawson
069a0baa40 Expose some more export related settings to GUI 2017-12-17 14:14:31 +10:00