[qgis] 01/06: Imported Upstream version 2.8.1
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Fri Feb 27 00:30:58 UTC 2015
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository qgis.
commit 343e3038aae3beb7706a9119ce35ff7727fd9aff
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Fri Feb 27 00:51:20 2015 +0100
Imported Upstream version 2.8.1
---
CMakeLists.txt | 2 +-
ChangeLog | 191 ++++++
INSTALL | 9 +-
NEWS | 60 +-
cmake/FindPyQt.py | 24 +-
debian/changelog | 10 +-
debian/control | 2 +-
debian/control.in | 17 +-
debian/copyright | 694 ++++++++++++++++-----
debian/libqgis-dev.install | 1 +
debian/qgis-common.install | 2 +
debian/qgis-server.install | 1 +
debian/qgis.install | 1 +
debian/rules | 10 +-
debian/upstream/metadata | 10 +
debian/watch | 1 +
doc/CODING.html | 2 +-
doc/CODING.t2t | 2 +-
doc/INSTALL.html | 12 +-
doc/TRANSLATORS | 8 +-
doc/developersmap.html | 1 +
doc/linux.t2t | 3 +-
doc/news.html | 62 +-
doc/news.t2t | 9 +-
i18n/qgis_de.ts | 20 +-
i18n/qgis_en.ts | 4 +
images/developers/essen-2012.jpg | Bin 60213 -> 0 bytes
images/developers/essen-2014.jpg | Bin 0 -> 106306 bytes
images/flags/sr at latin.png | Bin 423 -> 0 bytes
images/flags/zh.png | Bin 0 -> 472 bytes
images/images.qrc | 4 +-
python/analysis/raster/qgsrastercalcnode.sip | 3 +-
python/core/qgis.sip | 2 +
python/core/qgsgeometry.sip | 2 +-
python/gui/qgsattributedialog.sip | 11 +-
.../MetaSearch/dialogs/newconnectiondialog.py | 5 +
.../MetaSearch/resources/connections-default.xml | 2 +-
.../processing/algs/qgis/SelectByLocation.py | 4 +-
scripts/release.pl | 225 ++++---
scripts/tsstat.pl | 117 ++--
src/analysis/raster/qgsrastercalcnode.cpp | 8 +-
src/analysis/raster/qgsrastercalcnode.h | 3 +-
src/analysis/raster/qgsrastercalculator.cpp | 11 +-
.../composer/qgscomposerattributetablewidget.cpp | 35 +-
src/app/composer/qgscomposerlabelwidget.cpp | 7 +-
src/app/composer/qgscomposerlegendwidget.cpp | 33 +-
src/app/composer/qgscomposermapwidget.cpp | 12 +-
src/app/composer/qgscomposerscalebarwidget.cpp | 8 +-
src/app/composer/qgscomposertablewidget.cpp | 17 +-
src/app/gps/qgsgpsinformationwidget.cpp | 48 +-
src/app/gps/qgsgpsinformationwidget.h | 2 +
src/app/qgisapp.cpp | 1 +
src/app/qgsbookmarks.cpp | 36 +-
src/app/qgsdecorationgriddialog.cpp | 10 +-
src/app/qgsdiagramproperties.cpp | 5 +-
src/app/qgsfeatureaction.cpp | 6 +-
src/app/qgslabeldialog.cpp | 9 +-
src/app/qgslabelinggui.cpp | 6 -
src/app/qgsmeasuredialog.cpp | 17 +-
src/app/qgsrastercalcdialog.cpp | 13 +-
src/core/qgis.cpp | 12 +
src/core/qgis.h | 2 +
src/core/qgsdistancearea.cpp | 3 +-
src/core/qgsgeometry.cpp | 2 +-
src/core/qgsgeometry.h | 2 +-
src/core/qgssnappingutils.cpp | 3 +-
src/core/qgsvectorlayer.cpp | 4 +-
src/gui/qgisgui.cpp | 17 +-
src/gui/qgisgui.h | 10 +
src/gui/qgsattributeform.cpp | 2 +-
src/gui/qgsmaptoolzoom.cpp | 3 +-
.../qgspointdisplacementrendererwidget.cpp | 10 +-
src/providers/oracle/qgsoracleprovider.cpp | 5 +-
src/providers/wms/qgswmsprovider.cpp | 13 +-
74 files changed, 1295 insertions(+), 613 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 637206a..c3012f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "8")
-SET(CPACK_PACKAGE_VERSION_PATCH "0")
+SET(CPACK_PACKAGE_VERSION_PATCH "1")
SET(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
SET(RELEASE_NAME "Wien")
IF (POLICY CMP0048) # in CMake 3.0.0+
diff --git a/ChangeLog b/ChangeLog
index 6939d89..5739058 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,194 @@
+Juergen E. Fischer <jef at norbit.de> 2015-02-26
+
+ fix measurement dialog translation (fixes #12262)
+
+Matthias Kuhn <matthias.kuhn at gmx.ch> 2015-02-25
+
+ Fix a const...
+
+Bas Couwenberg <sebastic at xs4all.nl> 2015-02-25
+
+ Add dependency on libqgis-server to libqgis-dev.
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-25
+
+ use PyQt4 where deprecated pyqtconfig is unavailable (fixes #10596 and fixes #11465)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-25
+
+ debian packaging fix (fixes #11465)
+
+Nyall Dawson <nyall.dawson at gmail.com> 2015-02-25
+
+ Make new scratch layer editable by default
+
+Nyall Dawson <nyall.dawson at gmail.com> 2015-02-25
+
+ Suppress attribute form popup if layer has no fields
+
+ Prevents empty form popup for layers with no fields (eg memory layers).
+ If desired, this behaviour can be overriden by the layer's feature
+ form suppress option, eg if form has python logic which makes it useful
+ even with no fields.
+
+ (fix #10775)
+
+Salvatore Larosa <lrssvtml at gmail.com> 2015-02-25
+
+ [bookmark] use preset values instead of header name for tags when exporting in xml file
+
+Salvatore Larosa <lrssvtml at gmail.com> 2015-02-24
+
+ [bookmark] remember last used directory on import/export
+
+Salvatore Larosa <lrssvtml at gmail.com> 2015-02-24
+
+ [bookmark] write correctly the extent in tbl_bookmarks
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-25
+
+ debian packaging updates
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-25
+
+ documentation updates
+
+Nyall Dawson <nyall.dawson at gmail.com> 2015-02-25
+
+ Fix zoom out map tool (fix #12242)
+
+Bas Couwenberg <sebastic at xs4all.nl> 2015-02-23
+
+ Merged and squashed pull requests #1923 & #1928 from sebastic/debian
+
+ PR#1923: Debian packaging improvements
+ * Update copyright file.
+ - Remove unused Files paragraph for the python plugin_installer
+ - Fix qwtpolar-1.0 typo
+ - Remove unused License paragraph for Apache-2.0
+ - Add License paragraph for Zlib
+ * Remove unused substitution variable.
+ * Update watch file, add version mangle.
+ * Add upstream metadata.
+ * Fix libqgis-customwidgets package name in dh_makeshlibs override, doesn't
+ contain ABI anymore.
+ * Also install scalable icons.
+
+ PR#1928 Additional Debian packaging improvements
+ * Update copyright file.
+ - Add additional copyright holders to general files section
+ - Add copyright years to general files section
+ - Order copyright holder by year
+ - Group files sections
+ - Sort groups files sections alphanumerically
+ - Document copyright holders & licenses for external modules
+ - Add license specifications for: Apache-2.0, BSD-2-Clause,
+ dxflib-Commercial-License, GPL-2, LGPL-2.1+, QT-Commericial, LGPL-2.1 with
+ Digia Qt LGPL Exception 1.1 & GPL-3.
+ * Remove extra license file for MetaSearch plugin.
+ * Install libqgis_server.so in libqgis-dev.
+ * Install schemaExtension.xsd in qgis-server.
+ * Install contributors.json & developersmap.html in qgis-common.
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-24
+
+ fix crash on exit
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-24
+
+ update QgsAttributeDialog sip bindings (fixes #12248)
+
+Alexander Bruy <alexander.bruy at gmail.com> 2015-02-24
+
+ [processing] fix inputs in Select by Location algorithm (backport 8d87f35304)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-24
+
+ fix build and remove debug output (followup 251aca6)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-24
+
+ fix wmts (fixes #12241; followup 1e97b62c)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-23
+
+ raster calculator fixes (fixes #12238)
+ * GDALGetGeoTransform failures can be ignored (partly reverts 0080f9e)
+ * handle quoted raster references
+ * don't complain if the output file is not yet set
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-23
+
+ german translation update
+
+Tom Kralidis <tomkralidis at gmail.com> 2015-02-23
+
+ backport e04570cc89d30f38430a5e71cfb795971c40afe0
+
+Tom Kralidis <tomkralidis at gmail.com> 2015-02-23
+
+ remove '/' from UNEP GRID CSW to prevent incorrect setting in Windows Registry on init
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-22
+
+ attribute form: lookup attribute fields by name. joined layers might be unavailable at load time (fixes #12146)
+
+Salvatore Larosa <lrssvtml at gmail.com> 2015-02-22
+
+ increases slightly the zoom of the developers map in about box
+
+Merge: 01066b6 bbae71e
+Tim Sutton <tim at linfiniti.com> 2015-02-22
+
+ Merge pull request #1920 from timlinux/release-2_8
+
+ Backported developer about box photo update to 2.8
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-22
+
+ release.pl: support point releases
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-22
+
+ debian packaging fix
+ (launchpad builds i386 with binary and amd64 with binary-arch only)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-22
+
+ don't set parent of QFontDialog to avoid the stylesheet font (fixes #12233)
+
+Tim Sutton <tim at linfiniti.com> 2015-02-21
+
+ Merge pull request #1919 from timlinux/master
+
+ Updated developer image for about box
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-20
+
+ oracle provider: consider srid when looking trying spatial index (followup 991f94d; fixes #12230)
+
+Werner Macho <werner.macho at gmail.com> 2015-02-21
+
+ adding french translators and first fixes for chinese
+
+ Signed-off-by: Werner Macho <werner.macho at gmail.com>
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-20
+
+ osgeo4w: fix python server module packaging
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-20
+
+ include missing zh-Hans translation
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-20
+
+ Release of 2.8 (Wien)
+
+Juergen E. Fischer <jef at norbit.de> 2015-02-20
+
+ changelog update for 2.8
+
Juergen E. Fischer <jef at norbit.de> 2015-02-20
translation update to 2.8 from transifex
diff --git a/INSTALL b/INSTALL
index e02527e..f35bebb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,10 +1,10 @@
QGIS
Building QGIS from source - step by step
-Thursday February 12, 2015
+Wednesday February 25, 2015
-Last Updated: Thursday February 12, 2015
-Last Change : Monday November 24, 2014
+Last Updated: Wednesday February 25, 2015
+Last Change : Wednesday February 25, 2015
1. Introduction
@@ -180,9 +180,10 @@ Now update your local sources database:
| precise | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn-fcgi txt2tags x [...]
| trusty | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spa [...]
| utopic | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spa [...]
+ | vivid | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spaw [...]
| sid | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools pyqt4.qsci-dev python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip- [...]
-(extracted from the respective control files in debian/)
+(extracted from the control.in file in debian/)
3.4. Setup ccache (Optional)
diff --git a/NEWS b/NEWS
index 9d5d8de..2119f5c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,12 @@
QGIS News
Change history for the QGIS Project
-Friday February 20, 2015
+Wednesday February 25, 2015
------------------------------------------------------------------------
- 1. What's new in Version 2.8.0 'Wien'?
+
+ 1. What's new in Version 2.8 'Wien'?
2. What's new in Version 2.6.0 'Brighton'?
3. What's new in Version 2.4.0 'Chugiak'?
4. Whats new in Version 2.2.0 'Valmiera'?
@@ -33,12 +34,13 @@ Friday February 20, 2015
------------------------------------------------------------------------
-Last Updated: Friday February 20, 2015
-Last Change : Friday February 20, 2015
+
+Last Updated: Wednesday February 25, 2015
+Last Change : Wednesday February 25, 2015
- 1. What's new in Version 2.8.0 'Wien'?
- ======================================
+ 1. What's new in Version 2.8 'Wien'?
+ ====================================
This is a minor release increment with the following feature:
@@ -57,17 +59,17 @@ This is a minor release increment with the following feature:
- Qt5 support (optional - default packages are still currently built against Qt4).
- Spatial bookmark import/export.
- Composer user interface improvements.
-- Grid overlay improvements for composer maps.
+- Grid overlay improvements for composer maps.
- Raster image fill type.
- Live heatmap renderer.
- You can now use multiple styles per layer.
-- Rotation of map canvas (disabled by default, activate in settings) is now supported.
+- Rotation of map canvas is now supported.
- Improved user interface for data defined symbology.
- New algorithms in processing.
- Expressions are now extendable with custom python functions.
- Comments are now supported in expressions.
-- QGIS server improvements: better caching, layer style support, value relations, DescribeLayer, python plugins.
-
+- QGIS server improvements: better caching, layer style support, value relations,
+ DescribeLayer, python plugins.
2. What's new in Version 2.6.0 'Brighton'?
@@ -116,7 +118,6 @@ This is a minor release increment with the following new features:
- Context menu for identify tool
-
3. What's new in Version 2.4.0 'Chugiak'?
=========================================
@@ -137,7 +138,6 @@ This is the minor release sports a number of great new features:
- New Inverted Polygon renderer
-
4. Whats new in Version 2.2.0 'Valmiera'?
=========================================
@@ -179,7 +179,6 @@ This is the minor release sports a number of great new features:
- 'Processing' can be used headless in scripts.
-
5. Whats new in Version 2.0.1 'Dufour'?
=======================================
@@ -329,7 +328,6 @@ added gdal_fillnodata to GDALTools plugin
- Support for nesting projects within other projects
-
8. Whats new in Version 1.7.2 'Wroclaw'?
========================================
@@ -377,7 +375,6 @@ were made.
- Fix broken Assign projection functionality in GDALTools and improve handling output file extension
-
9. Whats new in Version 1.7.1 'Wroclaw'?
========================================
@@ -476,7 +473,6 @@ changed so we will just provide a bullet list of key new features here.
- Move/rotate/change label edit tools to interactively change data defined label properties.
-
10.2. New Tools
===============
@@ -507,7 +503,6 @@ changed so we will just provide a bullet list of key new features here.
- Default to last selection when prompting for CRS.
-
10.5. Rasters
=============
@@ -517,7 +512,6 @@ changed so we will just provide a bullet list of key new features here.
- Added raster toolbar with histogram stretch functions.
-
10.6. Providers and Data Handling
=================================
@@ -544,7 +538,6 @@ changed so we will just provide a bullet list of key new features here.
- Allow OGR 'save as' without attributes (for eg. DGN/DXF).
-
10.7. Api and Developer Centric
===============================
@@ -573,14 +566,12 @@ changed so we will just provide a bullet list of key new features here.
- Removed ogr converter plugin - use 'save as' context menu rather.
-
10.10. Printing
===============
- Undo/Redo support for the print composer
-
11. Whats new in Version 1.6.0 'Capiapo'?
=========================================
@@ -627,7 +618,6 @@ caching providers (currently WMS and WFS) can synchronize with changes in
the datasource.
-
11.2. Table of contents (TOC) improvements
==========================================
@@ -638,7 +628,6 @@ as' option, you can now specify OGR creation options.
- In the table of contents, it is now possible to select and remove several layers at once.
-
11.3. Labelling (New generation only)
=====================================
@@ -667,7 +656,6 @@ the transparency table in the raster layer properties dialog.
the style manager more easily.
-
11.5. Map Composer
==================
@@ -677,7 +665,6 @@ position dialog.
- Sorting for composer attribute table (several columns and ascending / descending).
-
12. Whats new in Version 1.5.0?
===============================
@@ -748,7 +735,6 @@ only visible features in composer table or all features
closed and reappears when reactivated.
-
12.2. WMS and WMS-C Support
===========================
@@ -762,7 +748,6 @@ IGNF definitions in srs.db
- WMS-C scale slider gui added and more selection improvements
-
12.3. API Updates
=================
@@ -780,7 +765,6 @@ variables. More paths can be passed, separated by semicolon.
- Support more GEOS operators
-
13. Whats new in Version 1.4.0 'Enceladus'?
===========================================
@@ -857,7 +841,6 @@ This release includes over 30 bug fixes and several useful new features:
- other OSM related bugfixes.
-
14.2. Other notable features and improvements in this release
=============================================================
@@ -873,7 +856,6 @@ This release includes over 30 bug fixes and several useful new features:
- Zoom to a coordinate by entering it in the status bar coordinate display.
-
15. Version 1.2.0 'Daphnis'
===========================
@@ -902,7 +884,6 @@ includes the addition of new vector editing tools:
- Added option to show only markers of selected features in editing mode.
- Change layer's icon in legend to reflext that the layer is editable.
-
In addition, there are undo/redo actions in Edit menu, in Advanced digitizing toolbar
and there is a new dock widget displaying undo stack of active layer.
@@ -967,7 +948,6 @@ be respected in the attribute table.
- An new OpenStreetMap provider and plugin have been added to QGIS.
-
15.6. Projects Management
=========================
@@ -994,7 +974,6 @@ types and for setting of column comments.
independent of the mapscale)
-
15.9. Command line arguments
============================
@@ -1066,7 +1045,6 @@ implementation based on the SQLITE database.
layers based on attribute data.
-
16. Version 1.0.0 'Kore'
========================
@@ -1096,7 +1074,6 @@ running will support a plugin that is being installed.
- Ported all GDAL/OGR and GEOS usage to use C APIs only.
-
17. Version 0.11.0 'Metis'
==========================
@@ -1113,7 +1090,6 @@ QGIS 0.10.0 release. In addition we have made the following changes:
- QML Style support for rasters and database layers
-
18. Version 0.10.0 'Io'
=======================
@@ -1135,7 +1111,6 @@ improvements 'under the hood'.
- Support for migration of old projects to work in newer QGIS versions.
-
19. Version 0.9.2rc1 'Ganymede'
===============================
@@ -1153,7 +1128,6 @@ in raster layers. Support for color ramps in raster layers.
improvements 'under the hood'.
-
20. Version 0.9.1 'Ganymede'
============================
@@ -1167,7 +1141,6 @@ This is a bug fix release
- Python Plugin installer to install PyQGIS plugins from the repository
-
21. Version 0.9 'Ganymede'
==========================
@@ -1183,7 +1156,6 @@ This is a bug fix release
- Improvements to the GeoReferencer
-
22. Version 0.8 'Joesephine' .... development version
=====================================================
@@ -1208,7 +1180,6 @@ over time,
grid_maker plugin
-
23. Version 0.6 'Simon'
=======================
@@ -2109,7 +2080,6 @@ including:
- currently this process IS NOT KNOWN TO BE REVERSIBLE so please backup data
first before experimenting.
-
2004-04-27 [ts] 0.2.0devel1
Rejigged single marker symbol so directory, icon selector, preview and
@@ -2343,7 +2313,9 @@ Search radius for identifying features on vector layers added to Preferences
2004-02-23 [ts]
Save current view to disk as a PNG image
+
------------------------------------------------------------------------------
+
Version 0.1 'Moroz' February 25, 2004
User interface improvements - menu and dialog cleanups and a new icon theme
based on Everaldo's Crystal icon set.
@@ -2488,7 +2460,3 @@ July 6, 2002
This is the initial import of the code base into CVS on Sourceforge.net.
-
-
-
-
diff --git a/cmake/FindPyQt.py b/cmake/FindPyQt.py
index 256c4a6..96bbbae 100644
--- a/cmake/FindPyQt.py
+++ b/cmake/FindPyQt.py
@@ -30,9 +30,29 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-import PyQt4.pyqtconfig
+try:
+ import PyQt4.pyqtconfig
+ pyqtcfg = PyQt4.pyqtconfig.Configuration()
+except ImportError:
+ import PyQt4.QtCore
+ import sipconfig # won't work for SIP v5
+ import os.path
+ cfg = sipconfig.Configuration()
+ sip_dir = cfg.default_sip_dir
+ for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
+ if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
+ sip_dir = p
+ break
+ cfg = {
+ 'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
+ 'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
+ 'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
+ 'pyqt_mod_dir': cfg.default_mod_dir,
+ 'pyqt_sip_dir': sip_dir,
+ 'pyqt_bin_dir': cfg.default_bin_dir,
+ }
+ pyqtcfg = sipconfig.Configuration([cfg])
-pyqtcfg = PyQt4.pyqtconfig.Configuration()
print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)
print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)
diff --git a/debian/changelog b/debian/changelog
index f0202f1..38ca2bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
-qgis (2.8.0) UNRELEASED; urgency=medium
+qgis (2.8.1) UNRELEASED; urgency=medium
+
+ * Release of 2.8.1
+
+ -- Jürgen E. Fischer <jef at norbit.de> Thu, 26 Feb 2015 10:12:00 +0100
+
+qgis (2.8.0) unstable; urgency=medium
* Release of 2.8
- -- Jürgen E. Fischer <jef at norbit.de> Fri, 20 Feb 2015 13:05:35 +0100
+ -- Jürgen E. Fischer <jef at norbit.de> Thu, 26 Feb 2015 10:12:00 +0100
qgis (2.7.0) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index e0a71e0..7b46c54 100644
--- a/debian/control
+++ b/debian/control
@@ -271,7 +271,7 @@ Description: QGIS server providing various OGC services
.
This package contains the QGIS server.
-Package: libqgis-customwidgets{QGIS_ABI}
+Package: libqgis-customwidgets
Architecture: any
Depends:
qt4-designer,
diff --git a/debian/control.in b/debian/control.in
index a9a7f66..37e39b3 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -9,7 +9,7 @@ Build-Depends:
#sid jessie wheezy saucy sid-oracle trusty utopic vivid# debhelper (>= 9),
#precise# debhelper (>= 7),
flex,
- grass-dev,
+ grass-dev (<< 7),
libexpat1-dev,
libfcgi-dev,
#sid jessie sid-oracle trusty utopic vivid# libgdal-dev (>= 1.10.1-0~),
@@ -32,7 +32,7 @@ Build-Depends:
pyqt4-dev-tools,
python-qscintilla2,
#precise saucy wheezy# python,
-#precise saucy# python-central (>=0.5),
+#precise saucy# python-central (>= 0.5),
#saucy wheezy# python-dev,
#saucy# libpython2.7-dev,
#sid jessie sid-oracle trusty utopic vivid# python-all (>= 2.6.6-3~), python-all-dev (>= 2.6.6-3~),
@@ -210,7 +210,7 @@ Package: libqgis-dev
Architecture: any
Section: libdevel
Depends:
- grass-dev,
+ grass-dev (<< 7),
libexpat1-dev,
#sid jessie sid-oracle trusty utopic vivid# libgdal-dev (>= 1.10.1-0~),
#precise# libgdal-dev (>= 1.9.0) | libgdal1-dev (<< 1.9.0),
@@ -224,12 +224,13 @@ Depends:
libqgis-gui{QGIS_ABI} (= ${binary:Version}),
libqgis-analysis{QGIS_ABI} (= ${binary:Version}),
libqgis-networkanalysis{QGIS_ABI} (= ${binary:Version}),
+ libqgis-server{QGIS_ABI} (= ${binary:Version}),
libqgisgrass{QGIS_ABI} (= ${binary:Version}),
libqgispython{QGIS_ABI} (= ${binary:Version}),
- libqt4-dev (>=4.6.0),
+ libqt4-dev (>= 4.7.0),
libsqlite3-dev,
- python-qt4 (>=4.1.0),
- python-qt4-dev (>=4.1.0),
+ python-qt4 (>= 4.1.0),
+ python-qt4-dev (>= 4.1.0),
qt4-designer,
${misc:Depends}
Recommends: libqgis-customwidgets
@@ -250,7 +251,8 @@ Depends:
qgis-plugin-grass-common (= ${source:Version}),
${shlibs:Depends},
${misc:Depends},
- grass{GRASS_ABI}
+#!precise# grass-core (<< 7)
+#precise# grass (<< 7)
Description: GRASS plugin for QGIS
QGIS is a Geographic Information System (GIS) which manages, analyzes and
display databases of geographic information.
@@ -262,7 +264,6 @@ Architecture: all
Depends:
#sid jessie saucy sid-oracle trusty# python2.7,
#wheezy precise# python,
- ${python:Depends},
${misc:Depends}
Breaks: qgis-common (<< 1.5)
Replaces: qgis-common (<< 1.5)
diff --git a/debian/copyright b/debian/copyright
index f9bdc06..7e87ebf 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -4,60 +4,228 @@ Upstream-Contact: qgis-developer at lists.osgeo.org
Source: https://github.com/qgis/QGIS
Files: *
-Comment: The upstream contributors are listed in the PROVENANCE file
- and here reported.
-Copyright: Gary E.Sherman <sherman at mrcc dot com>
- Steve Halasz <stevehalasz at users.sourceforge.net>
- Marco Hugentobler <mhugent at users.sourceforge.net>
- Tim Sutton <tim at linfiniti.com>
- Denis Antipov <rawbytes at users.sourceforge.net>
- Mark Coletti <mcoletti at users.sourceforge.net>
- Lars Luthman <larsl at users.sourceforge.net>
- Jens Oberender <j.obi at troja.net>
- Christoph Spoerri <spoerri at users.sourceforge.net>
- Carl Anderson <>
- Gavin Macaulay <g_j_m at users.sourceforge.net>
- Masaru Hoshi <hoshi at users.sourceforge.net>
- Peter Brewer <p.w.brewer at rdg dot ac dot uk>
- Radim Blazek <blazek at itc.it>
- Tom Elwertowski <telwertowski at users.sourceforge.net>
- Godofredo Contreras <frdcn at hotmail.com>
- Martin Dobias <wonder.sk at gmail.com>
- Brendan Morley <morb at beagle.com.au>
- Magnus Homann <magnus at homann.se>
- Jürgen E. Fischer <jef at norbit.de>
- Tisham Dhar <tisham at apogee.com.au>
- Leonardo Lami <lami at faunalia.it>
- Marco Pasetti <marco.pasetti at alice.it>
- Mateusz Loskot <mateusz at loskot dot net>
- Peter Ersts <ersts at amnh.org>
- Borys Jurgiel <borysiasty at aster.pl>
- Paolo Cavallini <cavallini at faunalia.it>
- Carson J. Q. Farmer <carson dot farmer at gmail dot com>
- Lorenzo Masini <lorenxo86 at gmail.com>
- Werner Macho <werner.macho at gmail.com>
- Giuseppe Sucameli <brush.tyler at gmail.com>
- Alessandro Furieri <a.furieri at lqt.it>
- 2008 Paolo L. Scala, Barbara Rita Barricelli, Marco Padula
+Copyright: Carl Anderson
+ Christoph Spoerri <spoerri at users.sourceforge.net>
+ Ivan Lucena <ivan.lucena at pmldnet.com>
+ Jens Oberender <j.obi at troja.net>
+ Leonardo Lami <lami at faunalia.it>
+ Marco Pasetti <marco.pasetti at alice.it>
+ Masaru Hoshi <hoshi at users.sourceforge.net>
+ Mateusz Loskot <mateusz at loskot.net>
+ Tisham Dhar <tisham at apogee.com.au>
+ Werner Macho <werner.macho at gmail.com>
+ 1997-1998, Lars Doelle <lars.doelle at on-line.de>
+ 2003, Denis Antipov <rawbytes at users.sourceforge.net>
+ 2003-2004, Steve Halasz <stevehalasz at users.sourceforge.net>
+ 2004, Peter Brewer <p.w.brewer at rdg.ac.uk>
+ 2004-2005, Gavin Macaulay <g_j_m at users.sourceforge.net>
+ 2004-2005, Lars Luthman <larsl at users.sourceforge.net>
+ 2004-2005, Mark Coletti <mcoletti at users.sourceforge.net>
+ 2005, Brendan Morley <morb at beagle.com.au>
+ 2006, Ionut Iosifescu Enescu
+ 2006-2007, Robert Knight <robertknight at gmail.com>
+ 2006-2007, Tom Elwertowski <telwertowski at users.sourceforge.net>
+ 2007, Peter Ersts <ersts at amnh.org>
+ 2007-2008, Matthew Perry
+ 2008, Alessandro Furieri <a.furieri at lqt.it>
+ 2008, Paolo L. Scala, Barbara Rita Barricelli, Marco Padula
+ 2008, Stefan Ziegler
+ 2000, 2009, Richard Kostecky <csf.kostej at mail.com>
+ 2008-2009, Maciej Sieczka <msieczka at sieczka.org>
+ 2009, Andres Manz <manz.andres at gmail.com>
+ 2009, Diego Moreira <moreira.geo at gmail.com>
+ 2009, Florian El Ahdab <felahdab at gmail.com>
+ 2009, Godofredo Contreras <frdcn at hotmail.com>
+ 2009, Lorenzo Masini <lorenxo86 at gmail.com>
+ 2009, Mathias Walker <mwa at sourcepole.ch>
+ 2009, Paolo Cavallini <cavallini at faunalia.it>
+ 2009, Vita Cizek <weetya at gmail.com>
+ 2002-2005, 2007, 2009-2010, Gary E.Sherman <sherman at mrcc.com>
+ 2009-2010, Manuel Massing <m.massing at warped-space.de>
+ 2010, Ivan Mincik <ivan.mincik at gista.sk>
+ 2010, Jack R, Maxim Dubinin (GIS-Lab) <sim at gis-lab.info>
+ 2010, Jeremy Palmer <jpalmer at linz.govt.nz>
+ 2010, Michael Minn <pyqgis at michaelminn.com>
+ 2010, NextGIS (http://nextgis.org)
+ 2010, Pirmin Kalberer <pka at sourcepole.ch>
+ 2010, Sourcepole <info at sourcepole.ch>
+ 2008-2011, Carson J. Q. Farmer <carson.farmer at gmail.com>
+ 2009-2011, Sergey Yakushev <YakushevS at list.ru>
+ 2009, 2011, Luiz Motta <motta.luiz at gmail.com>
+ 2011, German Carrillo <geotux_tuxman at linuxmail.org>
+ 2011, SunilRajKiran-kCube <sunilraj.kiran at kcubeconsulting.com>
+ 2007, 2009, 2012, Magnus Homann <magnus at homann.se>
+ 2009-2012, Giuseppe Sucameli <brush.tyler at gmail.com>
+ 2010-2012, Marco Bernasocchi <marco at bernawebdesign.ch>
+ 2012, Arunmozhi <aruntheguy at gmail.com>
+ 2012, Anita Graser <anitagraser at gmx.at>
+ 2012, Australia Indonesia Facility for Disaster Reduction
+ 2012, Carterix Geomatics
+ 2012, Etienne Tourigny <etourigny.dev at gmail.com>
+ 2008, 2012, Horst Düster
+ 2003-2005, 2007-2013, Tim Sutton <tim at linfiniti.com>
+ 2008-2013, Borys Jurgiel <borysiasty at aster.pl>
+ 2012-2013, Chris Crook <ccrook at linz.govt.nz>
+ 2012-2013, Larry Shaffer <larrys at dakcarto.com>
+ 2012-2013, Massimo Endrighi <massimo.endrighi at geopartner.it>
+ 2012-2013, Salvatore Larosa <lrssvtml at gmail.com>
+ 2012-2013, Vinayan Parameswaran <vinayan123 at gmail.com>
+ 2013, Alvaro Huarte <ahuarte47 at yahoo.es>
+ 2013, CS Systemes d'information (CS SI) <otb at c-s.fr>
+ 2013, Joshua Arnott <josh at snorfalorpagus.net
+ 2012-2013, René-Luc D'Hont <rldhont at 3liz.com>
+ 2004-2014, Marco Hugentobler <mhugent at users.sourceforge.net>
+ 2005, 2012, 2014, Hugo Mercier <hugo.mercier at oslandia.com>
+ 2011-2012, 2014, Nathan Woodrow <madmanwoo at gmail.com>
+ 2008-2012, 2014, Jürgen E. Fischer <jef at norbit.de>
+ 2011, 2014, Tamas Szekeres <szekerest at gmail.com>
+ 2009-2014, Alexander Bruy <alexander.bruy at gmail.com>
+ 2012-2014, Matthias Kuhn <matthias.kuhn at gmx.ch>
+ 2012-2014, Piotr Pociask <opengis84 at gmail.com>
+ 2011, 2013-2014, Bernhard Ströbl <bernhard.stroebl at jena.de>
+ 2013-2014, Martin Isenburg <martin at rapidlasso.com>
+ 2014, Agresta S. Coop <iescamochero at agresta.org>
+ 2014, Alessandro Pasotti <a.pasotti at itopen.it>
+ 2014, Angelos Tzotsos <tzotsos at gmail.com>
+ 2014, Giovanni Allegri
+ 2014, Michael Douchin
+ 2014, Niccolo' Marchi <sciurusurbanus at hotmail.it>
+ 2014, Radoslaw Guzinski <rmgu at dhi-gras.com>
+ 2015, Tom Kralidis <tomkralidis at gmail.com>
+ 2004-2006, 2009-2015, Radim Blazek <blazek at itc.it>
+ 2005-2015, Martin Dobias <wonder.sk at gmail.com>
+ 2012-2015, Victor Olaya <volayaf at gmail.com>
+ 2012-2015, The QGIS Project
+ 2012-2015, Denis Rouzaud <denis.rouzaud at gmail.com>
+ 2013-2015, Nyall Dawson <nyall.dawson at gmail.com>
+ 2014-2015, Arnaud Morvan <arnaud.morvan at camptocamp.com>
+ 2014-2015, Sandro Mani <manisandro at gmail.com>
+ 2014-2015, Sandro Santilli <strk at keybit.net>
+ 2015, Michael Kirk <michael.john.kirk at gmail.com>
License: GPL-2+
+Files: qgis.dtd
+Copyright: disclaimed
+License: public-domain
+ This DTD describes the maplayers and their symbology and
+ is used when saving/restoring a QGIS project.
+ This file is in the public domain
+
+Files: python/ext-libs/dateutil/*
+Copyright: 2003-2010, Gustavo Niemeyer <gustavo at niemeyer.net>
+License: BSD-3-Clause
+
+Files: python/ext-libs/httplib2/*
+Copyright: 2006, 2012, Joe Gregorio <joe at bitworking.org>
+License: GPL-2+
+
+Files: python/ext-libs/httplib2/socks.py
+Copyright: 2006, Dan-Haim
+License: BSD-2-Clause
+
+Files: python/ext-libs/jinja2/*
+Copyright: 2006-2010, the Jinja Team
+License: BSD-3-Clause
+
+Files: python/ext-libs/markupsafe/*
+Copyright: 2010, 2013, Armin Ronacher
+License: BSD-3-Clause
+
+Files: python/ext-libs/owslib/*
+Copyright: 2006, Ancient World Mapping Center
+ 2008-2013, Tom Kralidis
+ 2013, Christian Ledermann <christian.ledermann at gmail.com>
+ 2012, Brad Hards <bradh at frogmouth.net>
+ 2012, Jachym Cepicky
+ 2007-2009, STFC <http://www.stfc.ac.uk>
+ 2004-2006, Sean C. Gillies
+ 2005, Nuxeo SARL <http://nuxeo.com>
+License: BSD-3-Clause
+
+Files: python/ext-libs/pygments/*
+Copyright: 2006-2013, the Pygments team
+License: BSD-2-Clause
+
+Files: python/ext-libs/pygments/lexers/_robotframeworklexer.py
+Copyright: 2006-2013, the Pygments team
+ 2012, Nokia Siemens Networks Oyj
+License: BSD-2-Clause and Apache-2.0
+
Files: python/ext-libs/pyspatialite/*
-Copyright: 2004-2007 Gerhard Häring <gh at ghaering.de>
+Copyright: 2004-2010, Gerhard Häring <gh at ghaering.de>
License: Zlib
-Files: src/plugins/dxf2shp_converter/builder.cpp
-Copyright: 1999, Frank Warmerdam <warmerda at pobox.com>
-Comment: The code is heavily based on Christopher Michaelis' DXF to
- Shapefile Converter (http://www.wanderingidea.com/content/view/12/25/),
- released under GPL License
- .
- This code is based on two other products:
- DXFLIB (http://www.ribbonsoft.com/dxflib.html)
- This is a library for reading DXF files, also GPL.
- SHAPELIB (http://shapelib.maptools.org/)
- Used for the Shapefile functionality.
+Files: python/ext-libs/pytz/*
+Copyright: 2003-2009, Stuart Bishop <stuart at stuartbishop.net>
+License: MIT
+
+Files: python/ext-libs/six.py
+Copyright: 2010-2014, Benjamin Peterson
License: MIT
+Files: python/plugins/fTools/*
+Copyright: 2009, Carson J.Q. Farmer
+License: MIT
+
+Files: python/plugins/GdalTools/*
+Copyright: 2009, Faunalia
+License: MIT
+
+Files: python/plugins/processing/modeler/ModelerArrowItem.py
+Copyright: 2010, Nokia Corporation and/or its subsidiary(-ies)
+ 2010, Riverbank Computing Limited
+License: BSD-3-Clause
+
+Files: python/plugins/processing/algs/qgis/voronoi.py
+Copyright: 2012, Victor Olaya
+ 1994, AT&T Bell Laboratories
+Comment: Voronoi diagram calculator/ Delaunay triangulator
+ Translated to Python by Bill Simons
+ September, 2005
+ .
+ Additional changes by Carson Farmer added November 2010
+ .
+ Calculate Delaunay triangulation or the Voronoi polygons for a set of
+ 2D input points.
+ .
+ Derived from code bearing the following notice:
+ .
+ The author of this software is Steven Fortune. Copyright (c) 1994 by AT&T
+ Bell Laboratories.
+ Permission to use, copy, modify, and distribute this software for any
+ purpose without fee is hereby granted, provided that this entire notice
+ is included in all copies of any software which is or includes a copy
+ or modification of this software and in all copies of the supporting
+ documentation for such software.
+ THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR AT&T MAKE ANY
+ REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ .
+ Comments were incorporated from Shane O'Sullivan's translation of the
+ original code into C++ (http://mapviewer.skynet.ie/voronoi.html)
+ .
+ Steve Fortune's homepage: http://netlib.bell-labs.com/cm/cs/who/sjf/index.html
+License: GPL-2+
+
+Files: src/app/gps/qwtpolar-0.1/*
+ src/app/gps/qwtpolar-1.0/*
+Copyright: 2008, Uwe Rathmann
+Comment: This library is free software; you can redistribute it and/or
+ modify it under the terms of the Qwt License, Version 1.0
+License: QWT-1.0
+
+Files: src/app/qtmain_android.cpp
+Copyright: 2009-2011, BogDan Vatra <bog_dan_ro at yahoo.com>
+License: BSD-3-Clause
+
+Files: src/astyle/*
+Copyright: Jim Pattee <jimp03 at email.com>
+ Tal Davidson
+Comment: Artistic Style is maintained and updated by Jim Pattee.
+ The original author was Tal Davidson, Israel.
+License: LGPL-2.1+
+
Files: src/core/gps/config.h
src/core/gps/context.c
src/core/gps/context.h
@@ -78,35 +246,155 @@ Files: src/core/gps/config.h
Copyright: Tim <xtimor at gmail.com>
License: LGPL-2+
-Files: src/plugins/dxf2shp_converter/shapelib-1.2.10/dbfopen.c
- src/plugins/dxf2shp_converter/shapelib-1.2.10/shapefil.h
-Copyright: 1999, Frank Warmerdam
+Files: src/core/pal/*
+Copyright: 2008, Maxence Laurent, MIS-TIC, HEIG-VD
+License: GPL-3+
+
+Files: src/core/pal/rtree.hpp
+Copyright: disclaimed
+Comment: from http://www.superliminal.com/
+ .
+ AUTORS
+ - 1983 Original algorithm and test code by Antonin Guttman and Michael Stonebraker, UC Berkely
+ - 1994 ANCI C ported from original test code by Melinda Green - melinda at superliminal.com
+ - 1995 Sphere volume fix for degeneracy problem submitted by Paul Brook
+ - 2004 Templated C++ port by Greg Douglas
+ - 2008 Portability issues fixed by Maxence Laurent
+License: public-domain
+ LICENSE : Entirely free for all uses. Enjoy!
+ This File is in the public domain
+
+Files: src/core/symbology-ng/qgscolorbrewerpalette.cpp
+Copyright: 2002, Cynthia Brewer, Mark Harrower, and The Pennsylvania State University
+ 2009, by Martin Dobias
+License: Apache-2.0 and GPL-2+
+
+Files: src/gui/raster/qwt5_histogram_item.h
+Copyright: 1997, Josef Wilgen
+ 2002, Uwe Rathmann
+License: QWT-1.0
+
+Files: src/gui/symbology-ng/characterwidget.cpp
+ src/gui/symbology-ng/characterwidget.h
+Copyright: 2009, Nokia Corporation and/or its subsidiary(-ies)
+License: QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3
+
+Files: src/plugins/dxf2shp_converter/builder.cpp
+ src/plugins/dxf2shp_converter/builder.h
+Copyright: 1999, Frank Warmerdam <warmerda at pobox.com>
+Comment: The code is heavily based on Christopher Michaelis' DXF to
+ Shapefile Converter (http://www.wanderingidea.com/content/view/12/25/),
+ released under GPL License
+ .
+ This code is based on two other products:
+ DXFLIB (http://www.ribbonsoft.com/dxflib.html)
+ This is a library for reading DXF files, also GPL.
+ SHAPELIB (http://shapelib.maptools.org/)
+ Used for the Shapefile functionality.
+License: MIT
+
+Files: src/plugins/dxf2shp_converter/getInsertions.h
+Copyright: Christopher Michaelis
+License: GPL-2
+
+Files: src/plugins/dxf2shp_converter/getInsertions.cpp
+Copyright: Christopher Michaelis
+License: GPL-2+
+
+Files: src/plugins/dxf2shp_converter/shapelib-1.2.10/*
+Copyright: 1999, 2001-2002, Frank Warmerdam
+License: MIT or LGPL-2+
+
+Files: src/plugins/dxf2shp_converter/dxflib/src/*
+Copyright: 2001-2003, RibbonSoft
+ 2001, Robert J. Campbell Jr
+License: GPL-2 or dxflib-Commercial-License
+
+Files: src/plugins/evis/*
+Copyright: 2007, American Museum of Natural History
License: LGPL-2+
-Files: src/plugins/dxf2shp_converter/shapelib-1.2.10/shpopen.c
-Copyright: 1999, 2001, Frank Warmerdam
+Files: src/plugins/globe/osgEarthQt/ViewerWidget.cpp
+ src/plugins/globe/osgEarthUtil/Controls.cpp
+Copyright: 2008-2012, Pelican Mapping
License: LGPL-2+
-Files: src/plugins/dxf2shp_converter/shapelib-1.2.10/shprewind.c
-Copyright: 2002, Frank Warmerdam
+Files: src/plugins/grass/qtermwidget/BlockArray.*
+Copyright: 2000, Stephan Kulow <coolo at kde.org>
+ 2008, e_k <e_k at users.sourceforge.net>
+License: GPL-2+
+
+Files: src/plugins/grass/qtermwidget/Emulation.cpp
+Copyright: 1996, Matthias Ettrich <ettrich at kde.org>
+ 1997-1998, Lars Doelle <lars.doelle at on-line.de>
+ 2007, Robert Knight <robertknight at gmail.com>
+ 2008, e_k <e_k at users.sourceforge.net>
+License: GPL-2+
+
+Files: src/plugins/grass/qtermwidget/k3process.cpp
+ src/plugins/grass/qtermwidget/k3process.h
+ src/plugins/grass/qtermwidget/k3processcontroller.cpp
+ src/plugins/grass/qtermwidget/k3processcontroller.h
+Copyright: 1997, Christian Czezakte <e9025461 at student.tuwien.ac.at>
+ 2008, e_k <e_k at users.sourceforge.net>
License: LGPL-2+
-Files: cmake/PythonCompile.py
-Copyright: Simon Edwards <simon at simonzone.com>
+Files: src/plugins/grass/qtermwidget/konsole_wcwidth.*
+Copyright: 2011, Markus Kuhn
License: public-domain
- PythonCompile.py was written by Simon Edwards, and is placed in the public
- domain. The author hereby disclaims copyright to this source code.
+ This file is in the public domain
+
+Files: src/plugins/grass/qtermwidget/kpty.cpp
+ src/plugins/grass/qtermwidget/kpty.h
+ src/plugins/grass/qtermwidget/kpty_p.h
+Copyright: 2002, Waldo Bastian <bastian at kde.org>
+ 2002-2003, 2007, Oswald Buddenhagen <ossi at kde.org>
+ 2008, e_k <e_k at users.sourceforge.net>
+License: LGPL-2+
-Files: cmake/FindLibPython.py
- cmake/FindPyQt.py
- cmake/FindSIP.py
-Copyright: 2007, Simon Edwards <simon at simonzone.com>
-License: BSD-3-Clause
+Files: src/plugins/grass/qtermwidget/qtermwidget.cpp
+ src/plugins/grass/qtermwidget/qtermwidget.h
+Copyright: 2008, e_k <e_k at users.sourceforge.net>
+ 2009, Lorenzo "Il Rugginoso" Masini <lorenxo86 at gmail.com>
+License: LGPL-2+
-Files: cmake/FindQsci.py
-Copyright: 2012, Larry Shaffer <larry at dakotacarto.com>
- 2012, The QGIS Project'
-License: BSD-3-Clause
+Files: src/plugins/grass/qtermwidget/TerminalCharacterDecoder.cpp
+ src/plugins/grass/qtermwidget/TerminalCharacterDecoder.h
+Copyright: 2006-2007, Robert Knight <robertknight at gmail.com>
+ 2008, e_k <e_k at users.sourceforge.net>
+License: LGPL-2+
+
+Files: src/providers/oracle/ocispatial/main.cpp
+ src/providers/oracle/ocispatial/qsql_ocispatial.cpp
+Copyright: 2012, Digia Plc and/or its subsidiary(-ies)
+ 2012-2013, Juergen E. Fischer <jef at norbit.de>
+License: QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3
+
+Files: src/providers/oracle/ocispatial/qsql_ocispatial.h
+ src/providers/oracle/ocispatial/qsqlcachedresult_p.h
+ src/providers/spatialite/qspatialite/qsql_spatialite.cpp
+ src/providers/spatialite/qspatialite/qsql_spatialite.h
+ src/providers/spatialite/qspatialite/qsqlcachedresult_p.h
+ src/providers/spatialite/qspatialite/smain.cpp
+Copyright: 2012, Digia Plc and/or its subsidiary(-ies)
+License: QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3
+
+Files: tests/qt_modeltest/modeltest.cpp
+ tests/qt_modeltest/modeltest.h
+ tests/qt_modeltest/tst_modeltest.cpp
+Copyright: 2011, Nokia Corporation and/or its subsidiary(-ies)
+License: QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3
+
+Files: tests/qt_modeltest/dynamictreemodel.cpp
+ tests/qt_modeltest/dynamictreemodel.h
+Copyright: 2009, Stephen Kelly <steveire at gmail.com>
+License: QT-Commercial or LGPL-2.1 with Digia Qt LGPL Exception 1.1 or GPL-3
+
+Files: tests/testdata/cpt-city/gmt/*
+Copyright: 2004, 2010, Paul Wessel, SOEST
+ 2004, 2010, Andreas Trawoeger
+ 2004, 2010, Walter Smith, NOAA
+License: GPL-2+
Files: cmake/Bison.cmake
cmake/FindExpat.cmake
@@ -118,6 +406,10 @@ Files: cmake/Bison.cmake
Copyright: 2007, Martin Dobias <wonder.sk at gmail.com>
License: BSD-3-Clause
+Files: cmake/FindFcgi.cmake
+Copyright: 2010, Marco Hugentobler
+License: BSD-3-Clause
+
Files: cmake/FindGDAL.cmake
Copyright: 2007, Magnus Homann <magnus at homann dot se>
License: BSD-3-Clause
@@ -129,7 +421,7 @@ License: BSD-3-Clause
Files: cmake/FindGSL.cmake
Copyright: 2004, Felix Woelk
- Jan Woetzel
+ Jan Woetzel
License: BSD-3-Clause
Files: cmake/FindIconv.cmake
@@ -137,6 +429,18 @@ Files: cmake/FindIconv.cmake
Copyright: 2009, Juergen E. Fischer <jef at norbit dot de>
License: BSD-3-Clause
+Files: cmake/FindLibPython.py
+ cmake/FindPyQt.py
+ cmake/FindSIP.py
+Copyright: 2007, Simon Edwards <simon at simonzone.com>
+License: BSD-3-Clause
+
+Files: cmake/FindOSGEARTH.cmake
+Copyright: 2011-2013, Pirmin Kalberer
+ 2011, Jürgen E. Fischer <jef at norbit.de>
+ 2013, William Kyngesburye
+License: BSD-3-Clause
+
Files: cmake/FindPyQt4.cmake
Copyright: 2007-2008, Simon Edwards <simon at simonzone.com>
License: BSD-3-Clause
@@ -158,53 +462,63 @@ Files: cmake/FindQGIS.cmake
Copyright: Tim Sutton
License: BSD-3-Clause
-Files: cmake/FindQwt.cmake
-Copyright: 2010, Tim Sutton <tim at linfiniti.com>
-License: BSD-3-Clause
-
Files: cmake/FindQsci.cmake
cmake/QsciAPI.cmake
Copyright: 2012, Larry Shaffer <larrys at dakotacarto.com>
License: BSD-3-Clause
-Files: cmake/FindQScintilla.cmake
-Copyright: 2007 Thomas Moenicke thomas.moenicke at kdemail.net
-License: BSD-3-Clause
-
-Files: cmake/FindSPATIALITE.cmake
-Copyright: 2009, Sandro Furieri <a.furieri at lqt.it>
+Files: cmake/FindQsci.py
+Copyright: 2012, Larry Shaffer <larry at dakotacarto.com>
+ 2012, The QGIS Project
License: BSD-3-Clause
-Files: cmake/UsePythonTest.cmake
-Copyright: 2006-2010 Mathieu Malaterre <mathieu.malaterre at gmail.com>
+Files: cmake/FindQScintilla.cmake
+Copyright: 2007, Thomas Moenicke thomas.moenicke at kdemail.net
License: BSD-3-Clause
-Files: cmake/FindFcgi.cmake
-Copyright: 2010, Marco Hugentobler
+Files: cmake/FindQwt.cmake
+Copyright: 2010, Tim Sutton <tim at linfiniti.com>
License: BSD-3-Clause
-Files: cmake/FindOSGEARTH.cmake
-Copyright: 2011-2013, Pirmin Kalberer
- 2011, Jürgen E. Fischer <jef at norbit.de>
- 2013, William Kyngesburye
+Files: cmake/FindSPATIALITE.cmake
+Copyright: 2009, Sandro Furieri <a.furieri at lqt.it>
License: BSD-3-Clause
Files: cmake/MacBundleMacros.cmake
Copyright: 2010-2013, William Kyngesburye
- 2012, Larry Shaffer
+ 2012, Larry Shaffer
License: BSD-3-Clause
Files: cmake/MacPlistMacros.cmake
Copyright: 2011, William Kyngesburye
License: BSD-3-Clause
+Files: cmake/PythonCompile.py
+Copyright: Simon Edwards <simon at simonzone.com>
+License: public-domain
+ PythonCompile.py was written by Simon Edwards, and is placed in the public
+ domain. The author hereby disclaims copyright to this source code.
+
+Files: cmake/UsePythonTest.cmake
+Copyright: 2006-2010, Mathieu Malaterre <mathieu.malaterre at gmail.com>
+License: BSD-3-Clause
+
+Files: images/themes/default/*
+Copyright: 2011, Robert Szczepanek
+ Anita Graser
+Comment: GIS icons by Robert Szczepanek is licensed under a Creative Commons
+ Attribution-Share Alike 3.0 Unported License. Feel free to use it in any GIS
+ software or for other purposes. I only ask you to let me know about that and
+ to include licence.txt file in your work.
+License: CC-BY-SA-3.0
+
Files: resources/cpt-city-qgis-min/bhw/*
Copyright: 2011, Blackheartedworf (http://blackheartedwolf.deviantart.com/)
License: CC-BY-3.0
Files: resources/cpt-city-qgis-min/cb/*
Copyright: 2002, Cynthia Brewer, Pennsylvania State University
- 2002, Mark Harrower, University of Wisconsin-Madison
+ 2002, Mark Harrower, University of Wisconsin-Madison
Comment: This product includes color specifications and designs developed by
Cynthia Brewer (http://colorbrewer.org/).
License: Apache-Style-Software-License-Version-1.1
@@ -340,8 +654,8 @@ License: BSD-like-gist
Files: resources/cpt-city-qgis-min/gmt/*
Copyright: 2004, 2010, Paul Wessel, SOEST
- 2004, 2010, Andreas Trawoeger
- 2004, 2010, Walter Smith, NOAA
+ 2004, 2010, Andreas Trawoeger
+ 2004, 2010, Walter Smith, NOAA
License: GPL-2+
Files: resources/cpt-city-qgis-min/go2/webtwo/*
@@ -487,9 +801,9 @@ License: CC-BY-SA-3.0
Files: resources/cpt-city-qgis-min/ngdc/*
Copyright: 2009, Elliot Lim, NOAA/NGDC
- 2009, Greg Reed, Australian Ocean Data Centre Joint Facility
- 2009, Lester M. Anderson, CASP, UK
- 2009, Jesse Varner, NOAA/NGDC
+ 2009, Greg Reed, Australian Ocean Data Centre Joint Facility
+ 2009, Lester M. Anderson, CASP, UK
+ 2009, Jesse Varner, NOAA/NGDC
Comment: Derived from GMT_globe and GMT_haxby which are licensed
under the GPL.
.
@@ -523,7 +837,7 @@ License: public-domain-attribution
Files: resources/cpt-city-qgis-min/saga/*
Copyright: 2012, O. Conrad, Universität Hamburg
- 2012, J. Böhner, Universität Hamburg
+ 2012, J. Böhner, Universität Hamburg
License: GPL-2+
Files: resources/cpt-city-qgis-min/tp/*
@@ -562,8 +876,8 @@ License: OPL-PSI-1.0
Files: resources/cpt-city-qgis-min/wkp/country/*
Copyright: 2008, 2011, 2012, Bourrichon
- 2008, 2011, 2012, Eric Gaba
- 2008, 2011, 2012, PZmaps
+ 2008, 2011, 2012, Eric Gaba
+ 2008, 2011, 2012, PZmaps
License: CC-BY-SA-3.0
Files: resources/cpt-city-qgis-min/wkp/encyclopedia/*
@@ -635,41 +949,6 @@ Files: resources/cpt-city-qgis-min/wkp/tubs/*
Copyright: 2012, TUBS
License: CC-BY-SA-3.0
-Files: tests/testdata/cpt-city/gmt/*
-Copyright: 2004, 2010, Paul Wessel, SOEST
- 2004, 2010, Andreas Trawoeger
- 2004, 2010, Walter Smith, NOAA
-License: GPL-2+
-
-Files: images/themes/default/*
-Copyright: 2011, Robert Szczepanek
- Anita Graser
-Comment: GIS icons by Robert Szczepanek is licensed under a Creative Commons
- Attribution-Share Alike 3.0 Unported License. Feel free to use it in any GIS
- software or for other purposes. I only ask you to let me know about that and
- to include licence.txt file in your work.
-License: CC-BY-SA-3.0
-
-Files: python/plugins/GdalTools/*
-Copyright: 2009 Faunalia
-License: MIT
-
-Files: python/plugins/fTools/*
-Copyright: 2009 Carson J.Q. Farmer
-License: MIT
-
-Files: python/plugins/plugin_installer
-Copyright: 2007 Matthew T. Perry
- 2008-2009 Borys Jurgiel
-License: MIT
-
-Files: src/app/gps/qwtpolar-0.1/*
- src/app/gps/qwtpolor-1.0/*
-Copyright: 2008 Uwe Rathmann
-Comment: This library is free software; you can redistribute it and/or
- modify it under the terms of the Qwt License, Version 1.0
-License: QWT-1.0
-
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -728,6 +1007,30 @@ License: Apache-Style-Software-License-Version-1.1
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+License: BSD-2-Clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
License: BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -1466,6 +1769,33 @@ License: CC-BY-SA-3.0
.
Creative Commons may be contacted at http://creativecommons.org/.
+License: dxflib-Commercial-License
+ Licensees holding valid dxflib Professional Edition licenses may use
+ this file in accordance with the dxflib Commercial License
+ Agreement provided with the Software.
+ .
+ This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ .
+ See http://www.ribbonsoft.com for further details.
+ .
+ Contact info at ribbonsoft.com if any conditions of this licensing are
+ not clear to you.
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 3 or
+ version 2 as published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+ .
+ On Debian systems, the full text of the GNU General Public License
+ version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
License: GPL-2+
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -1480,6 +1810,22 @@ License: GPL-2+
On Debian systems, the complete text of the GNU General Public
License can be found in the `/usr/share/common-licenses/GPL-2' file.
+License: GPL-3
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 3 as published
+ by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-3'.
+
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1509,6 +1855,55 @@ License: LGPL-2+
On Debian systems, the complete text of the GNU Lesser General Public
License can be found in the `/usr/share/common-licenses/LGPL-2' file.
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+ .
+ On Debian systems, the full text of the GNU Lesser General Public
+ License version 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: LGPL-2.1 with Digia Qt LGPL Exception 1.1
+ Alternatively, this file may be used under the terms of the GNU Lesser
+ General Public License version 2.1 as published by the Free Software
+ Foundation and appearing in the file LICENSE.LGPL included in the
+ packaging of this file. Please review the following information to
+ ensure the GNU Lesser General Public License version 2.1 requirements
+ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ .
+ In addition, as a special exception, Digia gives you certain additional
+ rights. These rights are described in the Digia Qt LGPL Exception
+ version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ .
+ Digia Qt LGPL Exception version 1.1
+ As an additional permission to the GNU Lesser General Public License version
+ 2.1, the object code form of a "work that uses the Library" may incorporate
+ material from a header file that is part of the Library. You may distribute
+ such object code under terms of your choice, provided that:
+ (i) the header files of the Library have not been modified; and
+ (ii) the incorporated material is limited to numerical parameters, data
+ structure layouts, accessors, macros, inline functions and
+ templates; and
+ (iii) you comply with the terms of Section 6 of the GNU Lesser General
+ Public License version 2.1.
+ .
+ Moreover, you may apply this exception to a modified version of the Library,
+ provided that such modification does not involve copying material from the
+ Library into the modified Library's header files unless such material is
+ limited to (i) numerical parameters; (ii) data structure layouts;
+ (iii) accessors; and (iv) small macros, templates and inline functions of
+ five lines or less in length.
+ .
+ Furthermore, you are not required to apply this additional permission to a
+ modified version of the Library.
+
License: MIT
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
@@ -1782,6 +2177,15 @@ License: OPL-PSI-1.0
Licensing Framework section on The National Archives website.
http://www.nationalarchives.gov.uk/information-management/uk-gov-licensing-framework.htm
+License: QT-Commercial
+ Commercial License Usage
+ Licensees holding valid commercial Qt licenses may use this file in
+ accordance with the commercial license agreement provided with the
+ Software or, alternatively, in accordance with the terms contained in
+ a written agreement between you and Digia. For licensing terms and
+ conditions see http://qt.digia.com/licensing. For further information
+ use the contact form at http://qt.digia.com/contact-us.
+
License: QWT-1.0
The Qwt library and included programs are provided under the terms
of the GNU LESSER GENERAL PUBLIC LICENSE (LGPL) with the following
@@ -1816,19 +2220,21 @@ License: QWT-1.0
the Qwt project (http://qwt.sf.net).
License: Zlib
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
+ This software is provided 'as-is', without any express or implied warranty. In
+ no event will the authors be held liable for any damages arising from the use
+ of this software.
.
Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
- .
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
+ including commercial applications, and to alter it and redistribute it freely,
+ subject to the following restrictions:
+ .
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software in
+ a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ .
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ .
+ 3. This notice may not be removed or altered from any source distribution.
diff --git a/debian/libqgis-dev.install b/debian/libqgis-dev.install
index 913d472..a6fdc2f 100644
--- a/debian/libqgis-dev.install
+++ b/debian/libqgis-dev.install
@@ -3,6 +3,7 @@ usr/lib/libqgis_core.so
usr/lib/libqgis_gui.so
usr/lib/libqgis_analysis.so
usr/lib/libqgis_networkanalysis.so
+usr/lib/libqgis_server.so
usr/lib/libqgisgrass.so
usr/lib/libqgispython.so
usr/share/qgis/FindQGIS.cmake
diff --git a/debian/qgis-common.install b/debian/qgis-common.install
index a36c3e3..5836131 100644
--- a/debian/qgis-common.install
+++ b/debian/qgis-common.install
@@ -7,6 +7,8 @@ usr/share/qgis/doc/INSTALL
usr/share/qgis/doc/INSTALL.html
usr/share/qgis/doc/SPONSORS
usr/share/qgis/doc/TRANSLATORS
+usr/share/qgis/doc/contributors.json
+usr/share/qgis/doc/developersmap.html
usr/share/qgis/doc/favicon.ico
usr/share/qgis/doc/images
usr/share/qgis/doc/index.html
diff --git a/debian/qgis-server.install b/debian/qgis-server.install
index 616a8a6..153d784 100644
--- a/debian/qgis-server.install
+++ b/debian/qgis-server.install
@@ -1,3 +1,4 @@
usr/lib/cgi-bin/qgis_mapserv.fcgi
usr/lib/cgi-bin/admin.sld
usr/lib/cgi-bin/wms_metadata.xml
+usr/lib/cgi-bin/schemaExtension.xsd
diff --git a/debian/qgis.install b/debian/qgis.install
index d2be41f..5859614 100644
--- a/debian/qgis.install
+++ b/debian/qgis.install
@@ -19,3 +19,4 @@ usr/share/applications/
usr/share/mime/packages/
usr/share/mimelnk/
usr/share/icons/hicolor/
+usr/share/icons/scalable/
diff --git a/debian/rules b/debian/rules
index 8c01d06..038b456 100755
--- a/debian/rules
+++ b/debian/rules
@@ -39,14 +39,13 @@ QGIS_MAJOR=$(shell sed -ne 's/SET(CPACK_PACKAGE_VERSION_MAJOR "\([0-9]*\)")/\1/p
QGIS_MINOR=$(shell sed -ne 's/SET(CPACK_PACKAGE_VERSION_MINOR "\([0-9]*\)")/\1/p' CMakeLists.txt)
QGIS_PATCH=$(shell sed -ne 's/SET(CPACK_PACKAGE_VERSION_PATCH "\([0-9]*\)")/\1/p' CMakeLists.txt)
QGIS_ABI=$(QGIS_MAJOR).$(QGIS_MINOR).$(QGIS_PATCH)
-GRASS_ABI=$(subst .,,$(shell pkg-config --modversion grass|sed -e "s/\.//g" -e "s/RC/-/"))
GRASS=grass$(subst .,,$(shell pkg-config --modversion grass|cut -d. -f1,2))
CMAKE_OPTS := \
-DBUILDNAME=$(DEB_BUILD_NAME) \
-DCMAKE_VERBOSE_MAKEFILE=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DGRASS_PREFIX=/usr/lib/grass64 \
+ -DGRASS_PREFIX=/usr/lib/$(GRASS) \
-DBINDINGS_GLOBAL_INSTALL=TRUE \
-DPEDANTIC=TRUE \
-DWITH_QSPATIALITE=TRUE \
@@ -137,7 +136,7 @@ $(2): $(1)
-e "s#\{QT_PLUGIN_DIR\}#$(QT_PLUGIN_DIR)#g" \
-e "s/\{QGIS_ABI\}/$(QGIS_ABI)/g" \
-e "s/\{GRASS\}/$(GRASS)/g" \
- -e "s/\{GRASS_ABI\}/$(GRASS_ABI)/g" $$^ >$$@
+ $$^ >$$@
templates:: $(2)
@@ -152,7 +151,7 @@ cleantemplates:
$(MAKE) -f debian/rules templateclean
$(MAKE) -f debian/rules debian/control debian/compat
-binary build clean install:
+binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep:
dh $@ --with python2 --parallel --builddirectory=debian/build
override_dh_clean: cleantemplates
@@ -243,6 +242,7 @@ override_dh_install:
-find $(CURDIR)/debian/tmp/usr/share/qgis/resources/cpt-city-qgis-min/ -name COPYING.xml -delete
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/doc/LICENSE
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/python/plugins/db_manager/LICENSE
+ $(RM) $(CURDIR)/debian/tmp/usr/share/qgis/python/plugins/MetaSearch/LICENSE.txt
# Man pages are installed by dh_installman
$(RM) $(CURDIR)/debian/tmp/usr/man/man1/qgis.1
@@ -267,7 +267,7 @@ override_dh_compress:
dh_compress --exclude=pdf
override_dh_makeshlibs:
- dh_makeshlibs -Xqgis-plugin-grass -Xlibqgis-customwidgets$(QGIS_ABI) -- -c0 -v$(QGIS_VERSION)
+ dh_makeshlibs -Xqgis-plugin-grass -Xlibqgis-customwidgets -- -c0 -v$(QGIS_VERSION)
override_dh_shlibdeps:
dh_shlibdeps -l/usr/lib/$(GRASS)/lib
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..98ff99b
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,10 @@
+---
+Bug-Database: http://hub.qgis.org/projects/quantum-gis/issues
+Bug-Submit: http://hub.qgis.org/projects/quantum-gis/issues/new
+Contact: qgis-developer at lists.osgeo.org
+Donation: http://qgis.org/en/site/getinvolved/donations.html
+Name: QGIS
+Registration: https://www2.osgeo.org/cgi-bin/ldap_create_user.py
+Repository: https://github.com/qgis/QGIS.git
+Repository-Browse: https://github.com/qgis/QGIS
+Screenshots: http://qgis.org/en/site/about/screenshots.html
diff --git a/debian/watch b/debian/watch
index 6c00bb9..917e0e3 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,3 @@
version=3
+opts="dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$//,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/" \
http://qgis.org/downloads/ (?:.*/)?(?:rel|v|qgis)[\-\_](\d[\d\-\.]+)\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
diff --git a/doc/CODING.html b/doc/CODING.html
index 2cdb69c..d376e5c 100644
--- a/doc/CODING.html
+++ b/doc/CODING.html
@@ -1375,7 +1375,7 @@ add to our test class:
<div class="code"><PRE>
QTEST_MAIN(TestQgsRasterLayer)
-#include "moc_testqgsrasterlayer.cxx"
+#include "testqgsrasterlayer.moc"
</PRE></div>
<P>
diff --git a/doc/CODING.t2t b/doc/CODING.t2t
index 2da8721..6d8a320 100644
--- a/doc/CODING.t2t
+++ b/doc/CODING.t2t
@@ -1047,7 +1047,7 @@ add to our test class:
```
QTEST_MAIN(TestQgsRasterLayer)
-#include "moc_testqgsrasterlayer.cxx"
+#include "testqgsrasterlayer.moc"
```
The purpose of these two lines is to signal to Qt's moc that his is a QtTest
diff --git a/doc/INSTALL.html b/doc/INSTALL.html
index 7a176d1..f096101 100644
--- a/doc/INSTALL.html
+++ b/doc/INSTALL.html
@@ -77,13 +77,13 @@ label{ background-color: #FFFFCC;
<DIV CLASS="header" ID="header">
<H1>QGIS</H1>
<H2>Building QGIS from source - step by step</H2>
-<H3>Thursday February 12, 2015</H3>
+<H3>Wednesday February 25, 2015</H3>
</DIV>
<DIV CLASS="body" ID="body">
<P>
-Last Updated: Thursday February 12, 2015
-Last Change : Monday November 24, 2014
+Last Updated: Wednesday February 25, 2015
+Last Change : Wednesday February 25, 2015
</P>
<DIV CLASS="toc">
@@ -326,13 +326,17 @@ sudo apt-get update
<TD><CODE>apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn-fc [...]
</TR>
<TR>
+<TD>vivid</TD>
+<TD><CODE>apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn-fc [...]
+</TR>
+<TR>
<TD>sid</TD>
<TD><CODE>apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools pyqt4.qsci-dev python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-de [...]
</TR>
</TABLE>
<P>
-(extracted from the respective control files in <CODE>debian/</CODE>)
+(extracted from the control.in file in <CODE>debian/</CODE>)
</P>
<A NAME="toc7"></A>
diff --git a/doc/TRANSLATORS b/doc/TRANSLATORS
index fd81af1..81cde9c 100644
--- a/doc/TRANSLATORS
+++ b/doc/TRANSLATORS
@@ -2,10 +2,10 @@
<tr><td><img src="qrc:/images/flags/de.png"></td><td>German</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho</td></tr>
<tr><td><img src="qrc:/images/flags/gl.png"></td><td>Galician</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Xan Vieiro</td></tr>
-<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Norwegian Bokmal</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>James Stott, Maléne Peterson</td></tr>
+<tr><td><img src="qrc:/images/flags/nb.png"></td><td>Bokmal, Norwegian</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>James Stott, Maléne Peterson</td></tr>
<tr><td><img src="qrc:/images/flags/pt_PT.png"></td><td>Portuguese (Portugal)</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar</td></tr>
<tr><td><img src="qrc:/images/flags/sv.png"></td><td>Swedish</td><td><div title="finished:13174 unfinished:1 untranslated:0" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Lars Luthman, Magnus Homann, Victor Axbom</td></tr>
-<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:13174 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Stéphane Brunner, Olivier Dalang, Nicolas Damien, Michael Douchin, Régis Haubourg, Matthias Khun, Sylvain Maillard, Jean-Roc Morreale, Mehdi Semchaoui, Harrissou Sant-anna</td></tr>
+<tr><td><img src="qrc:/images/flags/fr.png"></td><td>French</td><td><div title="finished:13174 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Arnaud Morvan, Augustin Roche, Jean-Roc Morreale, Loïc Buscoz, Marc-André Saia, Mathieu Bossaert, Mayeul Kauffmann, Médéric Ribreux, Michael Douchin, Nicolas Rochard, Robin Prest, DelazJ, Stéphane Possamai, Sylvain Badey, Sylvain_M, Sylvain Maillard, Xavier Tardieu</td></tr>
<tr><td><img src="qrc:/images/flags/pt_BR.png"></td><td>Portuguese (Brazil)</td><td><div title="finished:13174 unfinished:0 untranslated:1" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros </td></tr>
<tr><td><img src="qrc:/images/flags/nl.png"></td><td>Dutch</td><td><div title="finished:13172 unfinished:1 untranslated:2" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp</td></tr>
<tr><td><img src="qrc:/images/flags/it.png"></td><td>Italian</td><td><div title="finished:13170 unfinished:1 untranslated:4" class="bartodo"><div class="bardone" style="width:99px">100.0</div></div></td><td>Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon</td></tr>
@@ -17,12 +17,12 @@
<tr><td><img src="qrc:/images/flags/hu.png"></td><td>Hungarian</td><td><div title="finished:12398 unfinished:5 untranslated:772" class="bartodo"><div class="bardone" style="width:94px">94.1</div></div></td><td>Zoltan Siki</td></tr>
<tr><td><img src="qrc:/images/flags/ro.png"></td><td>Romanian</td><td><div title="finished:12311 unfinished:4 untranslated:860" class="bartodo"><div class="bardone" style="width:93px">93.5</div></div></td><td>Sorin Călinică, Lonut Losifescu-Enescu, Bogdan Pacurar</td></tr>
<tr><td><img src="qrc:/images/flags/da.png"></td><td>Danish</td><td><div title="finished:12273 unfinished:4 untranslated:898" class="bartodo"><div class="bardone" style="width:93px">93.2</div></div></td><td>Jacob Overgaard Madsen, Bo Victor Thomsen</td></tr>
-<tr><td><img src="qrc:/images/flags/zh-Hans.png"></td><td></td><td><div title="finished:12197 unfinished:3 untranslated:975" class="bartodo"><div class="bardone" style="width:92px">92.6</div></div></td><td>(orphaned)</td></tr>
+<tr><td><img src="qrc:/images/flags/zh.png"></td><td>Chinese simplified</td><td><div title="finished:12197 unfinished:3 untranslated:975" class="bartodo"><div class="bardone" style="width:92px">92.6</div></div></td><td>Calvin Ngei, Lisashen</td></tr>
<tr><td><img src="qrc:/images/flags/zh_CN.png"></td><td>Chinese (China)</td><td><div title="finished:12183 unfinished:2 untranslated:990" class="bartodo"><div class="bardone" style="width:92px">92.5</div></div></td><td>Calvin Ngei, Zhang Jun, Richard Xie</td></tr>
<tr><td><img src="qrc:/images/flags/ko.png"></td><td>Korean</td><td><div title="finished:12087 unfinished:2 untranslated:1086" class="bartodo"><div class="bardone" style="width:91px">91.7</div></div></td><td>OSGeo Korean Chapter</td></tr>
<tr><td><img src="qrc:/images/flags/ru.png"></td><td>Russian</td><td><div title="finished:12044 unfinished:25 untranslated:1106" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Alexander Bruy, Artem Popov</td></tr>
<tr><td><img src="qrc:/images/flags/vi.png"></td><td>Vietnamese</td><td><div title="finished:12045 unfinished:14 untranslated:1116" class="bartodo"><div class="bardone" style="width:91px">91.5</div></div></td><td>Phan Anh, Bùi Hữu Mạnh</td></tr>
-<tr><td><img src="qrc:/images/flags/zh_TW.png"></td><td>Chinese (Taiwan (Province of China))</td><td><div title="finished:11994 unfinished:5 untranslated:1176" class="bartodo"><div class="bardone" style="width:91px">91.1</div></div></td><td>Nung-yao Lin</td></tr>
+<tr><td><img src="qrc:/images/flags/zh_TW.png"></td><td>Chinese (Taiwan, Province of China)</td><td><div title="finished:11994 unfinished:5 untranslated:1176" class="bartodo"><div class="bardone" style="width:91px">91.1</div></div></td><td>Nung-yao Lin</td></tr>
<tr><td><img src="qrc:/images/flags/cs.png"></td><td>Czech</td><td><div title="finished:11848 unfinished:5 untranslated:1322" class="bartodo"><div class="bardone" style="width:89px">89.9</div></div></td><td>Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček</td></tr>
<tr><td><img src="qrc:/images/flags/hi.png"></td><td>Hindi</td><td><div title="finished:11373 unfinished:3 untranslated:1799" class="bartodo"><div class="bardone" style="width:86px">86.3</div></div></td><td>Harish Kumar Solanki</td></tr>
<tr><td><img src="qrc:/images/flags/id.png"></td><td>Indonesian</td><td><div title="finished:10759 unfinished:63 untranslated:2353" class="bartodo"><div class="bardone" style="width:81px">81.9</div></div></td><td>Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa</td></tr>
diff --git a/doc/developersmap.html b/doc/developersmap.html
index f589904..fadae1f 100644
--- a/doc/developersmap.html
+++ b/doc/developersmap.html
@@ -27,6 +27,7 @@
var map = L.map('developers-map').fitBounds(geojson.getBounds());
developersMapTiles.addTo(map);
geojson.addTo(map);
+ map.setZoom(1);
});
</script>
</body>
diff --git a/doc/linux.t2t b/doc/linux.t2t
index b5f63ef..ce4c0e2 100644
--- a/doc/linux.t2t
+++ b/doc/linux.t2t
@@ -49,9 +49,10 @@ sudo apt-get update
| precise | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn-fcgi txt2tags xau [...]
| trusty | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn [...]
| utopic | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn [...]
+| vivid | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt5-qt4-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-dev spawn- [...]
| sid | ``apt-get install bison cmake doxygen flex git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl0-dev libopenscenegraph-dev libosgearth-dev libpq-dev libproj-dev libqscintilla2-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libqwt-dev libspatialindex-dev libspatialite-dev libsqlite3-dev lighttpd locales pkg-config poppler-utils pyqt4-dev-tools pyqt4.qsci-dev python-all python-all-dev python-qscintilla2 python-qt4 python-qt4-dev python-sip python-sip-de [...]
-(extracted from the respective control files in ``debian/``)
+(extracted from the control.in file in ``debian/``)
== Setup ccache (Optional) ==
diff --git a/doc/news.html b/doc/news.html
index 06d9dff..9fe34fc 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -77,13 +77,13 @@ label{ background-color: #FFFFCC;
<DIV CLASS="header" ID="header">
<H1>QGIS News</H1>
<H2>Change history for the QGIS Project</H2>
-<H3>Friday February 20, 2015</H3>
+<H3>Wednesday February 25, 2015</H3>
</DIV>
<DIV CLASS="toc">
<OL>
- <LI><A HREF="#toc1">What's new in Version 2.8.0 'Wien'?</A>
+ <LI><A HREF="#toc1">What's new in Version 2.8 'Wien'?</A>
<LI><A HREF="#toc2">What's new in Version 2.6.0 'Brighton'?</A>
<LI><A HREF="#toc3">What's new in Version 2.4.0 'Chugiak'?</A>
<LI><A HREF="#toc4">Whats new in Version 2.2.0 'Valmiera'?</A>
@@ -112,44 +112,44 @@ label{ background-color: #FFFFCC;
</DIV>
<DIV CLASS="body" ID="body">
<P>
-Last Updated: Friday February 20, 2015
-Last Change : Friday February 20, 2015
+Last Updated: Wednesday February 25, 2015
+Last Change : Wednesday February 25, 2015
</P>
<A NAME="toc1"></A>
-<H1>1. What's new in Version 2.8.0 'Wien'?</H1>
+<H1>1. What's new in Version 2.8 'Wien'?</H1>
<P>
This is a minor release increment with the following feature:
</P>
<UL>
-<LI>Long term release (maintained for a year)
-<LI>>1000 issues flagged by static analysis tools fixed
-<LI>new code commits and pull requests are now automatically tests against our testing framework.
-<LI>more responsive browser
-<LI>support for contextual WMS legend graphics
-<LI>custom prefixes for joins
-<LI>creation of memory layers in core
-<LI>field calc bar in attribute table
-<LI>dxf export improvements
-<LI>advanced digitizing tools
-<LI>improved snapping
-<LI>better simplify tool
-<LI>Qt5 support
-<LI>Bookmark import/export
-<LI>composer gui improvements
-<LI>grid improvements
-<LI>raster image fill type
-<LI>live heatmap renderer
-<LI>multiple styles per layer
-<LI>rotation of map canvas
-<LI>improved date defined symbology UI
-<LI>new algorithms in processing
-<LI>expressions extentable with custom functions
-<LI>comments in expressions
-<LI>QGIS server improvements: better caching, layer style support, value
- relations, DescribeLayer, python plugins
+<LI>QGIS 2.8 is the basis for a long term release (which will be maintained for a year).
+<LI>>1000 issues which were flagged by static analysis tools have been fixed.
+<LI>New code commits and pull requests are now automatically tested against our testing framework.
+<LI>More responsive QGIS Browser thanks to multithreading support.
+<LI>Support for contextual WMS legend graphics.
+<LI>Custom prefixes for joins.
+<LI>Creation of memory layers is now a core feature.
+<LI>New field calculator bar in attribute table.
+<LI>DXF export improvements.
+<LI>Advanced digitizing tools.
+<LI>Improved snapping options and behaviour.
+<LI>Better simplify tool - including support for on the fly reprojection being enabled.
+<LI>Qt5 support (optional - default packages are still currently built against Qt4).
+<LI>Spatial bookmark import/export.
+<LI>Composer user interface improvements.
+<LI>Grid overlay improvements for composer maps.
+<LI>Raster image fill type.
+<LI>Live heatmap renderer.
+<LI>You can now use multiple styles per layer.
+<LI>Rotation of map canvas is now supported.
+<LI>Improved user interface for data defined symbology.
+<LI>New algorithms in processing.
+<LI>Expressions are now extendable with custom python functions.
+<LI>Comments are now supported in expressions.
+<LI>QGIS server improvements: better caching, layer style support, value relations,
+ DescribeLayer, python plugins.
</UL>
<A NAME="toc2"></A>
diff --git a/doc/news.t2t b/doc/news.t2t
index b242bb8..bab7b60 100644
--- a/doc/news.t2t
+++ b/doc/news.t2t
@@ -38,7 +38,7 @@ Change history for the QGIS Project
Last Updated: %%date(%A %B %d, %Y)
Last Change : %%mtime(%A %B %d, %Y)
-= What's new in Version 2.8.0 'Wien'? =
+= What's new in Version 2.8 'Wien'? =
This is a minor release increment with the following feature:
- QGIS 2.8 is the basis for a long term release (which will be maintained for a year).
@@ -56,16 +56,17 @@ This is a minor release increment with the following feature:
- Qt5 support (optional - default packages are still currently built against Qt4).
- Spatial bookmark import/export.
- Composer user interface improvements.
-- Grid overlay improvements for composer maps.
+- Grid overlay improvements for composer maps.
- Raster image fill type.
- Live heatmap renderer.
- You can now use multiple styles per layer.
-- Rotation of map canvas (disabled by default, activate in settings) is now supported.
+- Rotation of map canvas is now supported.
- Improved user interface for data defined symbology.
- New algorithms in processing.
- Expressions are now extendable with custom python functions.
- Comments are now supported in expressions.
-- QGIS server improvements: better caching, layer style support, value relations, DescribeLayer, python plugins.
+- QGIS server improvements: better caching, layer style support, value relations,
+ DescribeLayer, python plugins.
-
diff --git a/i18n/qgis_de.ts b/i18n/qgis_de.ts
index 1a4e67a..7b1a1eb 100644
--- a/i18n/qgis_de.ts
+++ b/i18n/qgis_de.ts
@@ -402,7 +402,7 @@ Zum Überprüfen Ergebnisdialog öffnen.</translation>
</message>
<message>
<source>Select directory</source>
- <translation type="unfinished">Verzeichnis wählen</translation>
+ <translation>Verzeichnis wählen</translation>
</message>
</context>
<context>
@@ -609,11 +609,11 @@ Zum Überprüfen Ergebnisdialog öffnen.</translation>
</message>
<message>
<source>GEOS geoprocessing error: One or more input features have invalid geometry.</source>
- <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien</translation>
+ <translation>GEOS-Verarbeitungsfehler: Ein oder mehrere Eingabeobjekte haben ungültige Geometrien.</translation>
</message>
<message>
<source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
- <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert</translation>
+ <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert.</translation>
</message>
</context>
<context>
@@ -7641,7 +7641,7 @@ im Installationsverzeichnis nicht erlaubt ist</translation>
<name>Intersection</name>
<message>
<source>Feature geometry error: One or more output features ignored due to invalid geometry.</source>
- <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert</translation>
+ <translation>Objektgeometriefehler: Ein oder mehrere Objekte wegen ungültiger Geometrie ignoriert.</translation>
</message>
<message>
<source>Input layer</source>
@@ -8970,7 +8970,7 @@ Funktioniert auf allen ändernbaren Layern</translation>
</message>
<message>
<source>&Snapping Options...</source>
- <translation>Fangoptionen (&S)</translation>
+ <translation>Fangoptionen (&S)...</translation>
</message>
<message>
<source>Zoom &Full</source>
@@ -8994,7 +8994,7 @@ Funktioniert auf allen ändernbaren Layern</translation>
</message>
<message>
<source>&Properties...</source>
- <translation>Eigenschaften... (&P)</translation>
+ <translation>Eigenschaften (&P)...</translation>
</message>
<message>
<source>&Project Properties...</source>
@@ -9912,6 +9912,10 @@ Mehr Informationen.im Protokoll.</translation>
<source>Overwrite %s?</source>
<translation>%s überschreiben?</translation>
</message>
+ <message>
+ <source>Name cannot contain '/'</source>
+ <translation>Name darf kein '/' enthalten</translation>
+ </message>
</context>
<context>
<name>NotSupportedDbType</name>
@@ -25609,7 +25613,7 @@ Vorhandene Dateien werden hier aufgelistet und gewählte geladen.</translation>
</message>
<message>
<source>Save the current script into the users function file folder.</source>
- <translation>Aktuelle Skript im Verzeichnis für Benutzerfunktionen ablegen</translation>
+ <translation>Aktuelle Skript im Verzeichnis für Benutzerfunktionen ablegen.</translation>
</message>
<message>
<source>Save file</source>
@@ -43225,7 +43229,7 @@ standard deviation ×</source>
</message>
<message>
<source>A widget to define the scale.</source>
- <translation>Ein Bedienelement zur Maßstabsfestlegung</translation>
+ <translation>Ein Bedienelement zur Maßstabsfestlegung.</translation>
</message>
</context>
<context>
diff --git a/i18n/qgis_en.ts b/i18n/qgis_en.ts
index ad13a90..cbf3648 100644
--- a/i18n/qgis_en.ts
+++ b/i18n/qgis_en.ts
@@ -9920,6 +9920,10 @@ See the log for more information.</translation>
<source>Overwrite %s?</source>
<translation>Overwrite %s?</translation>
</message>
+ <message>
+ <source>Name cannot contain '/'</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>NotSupportedDbType</name>
diff --git a/images/developers/essen-2012.jpg b/images/developers/essen-2012.jpg
deleted file mode 100644
index 97ba683..0000000
Binary files a/images/developers/essen-2012.jpg and /dev/null differ
diff --git a/images/developers/essen-2014.jpg b/images/developers/essen-2014.jpg
new file mode 100644
index 0000000..8dc2e74
Binary files /dev/null and b/images/developers/essen-2014.jpg differ
diff --git a/images/flags/sr at latin.png b/images/flags/sr at latin.png
deleted file mode 100644
index 9439a5b..0000000
Binary files a/images/flags/sr at latin.png and /dev/null differ
diff --git a/images/flags/zh.png b/images/flags/zh.png
new file mode 100644
index 0000000..8914414
Binary files /dev/null and b/images/flags/zh.png differ
diff --git a/images/images.qrc b/images/images.qrc
index fee2bf8..8020247 100644
--- a/images/images.qrc
+++ b/images/images.qrc
@@ -1,6 +1,6 @@
<RCC>
<qresource prefix="/images">
- <file alias="last-hackfest.jpg">developers/essen-2012.jpg</file>
+ <file alias="last-hackfest.jpg">developers/essen-2014.jpg</file>
<file>flags/af.png</file>
<file>flags/ar.png</file>
<file>flags/bg.png</file>
@@ -469,7 +469,6 @@
<file>themes/default/mActionHighlightFeature.svg</file>
<file>themes/default/mActionScaleHighlightFeature.svg</file>
<file>themes/default/mActionPanHighlightFeature.svg</file>
- <file>flags/sr at latin.png</file>
<file>themes/default/cadtools/construction.png</file>
<file>themes/default/cadtools/delta.png</file>
<file>themes/default/cadtools/cad.png</file>
@@ -479,6 +478,7 @@
<file>themes/default/mIconSuccess.png</file>
<file>themes/default/bubble.svg</file>
<file>themes/default/mIconClear.png</file>
+ <file>flags/zh.png</file>
</qresource>
<qresource prefix="/images/tips">
<file alias="symbol_levels.png">qgis_tips/symbol_levels.png</file>
diff --git a/python/analysis/raster/qgsrastercalcnode.sip b/python/analysis/raster/qgsrastercalcnode.sip
index ce9175d..0db4eff 100644
--- a/python/analysis/raster/qgsrastercalcnode.sip
+++ b/python/analysis/raster/qgsrastercalcnode.sip
@@ -35,7 +35,8 @@ class QgsRasterCalcNode
opLE, // <=
opAND,
opOR,
- opSIGN //change sign
+ opSIGN, // change sign
+ opNONE,
};
QgsRasterCalcNode();
diff --git a/python/core/qgis.sip b/python/core/qgis.sip
index 288b526..152bf8e 100644
--- a/python/core/qgis.sip
+++ b/python/core/qgis.sip
@@ -129,6 +129,8 @@ class QGis
static UnitType fromLiteral( QString literal, QGis::UnitType defaultType = UnknownUnit );
//! Provides translated version of the type value
static QString tr( QGis::UnitType unit );
+ //! Provides type value from translated version
+ static UnitType fromTr( QString literal, QGis::UnitType defaultType = UnknownUnit );
//! Returns the conversion factor between the specified units
static double fromUnitToUnitFactor( QGis::UnitType fromUnit, QGis::UnitType toUnit );
diff --git a/python/core/qgsgeometry.sip b/python/core/qgsgeometry.sip
index 6c6050a..4b90b25 100644
--- a/python/core/qgsgeometry.sip
+++ b/python/core/qgsgeometry.sip
@@ -113,7 +113,7 @@ class QgsGeometry
QGis::GeometryType type() const;
/** Returns true if wkb of the geometry is of WKBMulti* type */
- bool isMultipart();
+ bool isMultipart() const;
/** compare geometries using GEOS */
bool isGeosEqual( QgsGeometry & );
diff --git a/python/gui/qgsattributedialog.sip b/python/gui/qgsattributedialog.sip
index ee7ebed..6030790 100644
--- a/python/gui/qgsattributedialog.sip
+++ b/python/gui/qgsattributedialog.sip
@@ -48,7 +48,16 @@ class QgsAttributeDialog : QDialog
*/
void setHighlight( QgsHighlight *h );
- QDialog *dialog();
+ /**
+ * @brief Returns reference to self. Only here for legacy compliance
+ *
+ * @return this
+ *
+ * @deprecated Do not use. Just use this object itself. Or QgsAttributeForm if you want to embed.
+ */
+ QDialog *dialog() /Deprecated/;
+
+ QgsAttributeForm *attributeForm();
const QgsFeature* feature();
diff --git a/python/plugins/MetaSearch/dialogs/newconnectiondialog.py b/python/plugins/MetaSearch/dialogs/newconnectiondialog.py
index 973ed1f..2e5342b 100644
--- a/python/plugins/MetaSearch/dialogs/newconnectiondialog.py
+++ b/python/plugins/MetaSearch/dialogs/newconnectiondialog.py
@@ -57,6 +57,11 @@ class NewConnectionDialog(QDialog, BASE_CLASS):
self.tr('Both Name and URL must be provided'))
return
+ if '/' in conn_name:
+ QMessageBox.warning(self, self.tr('Save connection'),
+ self.tr('Name cannot contain \'/\''))
+ return
+
if conn_name is not None:
key = '/MetaSearch/%s' % conn_name
keyurl = '%s/url' % key
diff --git a/python/plugins/MetaSearch/resources/connections-default.xml b/python/plugins/MetaSearch/resources/connections-default.xml
index fcf7602..e4c792d 100644
--- a/python/plugins/MetaSearch/resources/connections-default.xml
+++ b/python/plugins/MetaSearch/resources/connections-default.xml
@@ -7,5 +7,5 @@
<csw name="Nationaal Georegister (Nederland)" url="http://www.nationaalgeoregister.nl/geonetwork/srv/eng/csw"/>
<csw name="RNDT - Repertorio Nazionale dei Dati Territoriali - Servizio di ricerca" url="http://www.rndt.gov.it/RNDT/CSW"/>
<csw name="UK Location Catalogue Publishing Service" url="http://csw.data.gov.uk/geonetwork/srv/en/csw"/>
- <csw name="UNEP/GRID-Geneva Metadata Catalog" url="http://metadata.grid.unep.ch:8080/geonetwork/srv/eng/csw"/>
+ <csw name="UNEP GRID-Geneva Metadata Catalog" url="http://metadata.grid.unep.ch:8080/geonetwork/srv/eng/csw"/>
</qgsCSWConnections>
diff --git a/python/plugins/processing/algs/qgis/SelectByLocation.py b/python/plugins/processing/algs/qgis/SelectByLocation.py
index 1131952..f828ab4 100644
--- a/python/plugins/processing/algs/qgis/SelectByLocation.py
+++ b/python/plugins/processing/algs/qgis/SelectByLocation.py
@@ -67,8 +67,8 @@ class SelectByLocation(GeoAlgorithm):
filename = self.getParameterValue(self.INPUT)
inputLayer = dataobjects.getObjectFromUri(filename)
method = self.getParameterValue(self.METHOD)
- filename = self.getParameterValue(self.INTERSECT)
- selectLayer = dataobjects.getObjectFromUri(filename)
+ filename2 = self.getParameterValue(self.INTERSECT)
+ selectLayer = dataobjects.getObjectFromUri(filename2)
predicates = self.getParameterValue(self.PREDICATE)
oldSelection = set(inputLayer.selectedFeaturesIds())
diff --git a/scripts/release.pl b/scripts/release.pl
index 26fbea6..7966ed6 100755
--- a/scripts/release.pl
+++ b/scripts/release.pl
@@ -13,127 +13,192 @@ use warnings;
use Getopt::Long;
use Pod::Usage;
-my $newmajor;
-my $newminor;
-my $releasename;
+my $dryrun;
+
+sub updateCMakeLists($$$$) {
+ my($major,$minor,$patch,$release) = @_;
+
+ if( $dryrun ) {
+ print "DRYRUN: Update CMakeLists.txt to $major.$minor.$patch ($release)\n";
+ return;
+ }
+
+ rename "CMakeLists.txt", "CMakeLists.txt.orig" or die "cannot rename CMakeLists.txt: $!";
+ open I, "CMakeLists.txt.orig";
+ open O, ">CMakeLists.txt" or die "cannot create CMakeLists.txt: $!";
+ while(<I>) {
+ s/SET\(CPACK_PACKAGE_VERSION_MAJOR "(\d+)"\)/SET(CPACK_PACKAGE_VERSION_MAJOR "$major")/;
+ s/SET\(CPACK_PACKAGE_VERSION_MINOR "(\d+)"\)/SET(CPACK_PACKAGE_VERSION_MINOR "$minor")/;
+ s/SET\(CPACK_PACKAGE_VERSION_PATCH "(\d+)"\)/SET(CPACK_PACKAGE_VERSION_PATCH "$patch")/;
+ s/SET\(RELEASE_NAME "(.+)"\)/SET(RELEASE_NAME "$release")/;
+ print O;
+ }
+ close O;
+ close I;
+}
+
+sub run($$) {
+ my($cmd, $errmsg) = @_;
+ if( $dryrun ) {
+ print "DRYRUN: $cmd\n";
+ } elsif( system($cmd) != 0 ) {
+ print STDERR "error: $errmsg [$?]";
+ exit 1;
+ }
+}
+
+my $newreleasename;
my $help;
+my $domajor;
+my $dominor;
+my $dopoint;
my $result = GetOptions(
- "major" => \$newmajor,
- "minor" => \$newminor,
- "releasename=s" => \$releasename,
- "help" => \$help
+ "major" => \$domajor,
+ "minor" => \$dominor,
+ "point" => \$dopoint,
+ "releasename=s" => \$newreleasename,
+ "help" => \$help,
+ "dryrun" => \$dryrun,
);
-$releasename = shift @ARGV;
+pod2usage(1) if $help;
-pod2usage(1) if $help or !defined $releasename;
+my $i = 0;
+$i++ if defined $domajor;
+$i++ if defined $dominor;
+$i++ if defined $dopoint;
+pod2usage("Exactly one of -major, -minor or -point expected") if $i!=1;
+pod2usage("Release name for major and minor releases expected") if !$dopoint && !defined $newreleasename;
+pod2usage("No CMakeLists.txt in current directory") unless -r "CMakeLists.txt";
my $major;
my $minor;
+my $patch;
+my $releasename;
open F, "CMakeLists.txt";
while(<F>) {
if(/SET\(CPACK_PACKAGE_VERSION_MAJOR "(\d+)"\)/) {
$major = $1;
} elsif(/SET\(CPACK_PACKAGE_VERSION_MINOR "(\d+)"\)/) {
$minor = $1;
+ } elsif(/SET\(CPACK_PACKAGE_VERSION_PATCH "(\d+)"\)/) {
+ $patch = $1;
+ } elsif(/SET\(RELEASE_NAME \"(.*)\"\)/) {
+ $releasename = $1;
}
}
close F;
-if( defined $newmajor ) {
- die "New major must be equal or greater than old major $major" if $newmajor <= $major;
- $newminor = 0 unless defined $newminor;
+my $branch = `git rev-parse --abbrev-ref HEAD 2>/dev/null`;
+$branch =~ s/\s+$//;
+pod2usage("Not on a branch") unless $branch;
+pod2usage("Current branch is $branch. master or a release branch expected") if $branch !~ /^(master|release-(\d+)_(\d+))$/;
+pod2usage("Version mismatch ($2.$3 in branch $branch vs. $major.$minor in CMakeLists.txt)") if $branch ne "master" && ( $major != $2 || $minor != $3 );
+pod2usage("Release name Master expected on master branch" ) if $branch eq "master" && $releasename ne "Master";
+
+if( $branch eq "master" ) {
+ pod2usage("No point releases on master branch") if $dopoint;
+ pod2usage("No new release name for major/minor release") unless $newreleasename || $newreleasename eq $releasename;
} else {
- $newmajor = $major;
+ pod2usage("Only point releases on release branches") if !$dopoint;
+ pod2usage("New release names only for new minor releases") if $newreleasename;
+ $newreleasename = $releasename;
}
-if( defined $newminor ) {
- die "New minor must be greater than current minor $minor" if $newmajor==$major && $newminor<=$minor;
-} else {
+my $newmajor;
+my $newminor;
+my $newpatch;
+if( $domajor ) {
+ $newmajor = $major + 1;
+ $newminor = 0;
+ $newpatch = 0;
+} elsif( $dominor ) {
+ $newmajor = $major;
$newminor = $minor + 1;
+ $newpatch = 0;
+} elsif( $dopoint ) {
+ $newmajor = $major;
+ $newminor = $minor;
+ $newpatch = $patch + 1;
+} else {
+ pod2usage("No version change");
}
-sub updateCMakeLists {
- my($major,$minor,$release) = @_;
-
- rename "CMakeLists.txt", "CMakeLists.txt.orig" or die "cannot rename CMakeLists.txt: $!";
- open I, "CMakeLists.txt.orig";
- open O, ">CMakeLists.txt" or die "cannot create CMakeLists.txt: $!";
- while(<I>) {
- s/SET\(CPACK_PACKAGE_VERSION_MAJOR "(\d+)"\)/SET(CPACK_PACKAGE_VERSION_MAJOR "$major")/;
- s/SET\(CPACK_PACKAGE_VERSION_MINOR "(\d+)"\)/SET(CPACK_PACKAGE_VERSION_MINOR "$minor")/;
- s/SET\(RELEASE_NAME "(.+)"\)/SET(RELEASE_NAME "$release")/;
- print O;
- }
- close O;
- close I;
-}
+pod2usage("Splash images/splash/splash-$newmajor.$newminor.png not found") unless -r "images/splash/splash-$newmajor.$newminor.png";
+pod2usage("NSIS image ms-windows/Installer-Files/WelcomeFinishPage-$newmajor.$newminor.bmp not found") unless -r "ms-windows/Installer-Files/WelcomeFinishPage-$newmajor.$newminor.bmp";
print "Last pull rebase...\n";
-system( "git pull --rebase" ) == 0 or die "git pull rebase failed";
+run( "git pull --rebase", "git pull rebase failed" );
my $release = "$newmajor.$newminor";
+my $version = "$release.$newpatch";
my $relbranch = "release-${newmajor}_${newminor}";
-my $reltag = "final-${newmajor}_${newminor}_0";
+my $reltag = "final-${newmajor}_${newminor}_${newpatch}";
-print "Pulling transifex translations...\n";
-system( "scripts/pull_ts.sh" ) == 0 or die "pull_ts.sh failed";
-system( "git add i18n/*.ts" ) == 0 or die "adding translations failed";
-system( "git commit -a -m \"translation update to $release from transifex\"") == 0 or die "could not commit translation updates";
+unless( $dopoint ) {
+ print "Pulling transifex translations...\n";
+ run( "scripts/pull_ts.sh", "pull_ts.sh failed" );
+ run( "git add i18n/*.ts", "adding translations failed" );
+ run( "git commit -a -m \"translation update for $release from transifex\"", "could not commit translation updates" );
+}
print "Updating changelog...\n";
-system( "scripts/create_changelog.sh" ) == 0 or die "create_changelog.sh failed";
-system( "git commit -a -m \"changelog update for $release\"") == 0 or die "could not commit changelog update";
-
-print "Creating branch...\n";
-system( "git checkout -b $relbranch" ) == 0 or die "git checkout release branch failed";
-updateCMakeLists($newmajor,$newminor,$releasename);
+run( "scripts/create_changelog.sh", "create_changelog.sh failed" );
-print "Updating branch...\n";
-system( "dch -r ''" ) == 0 or die "dch failed";
-system( "dch --newversion $newmajor.$newminor.0 'Release of $release'" ) == 0 or die "dch failed";
-system( "cp debian/changelog /tmp" ) == 0 or die "backup changelog failed";
+unless( $dopoint ) {
+ run( "git commit -a -m \"changelog update for $release\"", "could not commit changelog update" );
-if( -f "images/splash/splash-release.png" ) {
- system( "cp -v images/splash/splash-release.png images/splash/splash.png" ) == 0 or die "splash png switch failed";
-} else {
- print "WARNING: NO images/splash/splash-release.png\n";
+ print "Creating and checking out branch...\n";
+ run( "git checkout -b $relbranch", "git checkout release branch failed" );
}
-if( -f "images/splash/splash-release.xcf.bz2" ) {
- system( "cp -v images/splash/splash-release.xcf.bz2 images/splash/splash.xcf.bz2" ) == 0 or die "splash xcf switch failed";
-} else {
- print "WARNING: NO images/splash/splash-release.xcf.bz2\n";
-}
+updateCMakeLists($newmajor,$newminor,$newpatch,$releasename);
-if( -f "ms-windows/Installer-Files/WelcomeFinishPage-release.bmp" ) {
- system( "cp -v ms-windows/Installer-Files/WelcomeFinishPage-release.bmp ms-windows/Installer-Files/WelcomeFinishPage.bmp" ) == 0 or die "installer bitmap switch failed";
+print "Updating version...\n";
+run( "dch -r ''", "dch failed" );
+run( "dch --newversion $version 'Release of $version'", "dch failed" );
+run( "cp debian/changelog /tmp", "backup changelog failed" );
+
+unless( $dopoint ) {
+ run( "cp -v images/splash/splash-$newmajor.$newminor.png images/splash/splash.png", "splash png switch failed" );
+ run( "cp -v ms-windows/Installer-Files/WelcomeFinishPage-$newmajor.$newminor.bmp ms-windows/Installer-Files/WelcomeFinishPage.bmp", "installer bitmap switch failed" );
+
+ if( -f "images/splash/splash-release.xcf.bz2" ) {
+ run( "cp -v images/splash/splash-$newmajor.$newminor.xcf.bz2 images/splash/splash.xcf.bz2", "splash xcf switch failed" );
+ } else {
+ print "WARNING: NO images/splash/splash-release.xcf.bz2\n";
+ }
+
+ run( "git commit -a -m 'Release of $release ($releasename)'", "release commit failed" );
+ run( "git tag $reltag -m 'Version $release'", "tag failed" );
} else {
- print "WARNING: NO ms-windows/Installer-Files/WelcomeFinishPage-release.bmp\n";
+ run( "git commit -a -m 'Release of $version'", "release commit failed" );
+ run( "git tag $reltag -m 'Version $version'", "tag failed" );
}
-system( "git commit -a -m 'Release of $release ($releasename)'" ) == 0 or die "release commit failed";
-system( "git tag $reltag -m 'Version $release'" ) == 0 or die "tag failed";
-
print "Producing archive...\n";
-system( "git archive --format tar --prefix=qgis-$release.0/ $reltag | bzip2 -c >qgis-$release.0.tar.bz2" ) == 0 or die "git archive failed";
-system( "md5sum qgis-$newmajor.$newminor.0.tar.bz2 >qgis-$release.0.tar.bz2.md5" ) == 0 or die "md5sum failed";
-
-$newminor++;
+run( "git archive --format tar --prefix=qgis-$version/ $reltag | bzip2 -c >qgis-$version.tar.bz2", "git archive failed" );
+run( "md5sum qgis-$version.tar.bz2 >qgis-$version.tar.bz2.md5", "md5sum failed" );
+
+unless( $dopoint ) {
+ $newminor++;
+
+ print "Updating master...\n";
+ run( "git checkout master", "checkout master failed" );
+ updateCMakeLists($newmajor,$newminor,0,"Master");
+ run( "cp /tmp/changelog debian", "restore changelog failed" );
+ run( "dch -r ''", "dch failed" );
+ run( "dch --newversion $newmajor.$newminor.0 'New development version $newmajor.$newminor after branch of $release'", "dch failed" );
+ run( "git commit -a -m 'Bump version to $newmajor.$newminor'", "bump version failed" );
+}
-print "Updating master...\n";
-system( "git checkout master" ) == 0 or die "checkout master failed";
-updateCMakeLists($newmajor,$newminor,"Master");
-system( "cp /tmp/changelog debian" ) == 0 or die "restore changelog failed";
-system("dch -r ''" ) == 0 or die "dch failed";
-system( "dch --newversion $newmajor.$newminor.0 'New development version $newmajor.$newminor after branch of $release'" ) == 0 or die "dch failed";
-system( "git commit -a -m 'Bump version to $newmajor.$newminor'" ) == 0 or die "bump version failed";
+my $topush = ($dopoint ? "" : "master ") . "$relbranch $reltag";
print "Push dry-run...\n";
-system( "git push -n origin master $relbranch $reltag" ) == 0 or die "git push -n failed";
+run( "git push -n origin $topush", "push dry run failed" );
+print "Now manually push and upload the tarballs :\n\tgit push origin $topush\n\trsync qgis-$version.tar.bz2* qgis.org:/var/www/downloads/\n\n";
-print "Now manually push and upload the tarballs :\n\tgit push origin master $relbranch $reltag\n\trsync qgis-$release.0.tar.bz2* qgis.org:/var/www/downloads/\n\n";
=head1 NAME
@@ -141,10 +206,12 @@ release.pl - create a new release
=head1 SYNOPSIS
-release.pl [options] releasename
+release.pl {{-major|-minor} -releasename=releasename|-point}
Options:
- -major=newmajor new major number for release (defaults to current major version number)
- -minor=newminor new minor number for release (defaults to current minor + 1 or 0 when major version number was increased)
- next master will become minor + 1
+ -major do a new major release
+ -minor do a new minor release
+ -point do a new point release
+ -releasename=name new release name for master/minor release
+ -dryrun just echo but don't run any commands
=cut
diff --git a/scripts/tsstat.pl b/scripts/tsstat.pl
index 8674699..2f8116a 100755
--- a/scripts/tsstat.pl
+++ b/scripts/tsstat.pl
@@ -35,61 +35,62 @@ my @lang;
# translator names here as a hash where the key is the lang_country code used for the ts file name
my $translators= {
- af => '',
- ar => 'Ichaouia Amine, Hosham Munier',
- bg => 'Захари Савов, Jordan Tzvetkov',
- bs => 'Almir Karabegovic',
- ca => 'Albert F, Pau Reguant Ridó, Xavier Roijals',
- cs => 'Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček',
- da => 'Jacob Overgaard Madsen, Bo Victor Thomsen',
- de => 'Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho',
- es => 'Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo',
- el => 'Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves',
- et => 'Veiko Viil',
- eu => 'Asier Sarasua Garmendia, Irantzu Alvarez',
- fa => 'Mola Pahnadayan, Masoud Pashotan , Masoud Erfanyan',
- fi => 'Kari Salovaara, Marko Järvenpää',
- fr => 'Stéphane Brunner, Olivier Dalang, Nicolas Damien, Michael Douchin, Régis Haubourg, Matthias Khun, Sylvain Maillard, Jean-Roc Morreale, Mehdi Semchaoui, Harrissou Sant-anna',
- gl => 'Xan Vieiro',
- hi => 'Harish Kumar Solanki',
- hu => 'Zoltan Siki',
- hr => 'Zoran Jankovic',
- is => 'Ásta Kristín Óladóttir, Thordur Ivarsson',
- id => 'Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa',
- it => 'Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon',
- ja => 'BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate',
- ka => 'Shota Murtskhvaladze, George Machitidze',
- km => 'Khoem Sokhem',
- ko => 'OSGeo Korean Chapter',
- lo => 'Anousak Souphavanh, Soukanh Lathsavong',
- lv => 'Maris Nartiss, Pēteris Brūns',
- lt => 'Paulius Litvinas, Tomas Straupis, Kestas M',
- ml => 'Vinayan Parameswaran',
- mn => 'Bayarmaa Enkhtur',
- mr => '',
- nb => 'James Stott, Maléne Peterson',
- nl => 'Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp',
- pl => 'Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok',
- pt_BR => 'Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros ',
- pt_PT => 'Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar',
- ro => 'Sorin Călinică, Lonut Losifescu-Enescu, Bogdan Pacurar',
- ru => 'Alexander Bruy, Artem Popov',
- sk => 'Lubos Balazovic, Jana Kormanikova, Ivan Mincik',
- sl => 'Jože Detečnik, Dejan Gregor, Jaka Kranjc',
- sq => '',
+ 'af' => '',
+ 'ar' => 'Ichaouia Amine, Hosham Munier',
+ 'bg' => 'Захари Савов, Jordan Tzvetkov',
+ 'bs' => 'Almir Karabegovic',
+ 'ca' => 'Albert F, Pau Reguant Ridó, Xavier Roijals',
+ 'cs' => 'Jan Helebrant, Martin Landa, Peter Antolik, Martin Dzurov, Stanislav Horáček',
+ 'da' => 'Jacob Overgaard Madsen, Bo Victor Thomsen',
+ 'de' => 'Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho',
+ 'es' => 'Carlos Dávila, Javier César Aldariz, Gabriela Awad, Edwin Amado, Mayeul Kauffmann, Diana Galindo',
+ 'el' => 'Theodoros Vakkas, Ioannis Tsimpiris, Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves',
+ 'et' => 'Veiko Viil',
+ 'eu' => 'Asier Sarasua Garmendia, Irantzu Alvarez',
+ 'fa' => 'Mola Pahnadayan, Masoud Pashotan , Masoud Erfanyan',
+ 'fi' => 'Kari Salovaara, Marko Järvenpää',
+ 'fr' => 'Arnaud Morvan, Augustin Roche, Jean-Roc Morreale, Loïc Buscoz, Marc-André Saia, Mathieu Bossaert, Mayeul Kauffmann, Médéric Ribreux, Michael Douchin, Nicolas Rochard, Robin Prest, DelazJ, Stéphane Possamai, Sylvain Badey, Sylvain_M, Sylvain Maillard, Xavier Tardieu',
+ 'gl' => 'Xan Vieiro',
+ 'hi' => 'Harish Kumar Solanki',
+ 'hu' => 'Zoltan Siki',
+ 'hr' => 'Zoran Jankovic',
+ 'is' => 'Ásta Kristín Óladóttir, Thordur Ivarsson',
+ 'id' => 'Emir Hartato, Muhammad Iqnaul Haq Siregar, Trias Aditya, Januar V. Simarmata, I Made Anombawa',
+ 'it' => 'Roberto Angeletti, Michele Beneventi, Marco Braida, Stefano Campus, Luca Casagrande, Paolo Cavallini, Giuliano Curti, Luca Delucchi, Alessandro Fanna, Michele Ferretti, Matteo Ghetta, Anne Gishla, Maurizio Napolitano, Flavio Rigolon',
+ 'ja' => 'BABA Yoshihiko, Yoichi Kayama, Minoru Akagi, Takayuki Nuimura, Takayuki Mizutani, Norihiro Yamate',
+ 'ka' => 'Shota Murtskhvaladze, George Machitidze',
+ 'km' => 'Khoem Sokhem',
+ 'ko' => 'OSGeo Korean Chapter',
+ 'lo' => 'Anousak Souphavanh, Soukanh Lathsavong',
+ 'lv' => 'Maris Nartiss, Pēteris Brūns',
+ 'lt' => 'Paulius Litvinas, Tomas Straupis, Kestas M',
+ 'ml' => 'Vinayan Parameswaran',
+ 'mn' => 'Bayarmaa Enkhtur',
+ 'mr' => '',
+ 'nb' => 'James Stott, Maléne Peterson',
+ 'nl' => 'Richard Duivenvoorde, Raymond Nijssen, Carlo van Rijswijk, Diethard Jansen, Willem Hoffmans, Dick Groskamp',
+ 'pl' => 'Robert Szczepanek, Milena Nowotarska, Borys Jurgiel, Mateusz Łoskot, Tomasz Paul, Andrzej Świąder, Radosław Pasiok',
+ 'pt_BR' => 'Sidney Schaberle Goveia, Arthur Nanni, Marcelo Soares Souza, Narcélio de Sá Pereira Filho, Leônidas Descovi Filho, Felipe Sodré Barros ',
+ 'pt_PT' => 'Giovanni Manghi, Joana Simões, Duarte Carreira, Alexandre Neto, Pedro Pereira, Pedro Palheiro, Nelson Silva, Ricardo Sena, Leandro Infantini, João Gaspar',
+ 'ro' => 'Sorin Călinică, Lonut Losifescu-Enescu, Bogdan Pacurar',
+ 'ru' => 'Alexander Bruy, Artem Popov',
+ 'sk' => 'Lubos Balazovic, Jana Kormanikova, Ivan Mincik',
+ 'sl' => 'Jože Detečnik, Dejan Gregor, Jaka Kranjc',
+ 'sq' => '',
'sr at latin' => 'Goran Ivanković',
- sr => 'Goran Ivanković',
- sv => 'Lars Luthman, Magnus Homann, Victor Axbom',
- sw => '',
- ta => '',
- te => '',
- th => 'Man Chao',
- tl => 'Kathrina Gregana',
- tr => 'Osman Yalçın YILMAZ, Omur Saygin',
- uk => 'Alexander Bruy',
- vi => 'Phan Anh, Bùi Hữu Mạnh',
- zh_CN => 'Calvin Ngei, Zhang Jun, Richard Xie',
- zh_TW => 'Nung-yao Lin',
+ 'sr' => 'Goran Ivanković',
+ 'sv' => 'Lars Luthman, Magnus Homann, Victor Axbom',
+ 'sw' => '',
+ 'ta' => '',
+ 'te' => '',
+ 'th' => 'Man Chao',
+ 'tl' => 'Kathrina Gregana',
+ 'tr' => 'Osman Yalçın YILMAZ, Omur Saygin',
+ 'uk' => 'Alexander Bruy',
+ 'vi' => 'Phan Anh, Bùi Hữu Mạnh',
+ 'zh_CN' => 'Calvin Ngei, Zhang Jun, Richard Xie',
+ 'zh-Hans' => 'Calvin Ngei, Lisashen',
+ 'zh_TW' => 'Nung-yao Lin',
};
my $maxn;
@@ -106,6 +107,14 @@ for my $i (<i18n/qgis_*.ts>) {
$charset = " (latin)";
$langcode = $1;
}
+ if( $langcode =~ /(.*)\-Hans/ ) {
+ $charset = " simplified";
+ $langcode = $1;
+ }
+ if( $langcode =~ /(.*)\-Hant/ ) {
+ $charset = " traditional";
+ $langcode = $1;
+ }
my $name;
if($langcode =~ /(.*)_(.*)/) {
my $lang = code2language(lc $1);
diff --git a/src/analysis/raster/qgsrastercalcnode.cpp b/src/analysis/raster/qgsrastercalcnode.cpp
index 7ae8920..c8fe9de 100644
--- a/src/analysis/raster/qgsrastercalcnode.cpp
+++ b/src/analysis/raster/qgsrastercalcnode.cpp
@@ -20,7 +20,7 @@ QgsRasterCalcNode::QgsRasterCalcNode()
, mLeft( 0 )
, mRight( 0 )
, mNumber( 0 )
- , mOperator( opPLUS ) //not used
+ , mOperator( opNONE )
{
}
@@ -29,7 +29,7 @@ QgsRasterCalcNode::QgsRasterCalcNode( double number )
, mLeft( 0 )
, mRight( 0 )
, mNumber( number )
- , mOperator( opPLUS ) //not used
+ , mOperator( opNONE )
{
}
@@ -48,8 +48,10 @@ QgsRasterCalcNode::QgsRasterCalcNode( const QString& rasterName )
, mRight( 0 )
, mNumber( 0 )
, mRasterName( rasterName )
- , mOperator( opPLUS ) //not used
+ , mOperator( opNONE )
{
+ if ( mRasterName.startsWith( '"' ) && mRasterName.endsWith( '"' ) )
+ mRasterName = mRasterName.mid( 1, mRasterName.size() - 2 );
}
QgsRasterCalcNode::~QgsRasterCalcNode()
diff --git a/src/analysis/raster/qgsrastercalcnode.h b/src/analysis/raster/qgsrastercalcnode.h
index 0bad294..7fc5e7f 100644
--- a/src/analysis/raster/qgsrastercalcnode.h
+++ b/src/analysis/raster/qgsrastercalcnode.h
@@ -57,7 +57,8 @@ class ANALYSIS_EXPORT QgsRasterCalcNode
opLE, // <=
opAND,
opOR,
- opSIGN //change sign
+ opSIGN, // change sign
+ opNONE,
};
QgsRasterCalcNode();
diff --git a/src/analysis/raster/qgsrastercalculator.cpp b/src/analysis/raster/qgsrastercalculator.cpp
index 22c195d..d719ce6 100644
--- a/src/analysis/raster/qgsrastercalculator.cpp
+++ b/src/analysis/raster/qgsrastercalculator.cpp
@@ -160,7 +160,6 @@ int QgsRasterCalculator::processCalculation( QProgressDialog* p )
QgsRasterMatrix resultMatrix;
//read / write line by line
- bool encounteredError = false;
for ( int i = 0; i < mNumOutputRows; ++i )
{
if ( p )
@@ -179,11 +178,11 @@ int QgsRasterCalculator::processCalculation( QProgressDialog* p )
{
double sourceTransformation[6];
GDALRasterBandH sourceRasterBand = mInputRasterBands[bufferIt.key()];
- if ( !GDALGetGeoTransform( GDALGetBandDataset( sourceRasterBand ), sourceTransformation ) )
+ if ( GDALGetGeoTransform( GDALGetBandDataset( sourceRasterBand ), sourceTransformation ) != CE_None )
{
- encounteredError = true;
- break;
+ qWarning( "GDALGetGeoTransform failed!" );
}
+
//the function readRasterPart calls GDALRasterIO (and ev. does some conversion if raster transformations are not the same)
readRasterPart( targetGeoTransform, 0, i, mNumOutputColumns, 1, sourceTransformation, sourceRasterBand, bufferIt.value()->data() );
}
@@ -249,11 +248,11 @@ int QgsRasterCalculator::processCalculation( QProgressDialog* p )
GDALClose( *datasetIt );
}
- if (( p && p->wasCanceled() ) || encounteredError )
+ if ( p && p->wasCanceled() )
{
//delete the dataset without closing (because it is faster)
GDALDeleteDataset( outputDriver, TO8F( mOutputFile ) );
- return encounteredError ? 1 : 3;
+ return 3;
}
GDALClose( outputDataset );
CPLFree( resultScanLine );
diff --git a/src/app/composer/qgscomposerattributetablewidget.cpp b/src/app/composer/qgscomposerattributetablewidget.cpp
index 83a783a..e6c02fe 100644
--- a/src/app/composer/qgscomposerattributetablewidget.cpp
+++ b/src/app/composer/qgscomposerattributetablewidget.cpp
@@ -28,8 +28,7 @@
#include "qgsexpressionbuilderdialog.h"
#include "qgsproject.h"
#include "qgsrelationmanager.h"
-#include <QColorDialog>
-#include <QFontDialog>
+#include "qgisgui.h"
QgsComposerAttributeTableWidget::QgsComposerAttributeTableWidget( QgsComposerAttributeTableV2* table, QgsComposerFrame* frame )
: QgsComposerItemBaseWidget( 0, table )
@@ -283,29 +282,20 @@ void QgsComposerAttributeTableWidget::on_mMarginSpinBox_valueChanged( double d )
void QgsComposerAttributeTableWidget::on_mHeaderFontPushButton_clicked()
{
if ( !mComposerTable )
- {
return;
- }
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->headerFont(), this, tr( "Select Font" ), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->headerFont(), this, tr( "Select Font" ) );
-#endif
- if ( ok )
+ QFont newFont = QgisGui::getFont( ok, mComposerTable->headerFont(), tr( "Select Font" ) );
+ if ( !ok )
{
- QgsComposition* composition = mComposerTable->composition();
+ QgsComposition *composition = mComposerTable->composition();
if ( composition )
- {
composition->beginMultiFrameCommand( mComposerTable, tr( "Table header font" ) );
- }
+
mComposerTable->setHeaderFont( newFont );
+
if ( composition )
- {
composition->endMultiFrameCommand();
- }
}
}
@@ -336,24 +326,17 @@ void QgsComposerAttributeTableWidget::on_mContentFontPushButton_clicked()
}
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->contentFont(), this, tr( "Select Font" ), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->contentFont(), this, tr( "Select Font" ) );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mComposerTable->contentFont(), tr( "Select Font" ) );
if ( ok )
{
QgsComposition* composition = mComposerTable->composition();
if ( composition )
- {
composition->beginMultiFrameCommand( mComposerTable, tr( "Table content font" ) );
- }
+
mComposerTable->setContentFont( newFont );
+
if ( composition )
- {
composition->endMultiFrameCommand();
- }
}
}
diff --git a/src/app/composer/qgscomposerlabelwidget.cpp b/src/app/composer/qgscomposerlabelwidget.cpp
index 48f7201..723dafb 100644
--- a/src/app/composer/qgscomposerlabelwidget.cpp
+++ b/src/app/composer/qgscomposerlabelwidget.cpp
@@ -91,12 +91,7 @@ void QgsComposerLabelWidget::on_mFontButton_clicked()
if ( mComposerLabel )
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mComposerLabel->font(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mComposerLabel->font(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mComposerLabel->font() );
if ( ok )
{
mComposerLabel->beginCommand( tr( "Label font changed" ) );
diff --git a/src/app/composer/qgscomposerlegendwidget.cpp b/src/app/composer/qgscomposerlegendwidget.cpp
index 38e9e46..6224ac5 100644
--- a/src/app/composer/qgscomposerlegendwidget.cpp
+++ b/src/app/composer/qgscomposerlegendwidget.cpp
@@ -23,9 +23,7 @@
#include "qgscomposeritemwidget.h"
#include "qgscomposermap.h"
#include "qgscomposition.h"
-#include <QFontDialog>
-#include <QColorDialog>
-#include <QInputDialog>
+#include "qgisgui.h"
#include "qgisapp.h"
#include "qgsapplication.h"
@@ -41,6 +39,7 @@
#include "qgsvectorlayer.h"
#include <QMessageBox>
+#include <QInputDialog>
@@ -369,12 +368,7 @@ void QgsComposerLegendWidget::on_mTitleFontButton_clicked()
if ( mLegend )
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Title ).font(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Title ).font(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mLegend->style( QgsComposerLegendStyle::Title ).font() );
if ( ok )
{
mLegend->beginCommand( tr( "Title font changed" ) );
@@ -391,12 +385,7 @@ void QgsComposerLegendWidget::on_mGroupFontButton_clicked()
if ( mLegend )
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Group ).font(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Group ).font(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mLegend->style( QgsComposerLegendStyle::Group ).font() );
if ( ok )
{
mLegend->beginCommand( tr( "Legend group font changed" ) );
@@ -413,12 +402,7 @@ void QgsComposerLegendWidget::on_mLayerFontButton_clicked()
if ( mLegend )
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Subgroup ).font(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::Subgroup ).font(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mLegend->style( QgsComposerLegendStyle::Subgroup ).font() );
if ( ok )
{
mLegend->beginCommand( tr( "Legend layer font changed" ) );
@@ -435,12 +419,7 @@ void QgsComposerLegendWidget::on_mItemFontButton_clicked()
if ( mLegend )
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::SymbolLabel ).font(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mLegend->style( QgsComposerLegendStyle::SymbolLabel ).font(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mLegend->style( QgsComposerLegendStyle::SymbolLabel ).font() );
if ( ok )
{
mLegend->beginCommand( tr( "Legend item font changed" ) );
diff --git a/src/app/composer/qgscomposermapwidget.cpp b/src/app/composer/qgscomposermapwidget.cpp
index 360e020..770e4bd 100644
--- a/src/app/composer/qgscomposermapwidget.cpp
+++ b/src/app/composer/qgscomposermapwidget.cpp
@@ -27,7 +27,6 @@
#include "qgsmaprenderer.h"
#include "qgsstylev2.h"
#include "qgssymbolv2.h"
-//#include "qgssymbolv2propertiesdialog.h"
#include "qgssymbolv2selectordialog.h"
#include "qgssymbollayerv2utils.h"
#include "qgsvectorlayer.h"
@@ -39,8 +38,8 @@
#include "qgsgenericprojectionselector.h"
#include "qgsproject.h"
#include "qgsvisibilitypresets.h"
-#include <QColorDialog>
-#include <QFontDialog>
+#include "qgisgui.h"
+
#include <QMessageBox>
QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap )
@@ -2086,12 +2085,7 @@ void QgsComposerMapWidget::on_mAnnotationFontButton_clicked()
}
bool ok;
-#if defined(Q_OS_MAC) && QT_VERSION >= 0x040500 && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, grid->annotationFont(), this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, grid->annotationFont(), this );
-#endif
+ QFont newFont = QgisGui::getFont( ok, grid->annotationFont() );
if ( ok )
{
mComposerMap->beginCommand( tr( "Annotation font changed" ) );
diff --git a/src/app/composer/qgscomposerscalebarwidget.cpp b/src/app/composer/qgscomposerscalebarwidget.cpp
index 8df40de..52879ec 100644
--- a/src/app/composer/qgscomposerscalebarwidget.cpp
+++ b/src/app/composer/qgscomposerscalebarwidget.cpp
@@ -310,13 +310,7 @@ void QgsComposerScaleBarWidget::on_mFontButton_clicked()
}
bool dialogAccepted;
- QFont oldFont = mComposerScaleBar->font();
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &dialogAccepted, oldFont, this, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &dialogAccepted, oldFont, this );
-#endif
+ QFont newFont = QgisGui::getFont( dialogAccepted, mComposerScaleBar->font() );
if ( dialogAccepted )
{
mComposerScaleBar->beginCommand( tr( "Scalebar font changed" ) );
diff --git a/src/app/composer/qgscomposertablewidget.cpp b/src/app/composer/qgscomposertablewidget.cpp
index 68e7683..bf736af 100644
--- a/src/app/composer/qgscomposertablewidget.cpp
+++ b/src/app/composer/qgscomposertablewidget.cpp
@@ -24,8 +24,7 @@
#include "qgsmaplayerregistry.h"
#include "qgsvectorlayer.h"
#include "qgsexpressionbuilderdialog.h"
-#include <QColorDialog>
-#include <QFontDialog>
+#include "qgisgui.h"
QgsComposerTableWidget::QgsComposerTableWidget( QgsComposerAttributeTable* table ): QgsComposerItemBaseWidget( 0, table ), mComposerTable( table )
{
@@ -215,12 +214,7 @@ void QgsComposerTableWidget::on_mHeaderFontPushButton_clicked()
}
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->headerFont(), this, tr( "Select Font" ), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->headerFont(), this, tr( "Select Font" ) );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mComposerTable->headerFont(), tr( "Select Font" ) );
if ( ok )
{
mComposerTable->beginCommand( tr( "Table header font" ) );
@@ -250,12 +244,7 @@ void QgsComposerTableWidget::on_mContentFontPushButton_clicked()
}
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->contentFont(), this, tr( "Select Font" ), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mComposerTable->contentFont(), this, tr( "Select Font" ) );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mComposerTable->contentFont(), tr( "Select Font" ) );
if ( ok )
{
mComposerTable->beginCommand( tr( "Table content font" ) );
diff --git a/src/app/gps/qgsgpsinformationwidget.cpp b/src/app/gps/qgsgpsinformationwidget.cpp
index ffdd20b..31abc34 100644
--- a/src/app/gps/qgsgpsinformationwidget.cpp
+++ b/src/app/gps/qgsgpsinformationwidget.cpp
@@ -136,28 +136,28 @@ QgsGPSInformationWidget::QgsGPSInformationWidget( QgsMapCanvas * thepCanvas, QWi
);
// grids, axes
- QwtPolarGrid * mypSatellitesGrid = new QwtPolarGrid();
- mypSatellitesGrid->setGridAttribute( QwtPolarGrid::AutoScaling, false ); // This fixes the issue of autoscaling on the Radius grid. It is ON by default AND is separate from the scaleData.doAutoScale in QwtPolarPlot::setScale(), etc. THIS IS VERY TRICKY!
- mypSatellitesGrid->setPen( QPen( Qt::black ) );
+ mpSatellitesGrid = new QwtPolarGrid();
+ mpSatellitesGrid->setGridAttribute( QwtPolarGrid::AutoScaling, false ); // This fixes the issue of autoscaling on the Radius grid. It is ON by default AND is separate from the scaleData.doAutoScale in QwtPolarPlot::setScale(), etc. THIS IS VERY TRICKY!
+ mpSatellitesGrid->setPen( QPen( Qt::black ) );
QPen minorPen( Qt::gray ); // moved outside of for loop; NOTE setting the minor pen isn't necessary if the minor grids aren't shown
for ( int scaleId = 0; scaleId < QwtPolar::ScaleCount; scaleId++ )
{
- //mypSatellitesGrid->showGrid( scaleId );
- //mypSatellitesGrid->showMinorGrid(scaleId);
- mypSatellitesGrid->setMinorGridPen( scaleId, minorPen );
+ //mpSatellitesGrid->showGrid( scaleId );
+ //mpSatellitesGrid->showMinorGrid(scaleId);
+ mpSatellitesGrid->setMinorGridPen( scaleId, minorPen );
}
-// mypSatellitesGrid->setAxisPen( QwtPolar::AxisAzimuth, QPen( Qt::black ) );
-
- mypSatellitesGrid->showAxis( QwtPolar::AxisAzimuth, true );
- mypSatellitesGrid->showAxis( QwtPolar::AxisLeft, false ); //alt axis
- mypSatellitesGrid->showAxis( QwtPolar::AxisRight, false );//alt axis
- mypSatellitesGrid->showAxis( QwtPolar::AxisTop, false );//alt axis
- mypSatellitesGrid->showAxis( QwtPolar::AxisBottom, false );//alt axis
- mypSatellitesGrid->showGrid( QwtPolar::ScaleAzimuth, false ); // hide the grid; just show ticks at edge
- mypSatellitesGrid->showGrid( QwtPolar::ScaleRadius, true );
-// mypSatellitesGrid->showMinorGrid( QwtPolar::ScaleAzimuth, true );
- mypSatellitesGrid->showMinorGrid( QwtPolar::ScaleRadius, true ); // for 22.5, 67.5 degree circles
- mypSatellitesGrid->attach( mpSatellitesWidget );
+// mpSatellitesGrid->setAxisPen( QwtPolar::AxisAzimuth, QPen( Qt::black ) );
+
+ mpSatellitesGrid->showAxis( QwtPolar::AxisAzimuth, true );
+ mpSatellitesGrid->showAxis( QwtPolar::AxisLeft, false ); //alt axis
+ mpSatellitesGrid->showAxis( QwtPolar::AxisRight, false );//alt axis
+ mpSatellitesGrid->showAxis( QwtPolar::AxisTop, false );//alt axis
+ mpSatellitesGrid->showAxis( QwtPolar::AxisBottom, false );//alt axis
+ mpSatellitesGrid->showGrid( QwtPolar::ScaleAzimuth, false ); // hide the grid; just show ticks at edge
+ mpSatellitesGrid->showGrid( QwtPolar::ScaleRadius, true );
+// mpSatellitesGrid->showMinorGrid( QwtPolar::ScaleAzimuth, true );
+ mpSatellitesGrid->showMinorGrid( QwtPolar::ScaleRadius, true ); // for 22.5, 67.5 degree circles
+ mpSatellitesGrid->attach( mpSatellitesWidget );
//QwtLegend *legend = new QwtLegend;
//mpSatellitesWidget->insertLegend(legend, QwtPolarPlot::BottomLegend);
@@ -253,8 +253,12 @@ QgsGPSInformationWidget::~QgsGPSInformationWidget()
disconnectGps();
}
- if ( mpMapMarker )
- delete mpMapMarker;
+ delete mpMapMarker;
+ delete mpRubberBand;
+
+#if (WITH_QWTPOLAR)
+ delete mpSatellitesGrid;
+#endif
QSettings mySettings;
mySettings.setValue( "/gps/lastPort", mCboDevices->itemData( mCboDevices->currentIndex() ).toString() );
@@ -303,10 +307,6 @@ QgsGPSInformationWidget::~QgsGPSInformationWidget()
mySettings.setValue( "/gps/panMode", "none" );
}
- if ( mpRubberBand )
- {
- delete mpRubberBand;
- }
}
void QgsGPSInformationWidget::on_mSpinTrackWidth_valueChanged( int theValue )
diff --git a/src/app/gps/qgsgpsinformationwidget.h b/src/app/gps/qgsgpsinformationwidget.h
index de2f67c..05605f0 100644
--- a/src/app/gps/qgsgpsinformationwidget.h
+++ b/src/app/gps/qgsgpsinformationwidget.h
@@ -25,6 +25,7 @@
#include <qwt_plot_curve.h>
#if (WITH_QWTPOLAR)
#include <qwt_polar_plot.h>
+#include <qwt_polar_grid.h>
#include <qwt_polar_marker.h>
#endif
@@ -89,6 +90,7 @@ class QgsGPSInformationWidget: public QWidget, private Ui::QgsGPSInformationWidg
QwtPlotCurve * mpCurve;
#if (WITH_QWTPOLAR)
QwtPolarPlot * mpSatellitesWidget;
+ QwtPolarGrid *mpSatellitesGrid;
QList< QwtPolarMarker * > mMarkerList;
#endif
void createRubberBand();
diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp
index a839704..062d7ba 100644
--- a/src/app/qgisapp.cpp
+++ b/src/app/qgisapp.cpp
@@ -3883,6 +3883,7 @@ void QgisApp::newMemoryLayer()
layers << newLayer;
QgsMapLayerRegistry::instance()->addMapLayers( layers );
+ newLayer->startEditing();
}
}
diff --git a/src/app/qgsbookmarks.cpp b/src/app/qgsbookmarks.cpp
index 54f4b84..cb076f0 100644
--- a/src/app/qgsbookmarks.cpp
+++ b/src/app/qgsbookmarks.cpp
@@ -265,7 +265,10 @@ void QgsBookmarks::zoomToBookmark()
void QgsBookmarks::importFromXML()
{
- QString fileName = QFileDialog::getOpenFileName( this, tr( "Import Bookmarks" ), ".",
+ QSettings settings;
+
+ QString lastUsedDir = settings.value( "/Bookmark/LastUsedDirectory", QVariant() ).toString();
+ QString fileName = QFileDialog::getOpenFileName( this, tr( "Import Bookmarks" ), lastUsedDir,
tr( "XML files (*.xml *XML)" ) );
if ( fileName.isEmpty() )
{
@@ -296,21 +299,21 @@ void QgsBookmarks::importFromXML()
for ( int i = 0;i < nodeList.count(); i++ )
{
QDomNode bookmark = nodeList.at( i );
- QDomElement name = bookmark.firstChildElement( "Name" );
- QDomElement prjname = bookmark.firstChildElement( "Project" );
- QDomElement xmin = bookmark.firstChildElement( "xMin" );
- QDomElement xmax = bookmark.firstChildElement( "xMax" );
- QDomElement ymin = bookmark.firstChildElement( "yMin" );
- QDomElement ymax = bookmark.firstChildElement( "yMax" );
- QDomElement srid = bookmark.firstChildElement( "SRID" );
+ QDomElement name = bookmark.firstChildElement( "name" );
+ QDomElement prjname = bookmark.firstChildElement( "project" );
+ QDomElement xmin = bookmark.firstChildElement( "xmin" );
+ QDomElement xmax = bookmark.firstChildElement( "xmax" );
+ QDomElement ymin = bookmark.firstChildElement( "ymin" );
+ QDomElement ymax = bookmark.firstChildElement( "ymax" );
+ QDomElement srid = bookmark.firstChildElement( "sr_id" );
queries += "INSERT INTO tbl_bookmarks(bookmark_id,name,project_name,xmin,ymin,xmax,ymax,projection_srid)"
" VALUES (NULL,"
"'" + name.text() + "',"
"'" + prjname.text() + "',"
+ xmin.text() + ","
- + xmax.text() + ","
+ ymin.text() + ","
+ + xmax.text() + ","
+ ymax.text() + ","
+ srid.text() + ");";
}
@@ -338,7 +341,10 @@ void QgsBookmarks::importFromXML()
void QgsBookmarks::exportToXML()
{
- QString fileName = QFileDialog::getSaveFileName( this, tr( "Export bookmarks" ), ".",
+ QSettings settings;
+
+ QString lastUsedDir = settings.value( "/Bookmark/LastUsedDirectory", QVariant() ).toString();
+ QString fileName = QFileDialog::getSaveFileName( this, tr( "Export bookmarks" ), lastUsedDir,
tr( "XML files( *.xml *.XML )" ) );
if ( fileName.isEmpty() )
{
@@ -358,6 +364,10 @@ void QgsBookmarks::exportToXML()
int rowCount = lstBookmarks->model()->rowCount();
int colCount = lstBookmarks->model()->columnCount();
+ QList<QString> headerList;
+ headerList << "id" << "name" << "project" << "xmin"
+ << "ymin" << "xmax" << "ymax" << "sr_id";
+
for ( int i = 0; i < rowCount; ++i )
{
QDomElement bookmark = doc.createElement( "bookmark" );
@@ -369,8 +379,8 @@ void QgsBookmarks::exportToXML()
{
QString value = idx.data( Qt::DisplayRole ).toString();
QDomText idText = doc.createTextNode( value );
- QVariant header = lstBookmarks->model()->headerData( j, Qt::Horizontal );
- QDomElement id = doc.createElement( header.toString() );
+ QString header = headerList.at( j );
+ QDomElement id = doc.createElement( header );
id.appendChild( idText );
bookmark.appendChild( id );
}
@@ -388,4 +398,6 @@ void QgsBookmarks::exportToXML()
out.setCodec( "UTF - 8" );
doc.save( out, 2 );
f.close();
+
+ settings.setValue( "/Bookmark/LastUsedDirectory", QFileInfo( fileName ).path() );
}
diff --git a/src/app/qgsdecorationgriddialog.cpp b/src/app/qgsdecorationgriddialog.cpp
index 0ee68b0..3d92375 100644
--- a/src/app/qgsdecorationgriddialog.cpp
+++ b/src/app/qgsdecorationgriddialog.cpp
@@ -25,9 +25,8 @@
#include "qgssymbolv2.h"
#include "qgssymbolv2selectordialog.h"
#include "qgisapp.h"
+#include "qgisgui.h"
-#include <QFontDialog>
-#include <QColorDialog>
#include <QSettings>
QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid& deco, QWidget* parent )
@@ -275,12 +274,7 @@ void QgsDecorationGridDialog::on_mPbtnUpdateFromLayer_clicked()
void QgsDecorationGridDialog::on_mAnnotationFontButton_clicked()
{
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- QFont newFont = QFontDialog::getFont( &ok, mDeco.gridAnnotationFont(), 0, QString(), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mDeco.gridAnnotationFont() );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mDeco.gridAnnotationFont() );
if ( ok )
{
mDeco.setGridAnnotationFont( newFont );
diff --git a/src/app/qgsdiagramproperties.cpp b/src/app/qgsdiagramproperties.cpp
index 2e651e7..7add3a7 100644
--- a/src/app/qgsdiagramproperties.cpp
+++ b/src/app/qgsdiagramproperties.cpp
@@ -30,9 +30,8 @@
#include "qgsvectordataprovider.h"
#include "qgsfeatureiterator.h"
#include "qgscolordialog.h"
+#include "qgisgui.h"
-#include <QColorDialog>
-#include <QFontDialog>
#include <QList>
#include <QMessageBox>
#include <QSettings>
@@ -494,7 +493,7 @@ void QgsDiagramProperties::on_mDisplayDiagramsGroupBox_toggled( bool checked )
void QgsDiagramProperties::on_mDiagramFontButton_clicked()
{
bool ok;
- mDiagramFont = QFontDialog::getFont( &ok, mDiagramFont );
+ mDiagramFont = QgisGui::getFont( ok, mDiagramFont );
}
diff --git a/src/app/qgsfeatureaction.cpp b/src/app/qgsfeatureaction.cpp
index aa5a375..261f899 100644
--- a/src/app/qgsfeatureaction.cpp
+++ b/src/app/qgsfeatureaction.cpp
@@ -163,8 +163,10 @@ bool QgsFeatureAction::addFeature( const QgsAttributeMap& defaultAttributes, boo
mFeature.setAttribute( idx, v );
}
- // show the dialog to enter attribute values
- bool isDisabledAttributeValuesDlg = settings.value( "/qgis/digitizing/disable_enter_attribute_values_dialog", false ).toBool();
+ //show the dialog to enter attribute values
+ //only show if enabled in settings and layer has fields
+ bool isDisabledAttributeValuesDlg = ( fields.count() == 0 ) || settings.value( "/qgis/digitizing/disable_enter_attribute_values_dialog", false ).toBool();
+
// override application-wide setting with any layer setting
switch ( mLayer->featureFormSuppress() )
{
diff --git a/src/app/qgslabeldialog.cpp b/src/app/qgslabeldialog.cpp
index f5a49cb..5478b9c 100644
--- a/src/app/qgslabeldialog.cpp
+++ b/src/app/qgslabeldialog.cpp
@@ -21,9 +21,9 @@
#include "qgslabel.h"
#include "qgslabelattributes.h"
#include "qgslogger.h"
+#include "qgisgui.h"
#include <QColorDialog>
-#include <QFontDialog>
#include <QTabWidget>
#include <QDoubleValidator>
@@ -277,12 +277,7 @@ void QgsLabelDialog::changeFont( void )
qreal fontSize = mFont.pointSizeF();
bool resultFlag;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for Qt Carbon
- mFont = QFontDialog::getFont( &resultFlag, mFont, 0, QString(), QFontDialog::DontUseNativeDialog );
-#else
- mFont = QFontDialog::getFont( &resultFlag, mFont );
-#endif
+ QFont newFont = QgisGui::getFont( resultFlag, mFont );
if ( !resultFlag )
return;
diff --git a/src/app/qgslabelinggui.cpp b/src/app/qgslabelinggui.cpp
index fa49683..8d54d42 100644
--- a/src/app/qgslabelinggui.cpp
+++ b/src/app/qgslabelinggui.cpp
@@ -36,12 +36,6 @@
#include "qgssvgselectorwidget.h"
#include <QCheckBox>
-#include <QColorDialog>
-#include <QFileDialog>
-#include <QFontDialog>
-#include <QTextEdit>
-#include <QApplication>
-#include <QMessageBox>
#include <QSettings>
diff --git a/src/app/qgsmeasuredialog.cpp b/src/app/qgsmeasuredialog.cpp
index 1638c7b..c4267bc 100644
--- a/src/app/qgsmeasuredialog.cpp
+++ b/src/app/qgsmeasuredialog.cpp
@@ -43,14 +43,14 @@ QgsMeasureDialog::QgsMeasureDialog( QgsMeasureTool* tool, Qt::WindowFlags f )
mMeasureArea = tool->measureArea();
mTotal = 0.;
- mUnitsCombo->addItem( tr( "Meters" ) );
- mUnitsCombo->addItem( tr( "Feet" ) );
- mUnitsCombo->addItem( tr( "Degrees" ) );
- mUnitsCombo->addItem( tr( "Nautical Miles" ) );
+ mUnitsCombo->addItem( QGis::tr( QGis::Meters ) );
+ mUnitsCombo->addItem( QGis::tr( QGis::Feet ) );
+ mUnitsCombo->addItem( QGis::tr( QGis::Degrees ) );
+ mUnitsCombo->addItem( QGis::tr( QGis::NauticalMiles ) );
QSettings settings;
- QString units = settings.value( "/qgis/measure/displayunits", "meters" ).toString();
- mUnitsCombo->setCurrentIndex( mUnitsCombo->findText( units, Qt::MatchFixedString ) );
+ QString units = settings.value( "/qgis/measure/displayunits", QGis::toLiteral( QGis::Meters ) ).toString();
+ mUnitsCombo->setCurrentIndex( mUnitsCombo->findText( QGis::tr( QGis::fromLiteral( units ) ), Qt::MatchFixedString ) );
updateSettings();
@@ -66,7 +66,7 @@ void QgsMeasureDialog::updateSettings()
mDecimalPlaces = settings.value( "/qgis/measure/decimalplaces", "3" ).toInt();
mCanvasUnits = mTool->canvas()->mapUnits();
// Configure QgsDistanceArea
- mDisplayUnits = QGis::fromLiteral( mUnitsCombo->currentText().toLower() );
+ mDisplayUnits = QGis::fromTr( mUnitsCombo->currentText() );
mDa.setSourceCrs( mTool->canvas()->mapSettings().destinationCrs().srsid() );
mDa.setEllipsoid( QgsProject::instance()->readEntry( "Measure", "/Ellipsoid", GEO_NONE ) );
// Only use ellipsoidal calculation when project wide transformation is enabled.
@@ -92,7 +92,7 @@ void QgsMeasureDialog::updateSettings()
void QgsMeasureDialog::unitsChanged( const QString &units )
{
- mDisplayUnits = QGis::fromLiteral( units.toLower() );
+ mDisplayUnits = QGis::fromTr( units );
mTable->clear();
mTotal = 0.;
updateUi();
@@ -350,4 +350,3 @@ void QgsMeasureDialog::convertMeasurement( double &measure, QGis::UnitType &u, b
mDa.convertMeasurement( measure, myUnits, mDisplayUnits, isArea );
u = myUnits;
}
-
diff --git a/src/app/qgsrastercalcdialog.cpp b/src/app/qgsrastercalcdialog.cpp
index ffcd63b..8eee6a5 100644
--- a/src/app/qgsrastercalcdialog.cpp
+++ b/src/app/qgsrastercalcdialog.cpp
@@ -296,15 +296,12 @@ bool QgsRasterCalcDialog::expressionValid() const
bool QgsRasterCalcDialog::filePathValid() const
{
- QString outputPath = QFileInfo( mOutputLayerLineEdit->text() ).absolutePath();
- if ( QFileInfo( outputPath ).isWritable() )
- {
- return true;
- }
- else
- {
+ QString outputPath = mOutputLayerLineEdit->text();
+ if ( outputPath.isEmpty() )
return false;
- }
+
+ outputPath = QFileInfo( outputPath ).absolutePath();
+ return QFileInfo( outputPath ).isWritable();
}
void QgsRasterCalcDialog::on_mRasterBandsListWidget_itemDoubleClicked( QListWidgetItem* item )
diff --git a/src/core/qgis.cpp b/src/core/qgis.cpp
index 44ac527..0b10f41 100644
--- a/src/core/qgis.cpp
+++ b/src/core/qgis.cpp
@@ -120,6 +120,18 @@ QString QGis::tr( QGis::UnitType unit )
return QCoreApplication::translate( "QGis::UnitType", qPrintable( toLiteral( unit ) ) );
}
+QGis::UnitType QGis::fromTr( QString literal, QGis::UnitType defaultType )
+{
+ for ( unsigned int i = 0; i < ( sizeof( qgisUnitTypes ) / sizeof( qgisUnitTypes[0] ) ); i++ )
+ {
+ if ( literal == QGis::tr( static_cast<UnitType>( i ) ) )
+ {
+ return static_cast<UnitType>( i );
+ }
+ }
+ return defaultType;
+}
+
double QGis::fromUnitToUnitFactor( QGis::UnitType fromUnit, QGis::UnitType toUnit )
{
#define DEGREE_TO_METER 111319.49079327358
diff --git a/src/core/qgis.h b/src/core/qgis.h
index cc5a9b7..eac17a2 100644
--- a/src/core/qgis.h
+++ b/src/core/qgis.h
@@ -246,6 +246,8 @@ class CORE_EXPORT QGis
static UnitType fromLiteral( QString literal, QGis::UnitType defaultType = UnknownUnit );
//! Provides translated version of the type value
static QString tr( QGis::UnitType unit );
+ //! Provides type value from translated version
+ static UnitType fromTr( QString literal, QGis::UnitType defaultType = UnknownUnit );
//! Returns the conversion factor between the specified units
static double fromUnitToUnitFactor( QGis::UnitType fromUnit, QGis::UnitType toUnit );
diff --git a/src/core/qgsdistancearea.cpp b/src/core/qgsdistancearea.cpp
index 30a4d23..87f27da 100644
--- a/src/core/qgsdistancearea.cpp
+++ b/src/core/qgsdistancearea.cpp
@@ -1026,8 +1026,7 @@ QString QgsDistanceArea::textUnit( double value, int decimals, QGis::UnitType u,
//intentional fall-through
default:
QgsDebugMsg( QString( "Error: not picked up map units - actual value = %1" ).arg( u ) );
- };
-
+ }
return QLocale::system().toString( value, 'f', decimals ) + unitLabel;
}
diff --git a/src/core/qgsgeometry.cpp b/src/core/qgsgeometry.cpp
index 3e13dbf..81753c4 100644
--- a/src/core/qgsgeometry.cpp
+++ b/src/core/qgsgeometry.cpp
@@ -679,7 +679,7 @@ QGis::GeometryType QgsGeometry::type() const
}
}
-bool QgsGeometry::isMultipart()
+bool QgsGeometry::isMultipart() const
{
if ( mDirtyWkb )
exportGeosToWkb();
diff --git a/src/core/qgsgeometry.h b/src/core/qgsgeometry.h
index 3a8e5af..46f4a7f 100644
--- a/src/core/qgsgeometry.h
+++ b/src/core/qgsgeometry.h
@@ -155,7 +155,7 @@ class CORE_EXPORT QgsGeometry
QGis::GeometryType type() const;
/** Returns true if wkb of the geometry is of WKBMulti* type */
- bool isMultipart();
+ bool isMultipart() const;
/** compare geometries using GEOS */
bool isGeosEqual( QgsGeometry & );
diff --git a/src/core/qgssnappingutils.cpp b/src/core/qgssnappingutils.cpp
index cbb0dcd..9f96f5f 100644
--- a/src/core/qgssnappingutils.cpp
+++ b/src/core/qgssnappingutils.cpp
@@ -206,7 +206,8 @@ QgsPointLocator::Match QgsSnappingUtils::snapToMap( const QPoint& point, QgsPoin
QgsPointLocator::Match QgsSnappingUtils::snapToMap( const QgsPoint& pointMap, QgsPointLocator::MatchFilter* filter )
{
- Q_ASSERT( mMapSettings.hasValidSettings() );
+ if ( !mMapSettings.hasValidSettings() )
+ return QgsPointLocator::Match();
if ( mSnapToMapMode == SnapCurrentLayer )
{
diff --git a/src/core/qgsvectorlayer.cpp b/src/core/qgsvectorlayer.cpp
index ee84444..15137d6 100644
--- a/src/core/qgsvectorlayer.cpp
+++ b/src/core/qgsvectorlayer.cpp
@@ -1758,7 +1758,7 @@ QgsAttributeEditorElement* QgsVectorLayer::attributeEditorElementFromDomElement(
for ( int i = 0; i < childNodeList.size(); i++ )
{
QDomElement childElem = childNodeList.at( i ).toElement();
- QgsAttributeEditorElement* myElem = attributeEditorElementFromDomElement( childElem, container );
+ QgsAttributeEditorElement *myElem = attributeEditorElementFromDomElement( childElem, container );
if ( myElem )
container->addChildElement( myElem );
}
@@ -1768,7 +1768,7 @@ QgsAttributeEditorElement* QgsVectorLayer::attributeEditorElementFromDomElement(
else if ( elem.tagName() == "attributeEditorField" )
{
QString name = elem.attribute( "name" );
- int idx = *( dataProvider()->fieldNameMap() ).find( name );
+ int idx = fieldNameIndex( name );
newElement = new QgsAttributeEditorField( name, idx, parent );
}
else if ( elem.tagName() == "attributeEditorRelation" )
diff --git a/src/gui/qgisgui.cpp b/src/gui/qgisgui.cpp
index 16cbdfb..0c4fe6b 100644
--- a/src/gui/qgisgui.cpp
+++ b/src/gui/qgisgui.cpp
@@ -15,11 +15,11 @@
#include "qgisgui.h"
#include <QSettings>
-#include <QObject> //for tr
#include <QImageWriter>
#include "qgsencodingfiledialog.h"
#include "qgslogger.h"
-#include <memory> //for auto_ptr
+
+#include <QFontDialog>
namespace QgisGui
@@ -188,4 +188,17 @@ namespace QgisGui
return createFileFilter_( longName, glob );
}
+ QFont getFont( bool &ok, const QFont &initial, const QString &title )
+ {
+ // parent is intentionally not set to 'this' as
+ // that would make it follow the style sheet font
+ // see also #12233 and #4937
+#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
+ // Native Mac dialog works only for Qt Carbon
+ return QFontDialog::getFont( &ok, initial, 0, title, QFontDialog::DontUseNativeDialog );
+#else
+ return QFontDialog::getFont( &ok, initial, 0, title );
+#endif
+ }
+
} // end of QgisGui namespace
diff --git a/src/gui/qgisgui.h b/src/gui/qgisgui.h
index db6d7e6..14597f3 100644
--- a/src/gui/qgisgui.h
+++ b/src/gui/qgisgui.h
@@ -19,6 +19,8 @@
#include <QPair>
#include <QStringList>
+class QFont;
+
/** \ingroup gui
* /namespace QgisGui
* The QgisGui namespace contains constants and helper functions used throughout the QGIS GUI.
@@ -100,6 +102,14 @@ namespace QgisGui
*/
QString GUI_EXPORT createFileFilter_( QString const &format );
+ /**
+ * Show font selection dialog
+ * @param ok true on ok, false on cancel
+ * @param initial initial font
+ * @param title optional dialog title
+ * @return QFont the selected fon
+ */
+ QFont GUI_EXPORT getFont( bool &ok, const QFont &initial, const QString &title = QString() );
}
#endif
diff --git a/src/gui/qgsattributeform.cpp b/src/gui/qgsattributeform.cpp
index 9c938f0..d91f03e 100644
--- a/src/gui/qgsattributeform.cpp
+++ b/src/gui/qgsattributeform.cpp
@@ -571,7 +571,7 @@ QWidget* QgsAttributeForm::createWidgetFromDef( const QgsAttributeEditorElement
if ( !fieldDef )
break;
- int fldIdx = fieldDef->idx();
+ int fldIdx = vl->fieldNameIndex( fieldDef->name() );
if ( fldIdx < vl->pendingFields().count() && fldIdx >= 0 )
{
const QString widgetType = mLayer->editorWidgetV2( fldIdx );
diff --git a/src/gui/qgsmaptoolzoom.cpp b/src/gui/qgsmaptoolzoom.cpp
index bc47967..49df93d 100644
--- a/src/gui/qgsmaptoolzoom.cpp
+++ b/src/gui/qgsmaptoolzoom.cpp
@@ -109,12 +109,13 @@ void QgsMapToolZoom::canvasReleaseEvent( QMouseEvent * e )
const QSize& canvasSize = mapSettings.outputSize();
double sfx = ( double )zoomRectSize.width() / canvasSize.width();
double sfy = ( double )zoomRectSize.height() / canvasSize.height();
+ double sf = qMax( sfx, sfy );
const QgsMapToPixel* m2p = mCanvas->getCoordinateTransform();
QgsPoint c = m2p->toMapCoordinates( mZoomRect.center() );
mCanvas->setCenter( c );
- mCanvas->zoomByFactor( std::max( sfx, sfy ) );
+ mCanvas->zoomByFactor( mZoomOut ? 1.0 / sf : sf );
mCanvas->refresh();
}
diff --git a/src/gui/symbology-ng/qgspointdisplacementrendererwidget.cpp b/src/gui/symbology-ng/qgspointdisplacementrendererwidget.cpp
index bcdba1b..448e8b7 100644
--- a/src/gui/symbology-ng/qgspointdisplacementrendererwidget.cpp
+++ b/src/gui/symbology-ng/qgspointdisplacementrendererwidget.cpp
@@ -23,8 +23,7 @@
#include "qgssymbolv2selectordialog.h"
#include "qgssymbollayerv2utils.h"
#include "qgsvectorlayer.h"
-#include <QColorDialog>
-#include <QFontDialog>
+#include "qgisgui.h"
QgsRendererV2Widget* QgsPointDisplacementRendererWidget::create( QgsVectorLayer* layer, QgsStyleV2* style, QgsFeatureRendererV2* renderer )
{
@@ -215,12 +214,7 @@ void QgsPointDisplacementRendererWidget::on_mLabelFontButton_clicked()
}
bool ok;
-#if defined(Q_OS_MAC) && defined(QT_MAC_USE_COCOA)
- // Native Mac dialog works only for QT Carbon
- QFont newFont = QFontDialog::getFont( &ok, mRenderer->labelFont(), 0, tr( "Label Font" ), QFontDialog::DontUseNativeDialog );
-#else
- QFont newFont = QFontDialog::getFont( &ok, mRenderer->labelFont(), 0, tr( "Label Font" ) );
-#endif
+ QFont newFont = QgisGui::getFont( ok, mRenderer->labelFont(), tr( "Label Font" ) );
if ( ok )
{
mRenderer->setLabelFont( newFont );
diff --git a/src/providers/oracle/qgsoracleprovider.cpp b/src/providers/oracle/qgsoracleprovider.cpp
index 6d716b1..7ae2351 100644
--- a/src/providers/oracle/qgsoracleprovider.cpp
+++ b/src/providers/oracle/qgsoracleprovider.cpp
@@ -694,9 +694,10 @@ bool QgsOracleProvider::loadFields()
if ( !mHasSpatialIndex )
{
- mHasSpatialIndex = qry.exec( QString( "SELECT %2 FROM %1 WHERE sdo_filter(%2,mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,3),mdsys.sdo_ordinate_array(1,1,-1,-1)))='TRUE'" )
+ mHasSpatialIndex = qry.exec( QString( "SELECT %2 FROM %1 WHERE sdo_filter(%2,mdsys.sdo_geometry(2003,%3,NULL,mdsys.sdo_elem_info_array(1,1003,3),mdsys.sdo_ordinate_array(1,1,-1,-1)))='TRUE'" )
.arg( mQuery )
- .arg( quotedIdentifier( mGeometryColumn ) ) );
+ .arg( quotedIdentifier( mGeometryColumn ) )
+ .arg( mSrid < 1 ? "NULL" : QString::number( mSrid ) ) );
if ( !mHasSpatialIndex )
{
QgsMessageLog::logMessage( tr( "No spatial index on column %1.%2.%3 found - expect poor performance." )
diff --git a/src/providers/wms/qgswmsprovider.cpp b/src/providers/wms/qgswmsprovider.cpp
index 4721501..580c2da 100644
--- a/src/providers/wms/qgswmsprovider.cpp
+++ b/src/providers/wms/qgswmsprovider.cpp
@@ -559,7 +559,7 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, in
//t.start();
}
- else if ( mSettings.mMaxWidth != 0 && mSettings.mMaxHeight != 0 )
+ else
{
mTileReqNo++;
@@ -598,7 +598,7 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, in
tileMode = mTileLayer->tileMode;
}
- else
+ else if ( mSettings.mMaxWidth != 0 && mSettings.mMaxHeight != 0 )
{
static QgsWmtsTileMatrix tempTm;
tempTm.topLeft = QgsPoint( mLayerExtent.xMinimum(), mLayerExtent.yMaximum() );
@@ -610,6 +610,11 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, in
tileMode = WMSC;
}
+ else
+ {
+ QgsDebugMsg( "empty tile size" );
+ return mCachedImage;
+ }
QgsDebugMsg( QString( "layer extent: %1,%2 %3x%4" )
.arg( qgsDoubleToString( mLayerExtent.xMinimum() ) )
@@ -831,10 +836,6 @@ QImage *QgsWmsProvider::draw( QgsRectangle const &viewExtent, int pixelWidth, in
);
#endif
}
- else
- {
- QgsDebugMsg( "empty tile size" );
- }
return mCachedImage;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git
More information about the Pkg-grass-devel
mailing list